Урок по Arduino №1: подключаем, настраиваем, мигаем одноцветными и RGB-светодиодами

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

Содержание:

Для этого сегодня нам нужны:

  • Плата Arduino.
  • USB-шнур для подключения к компьютеру.
  • Светодиоды одноцветные и RGB-светодиод.
  • Резисторы для светодиодов.
  • Макетная плата, перемычки, источник питания для макетной платы, крона (можно обойтись и без всего этого, но желательно это иметь).

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

Есть несколько вариантов плат Arduino, они отличаются не только стоимостью, но и USB-TTL конвертером, он нужен, чтобы программировать главный микроконтроллер платы (ATMEGA328) прямо через USB-порт вашего компьютера без дополнительных программаторов. Например, в моей плате используется для связи с компьютером микроконтроллер типа AT16U2 и драйвера на него установились автоматически. Но часто попадаются дешевые платы, где в этих же целях используется микросхема CH340 (CH341). В этом случае нужно скачать под неё драйвер, он легко находится в сети по запросу «CH340 драйвер windows 7/10», либо воспользоваться драйвером отсюда – https://yadi.sk/d/fJIY45oCld0pzA

Далее с официального сайта скачиваем актуальную версию Arduino IDE и устанавливаем его, кстати, нам предлагают воспользоваться онлайн версией IDE, но проверять её сегодня мы не будем, если интересно — может протестировать в отдельной статье.

Ссылка на скачивание
Ссылка на скачивание Arduino IDE с официального сайта

На следующей странице предложат отправить донат, если вы не хотите этого делать, то нажмите Just Download. Запускаем установку и соглашаемся со всем, что нам предлагает установщик, ждем пока она закончится.

установка Arduino IDE
Процесс установки Arduino IDE

Ближе к концу нам предложат установить дополнительные драйвера и ПО, также соглашаемся. Я не стал делать скриншоты всех всплывающих окон (их было 3), а просто нажал «Установить» в каждом из них. В конце нажимаем на Close. Подключаем плату Arduino к компьютеру, если нужно — устанавливаем драйвера, о которых говорилось выше, если нет — ждем пока всё установится само. В конечном итоге, в диспетчере устройств должна появится ваша ардуина.

диспетчер задач
В диспетчере задач должно появится новое устройство

Далее запускаем программу. В меню «Инструменты» должно быть «Порт: «название порта название платы», и в подменю стоять галочка, как на скриншоте ниже, у меня там было пусто, и я поставил. Если у вас не UNO, а nano например — выбирайте соответствующий пункт меню.

Настройки Arduino
Настройки программы Arduino IDE

При подключении ардуино к компьютеру она начинает мигать желтым светодиодом, он с завода припаян к 13-му пину, а для проверки работоспособности с завода в платы предустанавливается прошивка с мигалкой по 13-му пину, в наборе базовых примеров кода Arduino IDE он есть под названием Blink.

Программа для проверки Arduino
Стандартная программа для проверки Arduino — это своего рода «Hello World» в мире микроконтроллеров

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

часть кода
Эта часть кода повторяется постоянно в процессе работы микроконтроллера

Разберем эти команды. digitalWrite – это запись цифрового состояния на указанный пин (здесь это LED_BUILTIN — это и есть 13-й пин платы Ардуино), HIGH – значение, которое записывается, т.е. логическая единица. Результатом выполнения этой команды будет появление на 13-м пине высокого логического уровня, напряжения питания микроконтроллера, в нашем случае это 5 вольт.

Далее идёт функция delay(1000) это задержка, а в скобках её аргумент — время в миллисекундах.

После нее вновь digitalWrite, но уже со значением LOW — это низкий логический уровень, т.е. 0 вольт. После чего опять задержка.

В конце каждой команды должна стоять точка с запятой — это важно.

Светодиод мигает
Светодиод мигает с периодом в 2 секунды, как и написано в программном коде

Таким образом, светодиод включается и выключается с задержкой в 1 секунду, если мы поставим вместо 1000, в аргумент delay, например, 200 и 1000 (в первом и втором случае), то у нас светодиод будет вспыхивать на 1/5 секунды, а потом выключаться и вновь вспыхивать через 1 секунду.

порядок мигания
Изменяем порядок мигания
прошить код в Arduino
Чтобы прошить наш код в Arduino нужно нажать на вот эту кнопку

Но что, если нам нужно подключить несколько светодиодов к разным пинам? Всё просто, по подобию пишем вот такой код:

Урок по Arduino №1: подключаем, настраиваем, мигаем одноцветными и RGB-светодиодами

Первое из изменений, на которые следует обратить внимание, это часть кода в функции void setup(). Она выполняется 1 раз при включении микроконтроллеры и в ней задаются какие-либо параметры, в нашем случае, указываются номера пинов платы и их функция (работать как вход или как выход), синтаксис здесь следующий pinMode (номер порта, назначение). Номера пинов также нанесены на печатной плате всех ардуино, это очень удобно. Дальше просто по очереди микаем каждым из светодиодов, подключенных к 12, 11, 10. 9 пинам.

Схема подключения светодиодов
Схема подключения светодиодов для рассмотренного выше кода

Мнение эксперта
Алексей Бартош
Специалист по ремонту, обслуживанию электрооборудования и промышленной электроники.
Задать вопрос эксперту
Резисторы для светодиодов нужно рассчитывать по формуле R=Uпит-Uпад/Iном, где Uпит — напряжение питания, Uпад – падение напряжения на светодиоде (у каждого цвета разное). Я не рассчитывал, просто взял заведомо больше чем нужное сопротивление — каждый по 220Ом.

