Добавил:
МТУСИ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
21.04.2026
Размер:
922.83 Кб
Скачать

Рисунок 1 – Беспаячная макетная плата

Рисунок 2 – Соединение контактов на макетной плате (расположение узлов)

Зачем нужна макетная плата? Чтобы собирать на ней различные цепи, не прибегая при этом к помощи паяльника. Цепи, собираемые на этой плате, можно постоянно разбирать и собирать заново, модифицировать, а также добавлять компоненты.

Обратим внимание на соединение контактов (отверстий) в макетной плате. Отверстия объединяются в узлы: в центральной части один столбик из пяти таких контактов объединяется в один узел.

Полоски из контактов (шины) рядом с красными и синими линиями (питания и земли соответственно) также соединены. То есть мы можем пустить провод с питанием на одну такую шину и запитать все соединенные контакты сразу.

2

Принципиальная схема

Рисунок 3 – Принципиальная схема подключения светодиода

На рисунке 2 изображено стандартное последовательное подключение. Последовательное подключение, это подключение ножек разных устройств в один столбик контактов на макетной плате, т.е в один узел.

Схема подключения

Рисунок 4 – Схема подключения светодиода к плате Arduino UNO

Не забудьте, как соединены рельсы в беспаечной макетной плате. Если на вашей макетке красная и синяя линии вдоль длинных рельс прерываются в середине, значит проводник внутри макетки тоже прерывается!

Катод («минус») светодиода — короткая ножка, именно её нужно соединять с землёй (GND).

Не пренебрегайте резистором, иначе светодиод выйдет из строя. Лучше использовать резистор на 220Ом. При этом номинале свечение будет достаточно ярким.

Плата Arduino имеет три пина GND, используйте любой из них.

3

Чтобы подключить несколько светодиодов, мы просто дублируем цепь на макетной плате. Каждый новый резистор подключается к новому сигналу, только GND подсоединяется к общей шине земли.

Программирование

Рисунок 5 – Программа для включения/выключения светодиода

Ключевые моменты:

pinMode(LED, OUTPUT);

pinMode – это функция для настройки режимов портов.

Упортов есть 3 режима:

INPUT – настройка порта на прием сигнала/вход

OUTPUT – настройка порта на выдачу сигнала/выход

INPUT_PULLUP

Синтаксис: pinMode(<Имя или номер порта>,<Режим настройки>);

Таким образом в нашей программе мы 8-му порту, который мы назвали LED настроили режим на выдачу сигнала: на зажигание или затухание светодиода.

4

digitalWrite(LED, HIGH);

digitalWrite – это функция подачи цифрового сигнала

Синтаксис: digitalWrite (<Имя или номер порта>,<Режим подачи>);

Уэтой функции есть 2 режима настройки:

HIGH – 1, true, 5 В

LOW - 0, false, 0 B

Чтобы заставить что-то работать, нужно подать питание. То есть чтобы зажечь светодиод, нам нужно подать на выход, к которому он подключён, сигнал HIGH или 5B. Соответственно, чтобы светодиод перестал гореть, питание нужно снять, т.е. подать сигнал LOW

Delay (миллисек.) –функция задержки сигнала.

Итак, подключаем светодиод к 8му пину. В функции setup() задаём для светодиода параметр выхода. Поскольку со светодиода мы не можем ничего считать, а можем только вывести, то параметр OUTPUT.

В функции loop() с помощью digitalWrite(LED, HIGH) – подаём сигнал и включаем светодиод. Ждём полсекунды с помощью delay(500).

С помощью digitalWrite(LED, LOW) – подаём сигнал и выключаем светодиод. Ждём полсекунды с помощью delay(500).

Возможно ли получить промежуточное значение с помощью Arduino?

Спомощью широтно-импульсной модуляции, реализованной на некоторых портах микросхемы, это возможно. Так, Arduino Uno поддерживает ШИМ на следующих своих портах: 3,5,6, 9, 10 и 11.

Спомощью PWM (ШИМ) позволяет создать сигнал, который имеет определенное напряжение и продолжительность. В зависимости от временного промежутка между импульсами на выходе выдается нужное значение - параметр скважности импульса.

Микроконтроллер Arduino поддерживает восьмибитную ШИМ, что позволяет выбрать переменную в широком диапазоне значений от 0 до 256.

В качестве примера использования ШИМ можно использовать плавное включение и выключение светодиода, подключенному к пину c ШИМ. При этом

5

постепенно подается напряжение от 0 до 5В. Как видно на картинке ниже, при разном значении переменной мы получаем разное напряжение для светодиода:

5V, 2.5V, 1,25V, 3.75V.

Так же с помощью пьезоизлучателя и ШИМ можно воспроизводить звуки.

Как это сделать? В функцию analogWrite() передаются значения от 0 (0 вольт) до 255 (5 вольт). В частности, значение 191 соответствует 3.75В.

На плате Arduino есть некоторые контакты, которые способны это сделать. Это контакты 3, 5, 6, 9, 10, 11, которые обозначены значком «~».

C помощью функции analogWrite() можно уменьшить напряжение и тем самым снизить ток, а следовательно и яркость свечения.

Рисунок 6 – Скважность сигнала при разных значениях функции analogWrite

6

Плавное изменение яркости светодиода.

Схема подключения светодиода представлена на рисунке 3.

Ранее мы с помощью цифровых пинов просто включали и выключали светодиод. То есть подавали напряжение 5В и 0В. Теперь же подключим светодиод к цифровому пину с поддержкой ШИМ-сигнала, чтобы выдавать напряжение не только 0 и 5, а ещё и промежуточное.

Рисунок 7 – Программа для изменения яркости светодиода

Функция analogWrite() имеет два аргумента: номер контакта и 8-разрядное значение от 0 до 255, которое устанавливается на этом контакте.

Что будет происходить со светодиодом при выполнении программы? Вы будете наблюдать, как свечение светодиода изменяется от тусклого к яркому в одном цикле for, а затем от яркого к тусклому в другом цикле for.

Обязательно обратите внимание на различие двух циклов for. В первом цикле выражение i++ является сокращением кода i=i+1. Аналогично, запись i-- эквивалентна коду i=i-1. Первый цикл плавно зажигает светодиод до его максимальной яркости, второй - постепенно гасит его.

7

Соседние файлы в папке Практическая работа 1