Уроки по робототехнике — Урок №1. Знакомство с Arduino. Мигаем светодиодом
Для занятия необходима установленная на компьютерах среда программирования miniBloq и драйвера для Arduino.
Макетные провода папа-папа |
от 5 шт |
Контроллер Arduino UNO + провод |
1 шт |
|
Светодиод |
1 шт |
Беспаечная макетная плата |
1 шт |
|
|
|
Резистор 220 Ом |
1 шт |
Добрый день, ребята.
Ребята, на прошлом занятии мы с вами закончили курс «Схемотехника».
Конечно, знания полученные ранее, не будут забыты, а помогут нам в дальнейшем изучении робототехники. Именно так и будет называться наш текущий курс.
При разработке разных устройств бывают такие ситуации, когда реализовать требуемый функционал с помощью микросхем и базовых компонентов бывает очень сложно или даже практически невозможно.
В этом случае мы можем собрать мультивибратор на транзисторах или на микросхеме таймера NE555.
Теперь усложним задачу. Нам нужно сделать гирлянду из 5 светодиодов и реализовать 3 разных варианта их мигания (изменяя скорость и порядок).
В этом случае устройство, собранное на транзисторах или микросхеме получится громадным и очень сложным.
Микроконтроллеры
Вот тут нам на помощь приходят микроконтроллеры.
Микроконтроллер — это специальная микросхема, предназначенная для управления различными электронными устройствами.
Разработчики микроконтроллеров придумали остроумную идею – объединить все, что нужно для работы внутри одного корпуса, внешне похожего на обычную микросхему.
Рис.1 Микроконтроллеры
В отличии от микросхем, с которыми мы имели дело, микроконтроллер можно запрограммировать на выполнение необходимых нам действий.
Чтобы микроконтроллер понимал, что мы от него хотим, в него нужно загрузить прошивку — последовательность действий, которую ему необходимо выполнить.
Сама прошивка представляет собой последовательность единиц и нулей, но чтобы нам было удобнее, придумали языки программирования.
Например, мы пишем «включи светодиод», а компилятор уже сам преобразовывает команду в понятную для микроконтроллера последовательность единиц и нулей.
Arduino
Чтобы было удобнее работать с микроконтроллерами, некоторые производители придумали специальные устройства — контроллеры.
Например, контроллер Arduino (Рис.2). Этот контроллер содержит сам микроконтроллер, программатор, стабилизатор питания и всю необходимую обвязку.
Рис.2 Контроллер Arduino
Чтобы было понятно, как с ним работать, сразу приступим к первому заданию.
Задание: Мигаем светодиодом
Звучит задание просто: помигать светодиодом. Но как к нему подступиться?
Для начала давайте поймем, куда мы можем подключить светодиод, чтобы им «помигать».
На вашей макетной плате нет блока питания, но в этом нет ничего страшного.
Питать схему мы будем от Arduino. На контроллере есть выводы питания. +5В, +3.3В, и GND (это минус).
Рис.3 Выводы питания на контроллере Arduino
Давайте подключим выводы питания +5В и GND к шине макетной платы. Это позволит нам больше не думать о том, откуда брать питание для элементов в схемах. (Рис. 4)
Рис.4 Вариант подключения выводов питания к шине макетной платы
Контроллер может задавать «включать» (задавать 5 вольт) или «выключать» (задавать 0 вольт) некоторые свои выводы, их так же называют ПИНы
Обычно, для того, чтобы просто «включать» или «выключать» используют цифровые пины. Цифровые пины на Arduino UNO это пины с 2 по 13. (Рис. 5)
Рис.5 Цифровые пины на контроллере Arduino
Для нашего мигающего светодиода я выбрал пин номер 5, вы же можете выбрать любой другой цифровой пин.
Подключение светодиода будет выглядить следующим образом. (Рис.7) Обратите внимание, что светодиод подключен через ограничивающий резистор на 220 Ом. Без него он может просто-напросто сгореть.
Рис.7 Вариант подключения светодиода к цифровому пину 5
Подключили? Отлично. Следующим этапом нам нужно научить контроллер «включать» и «выключать» наш цифровой пин. Для этого нам нужно запрограммировать Arduino.
Для программирования Arduino можно пользоваться многими языками программирования и средами разработки.
Мы же будем пользоваться графической средой разработки miniBloq (но никто не мешает вам попробовать другие mBlock, S4A
Рис.8 Среда графического программирования miniBloq
Важно:
После запуска выберите вашу плату, напомню это Arduino UNO, подключите плату к компьютеру и выберите порт.
Порт Arduino, обычно с самым большим числом из доступных. Например: если доступны COM1 и COM8, то порт Arduino скорее всего COM8, но бывают исключения.
Для программирования мы будем использовать блоки из панели инструментов справа. Например, для «включения» или «выключения» цифрового пина мы будем использовать следующий блок. (Рис. 9)
Рис.9 Блок для работы с цифровыми пинами в miniBloq
Чтобы поставить блок в нашу программу достаточно кликнуть по нему. (Рис. 10)
Рис. 10.
После этого необходимо выбрать пин, с которым мы хотим работать — тот, к которому мы подключили светодиод. Напомню, у меня он с номером 5 (Рис. 11)
Рис.11 Выбор пина

Рис.12 «Включение» или «выключение» пина задается галочкой и крестиком
Хочу вас познакомить еще с одним блоком — задержка. Этот блок нужен чтобы «заставить» наш контроллер немного подождать (Рис. 13).
Рис.13 Блок «задержка» в miniBloq
Время задержки в нем измеряется в миллисекундах (всего их 1000 в 1 секунде), чтобы задать колечество милисекунд необходимо выбрать значок
Рис.14 Задание задержки в миллисекундах в miniBloq
Теперь из этих двух блоков мы можем составить программу мигания светодиода.
Будьте внимательны:
Если мы напишем программу без задержек, например, включить—выключить—включить—выключить, то мы получим совсем не то, что хотели.
Именно поэтому мы ставим задержки:
включить—подожди 1000 милисекунд—выключить—подожди 2000 милисекунд и тд.
в данном случае пин будет включен 1 секунду и выключен 2 секунды.
У меня получилась такая программа. (Рис.15)
Рис.15 Мигание светодиода в miniBloq
Теперь запишем нашу программу а Arduino нажав на зеленую стрелочку (Рис 16)
Рис. 16. Запись программы в Arduino.
Отлично, наш светодиод мигает, но обидно, что он мигает ровно столько раз, сколько мы ему написали.
Замечательно бы было написать 1 цикл мигания (вкл-подождать-выкл-подождать) и зациклить его, чтобы он работал бесконечно.
С помощью нашего языка программирования это сделать можно, для этого существует блок цикл.
Всего их 2. Но нас интересует условный цикл.
Этот цикл можно превратить в бесконечный (Рис.17), если явно задать на нем галочку.
Рис. 17. Бесконечный цикл.
Теперь, все блоки помещенные между этими блоками цикла будут повторяться бесконечно.
Перепишем нашу программу, чтобы светодиод мигал постоянно. (Рис.18).
Рис. 18. Бесконечное мигание светодиода в miniBloq.
Надеюсь, вы все поняли. Если да, то переходим к следующему уроку «Знакомство с Arduino. Светофор».
10 лучших проектов Arduino со светодиодами Многие из этих плат используют 8-битный микроконтроллер Atmel, хотя некоторые из более поздних плат основаны на 32-битном микроконтроллере.

Обычный проект для новичков — заставить мигать светодиод, прежде чем переходить к более сложным проектам. В этой статье давайте взглянем на некоторые фантастические светодиодные проекты, которые вы можете сделать с помощью Arduino!
Nanoleaf — это торговая марка умного освещения в виде треугольных или шестиугольных панелей, меняющих цвет. С Arduino, корпусом, напечатанным на 3D-принтере, и светодиодными лентами вы можете сделать свои собственные осветительные приборы в геометрическом стиле.
Хотя производитель использовал WeMos D1 Mini Pro на базе ESP8266, было отмечено, что его можно заменить на Arduino Mega. Следуйте руководству по шестиугольным светодиодным фонарям Nanoleaf DIY, ссылка на которое приведена выше, чтобы создать свой собственный. Кроме того, на Thingiverse есть сборка с треугольным корпусом, напечатанным на 3D-принтере.
Это пушистая повязка на голову с помпонами и подсветкой, состоящая из адресуемых светодиодов и платы Arduino Pro Mini 5 В/16 МГц, а также двух аккумуляторов LiPo емкостью 400 мАч.
Производитель отмечает, что автономная схема включает в себя светодиоды и батареи, соединенные параллельно. В более продвинутой схеме используется Arduino. Создайте свой собственный, следуя пошаговым инструкциям SparkFun, указанным выше.
Это не просто старые часы, это часы с подсветкой, построенные из семисегментных светодиодных модулей и программируемые с помощью Arduino Pro Mini или Arduino Nano. Производитель отмечает, что каждый сегмент может быть освещен разным цветом, поэтому комбинации ограничены только вашим воображением. Следуйте инструкциям, указанным выше, на Thingiverse.
Альтернативная версия — это 7-сегментные светодиодные часы с WeMos D1 Mini.
С несколькими сервоприводами, часами реального времени, кнопкой, светящейся наклейкой, УФ-светодиодом и Arduino вы можете построить свои собственные часы, светящиеся в темноте. Как следует из названия, это устройство отображает (то есть рисует) время, а не просто отображает его с помощью светодиодных цифр.
Полную принципиальную схему, спецификацию, видео сборки, код и калибровку двигателя, а также кучу фотографий документации можно найти на странице Thingiverse, указанной выше.
Как следует из названия, это самодельное световое устройство, выполненное в виде рудной лампы из видеоигры Minecraft. Корпус можно распечатать на 3D-принтере из предоставленных файлов.
Производитель рекомендует различные настройки FDM-принтера для этой сборки, такие как печать серым PLA с разрешением 0,2, а также заполнение 15%. Никаких плотов и опор не требуется.
Чтобы создать свой собственный, ознакомьтесь с кратким описанием документации на сайте Thingiverse, ссылка на который приведена выше.
указание авторства не требуется — скриншот из MyMiniFactory Эта очаровательная светодиодная лампа для настроения была сделана с помощью Arduino Nano, регулируемого источника питания постоянного тока LM2596, светодиодных лент RGB, кнопки, вентилятора и разъема постоянного тока. Корпус, полностью пригодный для 3D-печати, доступен на MyMiniFactory.
Выполните приведенные выше пошаговые инструкции, чтобы создать собственную светодиодную лампу настроения, напечатанную на 3D-принтере!
Это светодиодный костюм гигантского размера, который позволяет вам одеться как классический персонаж 8-битной видеоигры, Pac-Man. Производитель отмечает, что для легкости и удобства ношения использовались картон и полупрозрачная бумажная обложка.
В его основе лежит Arduino Uno и 12-миллиметровые адресные светодиоды WS2811, а для питания всего этого используется источник питания постоянного тока 5 В.
Ознакомьтесь с учебным пособием в Центре проектов Arduino по ссылке выше, чтобы создать свой собственный костюм Pac-Man со светодиодной пиксельной панелью.
Эта скульптура тюльпана светится легким прикосновением, что делает ее идеальным подарком. Его можно использовать для домашнего освещения или как часть дизайна костюма.
Его шесть лепестков имеют светодиоды WS2812, встроенные в их латунный стержень, и микросервопривод, чтобы открывать и закрывать их. Они подключены к Arduino Nano R3 и сенсорному датчику TTP223.
Пошаговые инструкции можно найти на обучающей странице Ever Blooming Mechanical Tulip в Arduino Project Hub, ссылка на которую приведена выше.
Сам по себе Arduino имеет ограниченное количество контактов, которые можно использовать для подключения внешних компонентов, таких как светодиоды. Для управления светодиодной матрицей 48 x 8 в этом проекте использовался регистр сдвига 74HC595 вместе с Arduino Uno.
Производитель отмечает, что путем простого копирования матрицы 8 x 8 для управления столбцами можно расширить матрицу до любого количества столбцов. Сдвиговый регистр требуется для каждых восьми столбцов. Для сравнения, вам просто нужен один регистр сдвига для управления всеми строками.
Хотя корпус был изготовлен из дерева, производитель рекомендует разработать его в Fusion360 и распечатать на 3D-принтере. Чтобы попробовать, ознакомьтесь с учебным пособием на Arduino Project Hub. ссылка выше.
Это пара беспроводных светодиодных сердец, созданных с помощью Arduino Pro Mini 328 5V/16MHz. При размещении близко друг к другу они будут мигать в унисон!
Чип nRF был запрограммирован с помощью библиотеки RF24, а светодиоды были закодированы с помощью FastLED. Одно из сердец было назначено передатчиком (TX), а другое — приемником (RX). По словам производителя, поскольку у nRF есть autoACK, нет необходимости вручную переключать режимы между RX и TX.
Корпуса были переработаны из декоративных пластиковых коробок в форме сердца и покрыты белой аэрозольной краской. Чтобы создать свой собственный Valentine Blink, ознакомьтесь с учебным пособием на Arduino Project Hub, ссылка на которое приведена выше.
Какой светодиодный проект вы сделаете?
В этой статье мы рассмотрели десять проектов светодиодов, сделанных с помощью Arduino. Многие из этих проектов используют адресные светодиодные ленты, а также ряд плат Arduino. Некоторые из них повторно использовали декорации для вечеринок или картон, в то время как другие имеют корпуса, напечатанные на 3D-принтере. Кроме того, некоторые использовали популярную библиотеку FastLED, поэтому проверьте ее, если вы еще этого не сделали.
Подключение светодиодов к Arduino | The Sim
Компоненты Arduino
— Светодиоды
Руководство по проводке и основам для Mobiflight и Prosim с использованием Ardunio Mega
Подключение светодиода в симуляторе — одно из самых приятных ощущений, которые вы можете получить . Эта мгновенная обратная связь! Возможность видеть, как на экране загорается виртуальный индикатор кабины, а ваш светодиод в реальной жизни поразил меня! Именно в этот момент я понял, что могу вывести сима на совершенно новый уровень. Я начал со стояночного тормоза PMDG 737.
Теперь я пошел дальше и использую буквально сотни светодиодов в своей SIM-карте 737 DIY.
Они бывают разных размеров и цветов. При необходимости вы можете приобрести двухцветные и трехцветные светодиоды. Очень удобно для огней AFDS, где желтый и красный цвета необходимы в одной лампочке. В моем симе преимущественно используются светодиоды 3 и 5 мм.
Для подсветки панели я предпочитаю теплый белый холодному белому (это цвет, используемый в реальном самолете).
Это просто вопрос личных предпочтений, так как ярко-белый цвет работает намного лучше.
Не забывайте всегда использовать резистор со светодиодом на плате Arduino. Обычно резистор 220 Ом идеально подходит для питания Arduino 5 В.
цвет провода
Фактический провод самолета преимущественно белого цвета. Также используются красный и синий.
Мне нравится использовать разные цвета для разных устройств.
Вот, в этих примерах. Я использовал синий для переключателей, черный для заземления.
Красный для +5 В, желтый для светодиодов и серый для сервоприводов и т. д.
цвет провода
Фактический провод самолета преимущественно белого цвета. Также используются красный и синий.
Мне нравится использовать разные цвета для разных устройств.
Вот, в этих примерах. Я использовал синий для переключателей, черный для заземления.
Красный для +5В, желтый для светодиодов и серый для сервоприводов и т.д. Также используются красный и синий.
Мне нравится использовать разные цвета для разных устройств.
Вот, в этих примерах. Я использовал синий для переключателей, черный для заземления.
Красный для +5В, желтый для светодиодов и серый для сервоприводов и т.д. с) это что они чувствительны к полярности.
От корпуса светодиода отходят две ножки, они называются; Анод и катод.
Катод (-) должен быть подключен к земле Ardunio.
Анод (+) должен быть подключен к контактам 2-53 на Arduino.
Для различения ножек имеют следующие признаки:
Катодная ножка находится рядом со стороной с плоской стороной на корпусе. Эта нога немного короче. Анод — это немного более длинная ножка.
РЕЗИСТОРЫ — ОБЯЗАТЕЛЬНО!
Резисторы
Как упоминалось ранее, вы должны использовать резистор с большинством светодиодов. В отличие от светодиода, резистор не чувствителен к полярности и может быть установлен в любом направлении. Общее правило заключается в использовании резистора на 220 Ом.
Обычный светодиод работает при напряжении 2-3 В постоянного тока. Ардуино работает от 5В. Резистор ограничивает ток, подаваемый на светодиод. Я обнаружил, что вы можете избежать странной ошибки, не подключая светодиод к резистору, но это не продлится долго.
Яркость может быть установлена с помощью резисторов разного номинала. Иногда, летая ночью, вы можете обнаружить, что резисторы на 220 Ом все еще слишком яркие. Особенно, если вы покупаете сверхъяркие прозрачные светодиоды.
Существует множество онлайн-калькуляторов сопротивления/светодиодов, которые помогут вам найти правильное значение.
Цветовой код резистора 220 Ом:
Красный, Красный, Коричневый и золотая полоса допуска (5%)
Один светодиод Проводка
Светодиод — ПРОВОДКА
Подключение светодиода простое. Катод (более короткая ножка на плоской стороне) напрямую подключается к земле Ardunio. Неважно, к какому проводу подключается резистор, но я предпочитаю держать их на стороне анода, которая идет к контакту Ardunio (2-53). Если вы используете один из контактов с ШИМ, вы можете изменять яркость светодиода в программном обеспечении (вы все равно должны использовать резистор).
Способ крепления резистора зависит от вас. Я обычно припаиваю резистор в линию, или вы можете использовать коммутационную плату с резисторами, размещенными в линию.
Светодиоды — 2 ИЛИ БОЛЕЕ
На плату можно добавить до 40 светодиодов. Ниже я показал 5 светодиодов, чтобы упростить схемы. Но принцип тот же. Вы можете видеть, как земля просто прикована гирляндой. Это сделано для того, чтобы проводка обратно к Arduino была минимальной. Станки уже могут быть довольно большими с 52 проволоками.
Гирляндное заземление
На Arduino Mega есть только 3 или 4 заземления для подключения всех ваших устройств.
Иногда проще соединить все заземления в конфигурации гирляндной цепи. Связывание устройств с одним и другим с помощью единого заземления Arduino Mega.
Другим способом может быть использование разделительной платы с общей линией заземления.
Но за счет последовательного заземления кабельный жгут может значительно сократиться.
Подключение нескольких светодиодов
Подключение светодиодов и переключателей
Светодиоды и переключатели — несколько устройств
Объединение светодиодов и переключателей теперь заключается в последовательном соединении заземления и отправке всех проводов обратно к контактам Arduino. Неважно, какие контакты вы используете.