Loading...

Онлайн рассчет
Введите напряжение и выберите цвет светодиода

Ом
Вт
Ом
Сопротивление рассчитывается по средней величине диапазона номинальных напряжений указанного в скобках. Номинальный ток,  который указан по умолчанию (20 мА) — это номинальный ток для большинства 5-миллиметровых светодиодов.  Полученное значение сопротивления нужно округлить в большую сторону до ближайшего номинального сопротивления резисторов из доступных. То есть если получилось 45 Ом, но такого резистора вы купить не можете, смело округляйте до 47 Ом (есть в основных распространённых рядов номиналов резисторов E3, E6, E12, E24).
Важно! После расчёта, подбора резистора и подключения светодиода измеряйте ток через него и сверяйте с указанным в технической документации. При необходимости корректируйте сопротивления резистора.


Полную распиновку платы, номера выводов и их дополнительные функции вы видите на рисунке ниже.
Распиновка Arduino
Распиновка Arduino UNO
светодиоды загораются по очереди
Результат выполнения этого кода — светодиоды загораются каждый по очереди, подобно светофору

С обычными светодиодами разобрались, теперь же давайте перейдем к RGB-светодиодам. Что это вообще такое? Фактически это 3 обычных одноцветных кристалла соединены между собой в одном корпусе, существуют две схемы соединения RGB-светодиодов или чего-нибудь подобного (например, семисегментных индикаторов), их вы видите на рисунке ниже.

Урок по Arduino №1: подключаем, настраиваем, мигаем одноцветными и RGB-светодиодами

Чтобы определить как соединены светодиоды в вашем RGB-светодиод, нужен мультиметр и его режим прозвонки диодов, находим общий вывод и по значениям на экране определяем проводимость и соответственно направление подключения. При правильном подключении щупов мультиметра к выводам светодиода, тот загорится соответствующим цветом, а на экране должны появится какие-то значения (у меня было от 1000 до 2000 мВ).

прозрачная колба
Какой из выводов общий видно через прозрачную колбу он соединен с самым крупным элементом внутри

У меня оказался светодиод с общим катодом. Почти переделывая код (удалим лишь всё, что связано с 12 пином и уберем паузу между цветами), изменим схему подключения, теперь через резисторы мы будем подавать сигнал от микроконтроллера.

Код для перебора
Код для перебора трёх цветов RGB-светодиода
Схема подключения
Схема подключения RGB-светодиода
Пример работы RGB
Пример работы RGB-светодиода с ардуино

Чтобы получить цвета, кроме красного, зеленого и синего, нужно подавать сигнал на несколько выводов одновременно, пример того, как это сделать вы видите ниже.

Урок по Arduino №1: подключаем, настраиваем, мигаем одноцветными и RGB-светодиодами

Код для перебора 7 цветов RGB-светодиода

цвета RGB
Перебор цветов RGB-светодиода

У пинов № 9, 10, 11, есть возможность выдавать ШИМ-сигнал, что это такое и как это работает мы разберем в следующих статьях, а пока я покажу, как это можно применить с RGB-светодиодом. Чтобы цвета не резко менялись, а плавно переходили из одного в другой, нужно использовать команду analogWrite, таким образом, на предназначенных для этого пинах формируется ШИМ-сигнал, с помощью которого можно регулировать яркость светодиодов. Я решил для реализации этого эффекта использовать цикл for, возможно можно его проще реализовать, но я думаю, что для демонстрации подойдет. Скорость перелива задаётся командой задержки (delay), после того как достигается максимум одного цвета, начинает нарастать следующий цвет, после чего первый цвет начинает угасать. За основу я выбрал код плавного мигания светодиодом из набора примеров (fade). Вы можете сами проанализировать приведенный ниже код, там, где написано brightness + fadeamount — там происходит повышение интенсивности свечения цвета, а где цикл с brightness – fadeamount — снижение.

Код плавной смены цветов
Код плавной смены цветов RGB-светодиода
к содержанию ↑

Видео инструкция

Вместо заключения

Мнение эксперта
Алексей Бартош
Специалист по ремонту, обслуживанию электрооборудования и промышленной электроники.
Задать вопрос эксперту
На этом закончим разговор о подключении светодиодов к ардуино и управлении ими. Целью этой статьи было показать, как можно подключать светодиоды и управлять ими, а также был приведен пример плавной регулировки яркости светодиодов с помощью ШИМ. В следующих статьях мы подробнее рассмотрим вопросы ввода каких-либо данных и взаимодействия с Arduino, вопросы, связанные с ШИМ-регулированием, чтением аналоговых сигналов и прочее. Если вам интересно развитие этого проекта — подписывайтесь, ставьте лайки и оставляйте комментарии. Также хотелось бы увидеть какие-либо практические советы по реализации чего-либо.
Предыдущая
ArduinoВидео и фото обзор стартового набора Arduino для UNO R3 из посылки на Aliexpress
Следующая
ArduinoМастер-класс «Люстра-паук» своими руками
Понравилась статья? Поделиться с друзьями:
Очень плохоПлохоНормальноХорошоОчень хорошо! (1 оценок, среднее: 5,00 из 5)
Загрузка...
Лампа Эксперт
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: