Содержание:
На сегодняшний день аппаратная платформа управления периферическими приспособлениями на основе Ардуино приобрела чрезвычайно обширное распространение. Благодаря исключительной простоте управления и достаточно широким функциональным возможностям, подобные устройства активно применяются в самых разнообразных проектах, от управления моторчиками до систем «умный дом».
Ардуино что это?
Непосредственно сам модуль Ардуино представляет собой микропроцессор семейства 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 () {…}.
Наглядно все можно увидеть на видео:
Мигаем светодиодом арудино
Код скетча для мигания светодиода (скетч для ардуино мигание светодиодом находится во встроенном скетче “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 сек.
Для подключения большого количества светодиодов либо мощного светодиода требуются коммутаторы: транзисторный ключ, опотрон, микросхема коммутатор. Они позволяют подавать питание от внешнего источника достаточной мощности.