Arduino — мигание светодиодом

Содержание:

На сегодняшний день аппаратная платформа управления периферическими приспособлениями на основе Ардуино приобрела чрезвычайно обширное распространение. Благодаря исключительной простоте управления и достаточно широким функциональным возможностям, подобные устройства активно применяются в самых разнообразных проектах, от управления моторчиками до систем «умный дом».

Ардуино что это?

Микропроцессор ардуиноНепосредственно сам модуль Ардуино представляет собой микропроцессор семейства Atmel AVR ATmega с набором портов способных принимать и транслировать информацию. Управление устройством совершается специальной программой-скетчем написанной на модифицированном С/С++. Язык программирования весьма лёгкий даже для абсолютных «чайников».

Программы пишутся в специальной оболочке:

Оболочка ардуино

Verify/Compile – проверяем валидность кода;

Upload to I/O Board загружаем программу в Ардуино.

Загрузка исполняемого скетча

Если вы загружаете данные впервые, потребуется настроить параметры загрузки: Tools > Board и Tools > Serial Port. Порт подключения можно уточнить в диспетчере устройств (Панель управления > Диспетчер устройств> Порты (COM, LPT). В настройках требуется указать тип платы Ардуино в выпадающем списке. После чего записывает в память устройства загрузчик (Bootloader).

Управление светодиодами

Управление светодиодами на ардуино позволяет реализовать самые разнообразные схемы: включение/отключение по нажатию кнопки, мигание, плавное включение/отключение.

Для работы со светодиодом нам потребуется простейшая программа для управления портами. Для ее написания используем лишь несколько базовых команд:

pinMode (порт, режим) – команда устанавливает режим работы вывода (порта) на плате. Порт – номер вывода, режим – OUTPUT (режим передачи) и INPUT (режим приёма информации).

digitalWrite (порт, значение) – команда объявления состояния порта. Порт – номер вывода, режим – HIGH (включён), LOW (выключен).

Delay (интервал) – задержка между выполнением команд. Интервал – количество миллисекунд.

Сам скетч представляет собой две функциональные части. Объявление переменных находится в модуле void setup () {…}, исполняемый код void loop () {…}.

Наглядно все можно увидеть на видео:

Мигаем светодиодом арудино

Мигаем светодиодом с частотой 1 секундаКод скетча для мигания светодиода (скетч для ардуино мигание светодиодом находится во встроенном скетче “blink”).

Мигаем с частотой 1 секунда.

Скетч мигание светодиодом на ардуино:

void setup () {
pinMode (9, OUTPUT); // устанавливаем вывод 9 в режим передачи
}
void loop() {
digitalWrite (9, HIGH); // подаём сигнал на порт 9 +5В
delay(1000); // ждем секунду
digitalWrite (9, LOW); // отключаем порт 9
delay(1000); // ждем секунду
}

Как подключить светодиод к ардуино

Подключение к ардуино желательно делать через резистор. В arduino подключение возможно и через встроенный резистор, но это требует специальный синтаксис команд и лучше его не использовать. Ограничительный резистор между выходом порта и светодиодом берем на 150 — 200 Ом.

Плавное включение светодиода

Для плавного включения используем новую команду ШИМ-модуляции сигнала.

ШИМ-модуляция – управление мощностью сигнала с помощью частотной модуляции.

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

В Ардуино модуляция сигнала происходит с частотой около 500 импульсов в секунду.

Команда analogWrite (порт, частота модуляции) подает на заданный порт модулированный сигнал. При частоте 255 выдается 100% мощности, при частоте 127 соответственно 50%. Изменяя частоту модуляции мы можем менять яркость. Для модулированного сигнала используют аналоговые входы-выходы.

void setup() // процедура setup
{
pinMode (6, OUTPUT); // включаем аналоговый порт 6 на вывод
}
void loop()
{

Цикл увеличения частоты модуляции с 0 до 255

For (int i=0; i<=255;i++)
{
analogWrite(6, i);
delay(20); // задержка 20 миллисекунд. Светодиод «разгорится» за 5 сек.
}

Цикл уменьшения частоты модуляции с 255 до 0

for(int i=255;i>=0;i—)
{
analogWrite(6, i);
delay(20);
}

В этом примере светодиод плавно разгорается за 5 сек. потом постепенно гаснет в течении 5 сек.

Для подключения большого количества светодиодов либо мощного светодиода требуются коммутаторы: транзисторный ключ, опотрон, микросхема коммутатор. Они позволяют подавать питание от внешнего источника достаточной мощности.

Поделитесь вашим мнением

Please enter your comment!
Please enter your name here