Подключение ардуино к блоку питания
Тема питания для arduino очень важна, я решил ей уделить целую статью поскольку сам имел печальный опыт. Так как в основе arduino находиться микроконтроллер, то наша плата становится заложником стабильного питания, при превышении которого плата может выйти из строя и иногда дешевле приобрести новую чем ее ремонтировать. В данной статье мы обсудим как избежать "Гибели" arduino и даже продлить ей жизнь.
Под рабочим напряжением имеется в виду рабочее напряжение микроконтроллера. Данный микроконтроллер может работать с напряжением от 1,8 до 5 вольт(1.8 - 5.5V for ATmega328P - datasheet). Отсюда уже можно понять что пониженное напряжение для него не страшно, это только может сказаться на работе подключенных датчиков и серийном порте. Но превышение 5.5 вольт является очень критичным, как только напряжение превысит этот показатель то микроконтроллер(далее МК) сгорит. Так же в оригинальных ардуино или копиях оригинала для связи МК с компьютером есть еще одна МК Atmega16u2, данная микросхема отвечает за прошивку основной МК atmega328 и связи ее с компьютером(по сути она преобразует сигнал последовательного порта rs-232 ttl в параллельный usb). Для запуска atmega16u2 необходимо больше напряжение, минимальное напряжение 2.7В (Operating Voltages – 2.7 - 5.5V - datasheet).
- Питание от USB компьютера или другого устройства
- Через разъем для питания
- Разъемы GND и Vin на плате
Напряжение от usb поступает напрямую на плату не через стабилизатор, так как в usb стабильное напряжение 5 вольт которое нам подходит. Напряжение в остальных двух случаях проходит через стабилизатор NCP1117ST50T3G который выдает на выходе 5 вольт. Перед стабилизатором в схеме предусмотрен диод D1(M7) он защищает от не правильной полярности. Контакт Vin тоже попадает на стабилизатор. На схеме часть со стабилизатором и входом обозначена розовым цветом VOLTAGE REGULATOR SUBSYSTEM. Так как в данных платах предусмотрено напряжение 3,3 вольта после получение со стабилизатора 5 вольт или от usb напряжение попадает на второй стабилизатор LP2985-330BVR в результате чего оно понижается до 3,3 вольт (на схеме выделено голубым MULTIPLE INPUT MANAGEMENT SUBSYSTEM). Но и это еще не все, для защиты портов usb на плате предусмотрен предохранитель F1 (500мА) - защита от больших токов. На плате предусмотрено отключение питание usb при наличии достаточного напряжения на входе Vin или разъеме питания. Принцип действия заключается в том, что напряжение Vin попадает на делитель напряжения образованный резисторами RN1A и RN1B, после этого напряжение попадает на компаратор (микросхема LMV358IDGKR) на втором входе (-) 3,3 вольт. Выход компаратора управляет затвором p-канального MOSFET транзистора FDN340P, в случае если напряжение на входе больше 6,6 вольт на затвор попадает положительное напряжение и цепь USBVCC обрывается (отключается питание usb), а если меньше то питание usb идет дальше по схеме и попадает на "шину" +5 и стабилизатор 3,3 вольт. Для примера на входе 7 вольт, после делителя получилось 3,5 вольт и это больше чем 3,3 на втором входе компаратора, а значит на выходе компаратора и затворе транзистора положительное напряжение и как следствие цепь usb отключается.
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод L , подключенный к 13 пину микроконтроллера.
После загрузки программы встроенный светодиод L начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Микроконтроллер ATmega16U2
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует дополнительный микроконтроллер ATmega16U2 с прошивкой USB-UART преобразователя. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт.
Микроконтроллер ATmega328P общается с ПК через сопроцессор ATmega16U2 по интерфейсу UART используя сигналы RX и TX , которые параллельно выведены на контакты 0 и 1 платы Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Подключение и настройка
Микроконтроллер ATmega328P
32 КБ Flash-памяти, из которых 0,5 КБ используются загрузчиком, который позволяет прошивать Uno с обычного компьютера через USB. Flash-память постоянна и её предназначение — хранение программ и сопутствующих статичных ресурсов.
2 КБ RAM-памяти, которые предназначены для хранения временных данных, например переменных программы. По сути, это оперативная память платформы. RAM-память энергозависимая, при выключении питания все данные сотрутся.
1 КБ энергонезависимой EEPROM-памяти для долговременного хранения данных, которые не стираются при выключении контроллера. По своему назначению это аналог жёсткого диска для Uno.
Питание от USB
Питание от USB – самый плохой способ питания Ардуино-проекта. Почему? По линии питания +5V от USB стоит диод, выполняющий защитную функцию: он защищает порт USB компьютера от высокого потребления тока компонентами схемы и от случайного короткого замыкания (КЗ). КЗ продолжительностью меньше секунды не успеет сильно навредить диоду и всё может обойтись, но продолжительное замыкание превращает диод в плавкий предохранитель, выпускающий облако синего дыма и спасающий порт компьютера. После этого плата перестаёт определяться компьютером и диод нужно заменить.
К слову, платы от производителя Robotdyn имеют самовосстанавливающийся предохранитель вместо такого костыля с диодом-смертником.
Слаботочный диод имеет ещё одну неприятную особенность: на нём падает напряжение, причем чем больше ток потребления схемы, тем сильнее. По USB нам приходит ровно 5V, после диода остаётся ~4.7V. Чем это плохо:
- Измерения с аналоговых пинов будут неточными.
- Некоторые железки чувствительны к напряжению питания, например LCD дисплеи: при питании от 5V они яркие и чёткие, при 4.7V – уже заметно теряют яркость и контраст. Если подвигать сервоприводом или включить реле – на диоде упадет ещё большее напряжение и дисплей ощутимо мигнёт.
- При более мощных нагрузках (выше 500-600 мА) микроконтроллер перезапустится, так как напряжение упадет ниже критического порога.
Питание “мощных” схем
Резюмируя всё написанное выше, рассмотрим варианты питания проектов с большим потреблением тока на примере Arduino Nano и напряжения 5V. Точно так же по аналогии можно работать и с 3.3V платами на базе esp8266 (NodeMCU, Wemos).
Питать мощный проект (светодиоды, двигатели, нагреватели) от 5V можно так: Arduino и потребитель питаются вместе от 5V источника питания (провода к нагрузке можно сделать толще, например если это светодиодная лента):
Пример: питание нескольких сервоприводов:
Питать мощный потребитель (выше 500 мА) от USB через плату нельзя, там стоит диод, да и дорожки питания слишком тонкие:
Что делать, если всё-таки хочется питать проект от USB, например от powerbank’а? Всё очень просто, режем кабель и подключаем:
Важно! На момент подключения к плате USB кабеля для прошивки внешнее питание должно быть подключено, иначе через плату может пойти большой ток!
Можно защититься от этой опасности, поставив диод на питание Arduino. Да, в этом случае питание просядет до ~4.7V, но можно будет безопасно загружать прошивку:
Но если мы хотим питать именно 12V нагрузку, то проблем никаких нет: сама плата Arduino потребляет около 20 мА, и спокойно будет работать от бортового стабилизатора. А нагрузку запитаем напрямую от блока питания:
Понижающий регулятор 3V3
Понижающий линейный преобразователь LP2985-33DBVR обеспечивает напряжение на пине 3V3 . Регулятор принимает входное напряжение от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 150 мА.
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Ток потребления схемы
Все знают закон Ома, но не все умеют им пользоваться. Применительно к источникам питания и потребителям он работает так: потребитель берёт такой ток, какой ему нужен для работы, он называется ток потребления:
- Сервопривод: ~500 мА во время движения
- Реле: ~60 мА при активации
- Датчики-модули ~1-10 мА
- Мотор: ~500 мА
- Плата Arduino: ~20 мА
- Плата Wemos: ~50 мА
- Дисплеи: ~40 мА
При подключении в схему нескольких компонентов их ток потребления суммируется.
Источник питания в свою очередь имеет такой параметр как максимальный ток, который он может отдать без повреждений. Суммарный ток потребления компонентов схемы должен быть меньше, чем максимальный ток источника питания, иначе источнику питания будет “тяжело”. Также это означает, что можно спокойно подключать слабенький датчик хоть к 100 Амперному источнику питания, он возьмёт столько, сколько ему надо. Остальное останется “с запасом”.
Есть несколько способов питать плату Arduino и схему на её основе, у каждого есть свои плюсы, минусы и ограничения.
Автономное питание
Бывает, что нужно обеспечить автономное питание проекта, т.е. вдали от розетки, давайте рассмотрим варианты. Также для этих целей пригодится урок по энергосбережению и режимам сна микроконтроллера.
- Питание в порт USB:
- Самый обыкновенный Powerbank, максимальный ток – 500 мА. Напряжение на пине 5V и высокий уровень GPIO в этом случае будет равен ~4.7V. Внимание! У большинства Powerbank’ов питание отключается при нагрузке меньше 200 мА. Некоторые банки можно перевести в режим “слабой зарядки”, тогда они будут питать схему.
- Любой блок питания/зарядник от ноута с напряжением 7.. 18 Вольт
- 9V батарейка “Крона” – плохой, но рабочий вариант. Ёмкость кроны крайне мала.
- Сборка из трёх литиевых аккумуляторов: напряжение 12.6.. 9V в процессе разряда.
- Сборка из двух литиевых аккумуляторов: напряжение 8.4.. 6V в процессе разряда.
- Энергосбережение – не очень выгодный вариант, т.к. стабилизатор потребляет небольшой, но всё же ток.
- Для стабильных 5V на выходе – литиевый аккумулятор и повышающий до 5V модуль. У таких модулей обычно запас по току 2А, также модуль потребляет “в холостом режиме” – плохое энергосбережение.
- Литиевый аккумулятор – напряжение на пине 5V и GPIO будет 4.2-3.5V, некоторые модули будут работать, некоторые – нет. Работа МК от напряжения ниже 4V не гарантируется, у меня работало в целом стабильно до 3.5V, ниже уже может повиснуть. Энергосбережение – отличное.
- Пальчиковые батарейки (ААА или АА) – хороший вариант, 3 штуки дадут 4.5-3V, что граничит с риском зависнуть. 4 штуки – очень хорошо. Новые батарейки дадут 6V, что является максимальным напряжением для МК AVR и при желании можно так работать.
- Пальчиковые Ni-Mh аккумуляторы – отличный вариант, смело можно ставить 4 штуки, они обеспечат нужное напряжение на всём цикле разряда (до 4V). Также имеют хороший запас по току, можно даже адресную ленту питать.
- Платы с кварцем (тактовым генератором) на 8 МГц позволяют питать схему от низкого напряжения (2.5V, как мы обсуждали выше), отлично подойдут те же батарейки/аккумуляторы, также маломощные проекты можно питать от литиевой таблетки (3.2-2.5V в процессе разряда).
- Максимальный выходной ток с пина 5V ограничен током источника питания.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.
Распиновка
Пины питания
5V: Выходной пин от стабилизатора напряжения с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
Порты ввода/вывода
Пины общего назначения: 20 пинов: 0 – 19
Логический уровень единицы — 5 В, нуля — 0 В. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.АЦП: 6 пинов: 14 – 19 / A0 – A5
Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя.ШИМ: 6 пинов: 3 , 5 , 6 и 9 – 11
Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит.Serial: пины TX1/1 и RX1/0 . Контакты также соединены с соответствующими выводами сопроцессора ATmega16U2 для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте.
Видеообзор
Питание через стабилизатор
На большинстве плат Arduino стоит линейный стабилизатор, позволяющий питать плату и схему от более высокого напряжения. Стабилизатор обеспечивает качественное питание, компенсируя помехи, пульсации и изменение входного напряжения. Рассмотрим популярные платы Arduino Nano, NodeMCU и Wemos Mini. На схемах ниже они питаются от внешнего источника, а остальные компоненты – от выхода 5 или 3.3V с платы:
- На Nano и NodeMCU стоит стабилизатор AMS1117, который позволяет снимать максимум до 2А при 7V и около 500 мА при 12V входного напряжения. Напряжение подаётся на пин Vin.
- На плате Wemos стоит слабый стабилизатор, причём у разных производителей разный, с максимальным напряжением от 5.5 до 7V и максимальным током до 500 мА. Лучше не экспериментировать и не подавать на него больше 5V. Напряжение подаётся на пин 5V.
Питание через стабилизатор возможно только в том случае, от платы не питаются мощные потребители тока, такие как сервоприводы, адресные светодиодные ленты, моторчики и прочее. Что можно: датчики, модули, дисплеи, реле (не более 3 одновременно в активном состоянии), одиночные светодиоды. Для проектов с мощной нагрузкой нужно использовать другое подключение.
Главный Глупый Вопрос
У новичков в электронике, которые не знают закон Ома, очень часто возникают вопросы вида: “а каким током можно питать Ардуино“, “какой ток можно подать на Ардуино“, “не сгорит ли моя Ардуина от от блока питания 12V 10A“, “сколько Ампер можно подавать на Arduino” и прочую чушь. Запомните: вы не можете подать Амперы, вы можете подать только Вольты, а устройство возьмёт столько Ампер, сколько ему нужно. В случае с Arduino – голая плата возьмёт 20-22 мА, хоть от пина 5V, хоть от Vin. Ток, который указан на блоке питания, это максимальный ток, который БП может отдать без повреждения/перегрева/просадки напряжения. Беспокоиться стоит не об Arduino, а об остальном железе, которое стоит в схеме и питается от блока питания, а также о самом блоке питания, который может не вывезти вашу нагрузку (мотор, светодиоды, обогреватель). Общий ток потребления компонентов не должен превышать возможностей источника питания, вот в чём дело. А будь блок питания хоть на 200 Ампер – компоненты возьмут ровно столько, сколько им нужно, и у вас останется “запас по току” для подключения других (примечание: некоторые мощные, но “умные” блоки питания не будут питать слабую Arduino, т.к. она потребляет слишком маленький ток). Если устройство питается напряжением, то запомните про максимальный ток источника питания очень простую мысль: кашу маслом не испортишь.
Как не спалить Ардуино - советы для начинающих
Микроконтроллеры – это, в первую очередь, приборы для управления, контроля и обработки данных, но никак не для работы в силовых цепях. Хоть и современные чипы довольно развиты в плане наличия разных защит от случайных повреждений по электрической части, но всё же опасности подстерегают начинающего радиолюбителя на каждом шагу.
Как безопасно работать с ардуиной? Это главный вопрос статьи. Рассмотрим как электрические опасности для микроконтроллера, так и для всей платы и её компонентов в целом, а также вредные факторы механического происхождения.
Содержание статьи
Как сжечь микроконтроллер
О внутреннем устройстве микроконтроллеров можно написать книгу, поэтому рассмотрим только основные моменты, на которые нужно обращать внимание при работе. Микроконтроллеры чувствительны, как к токам, так и к напряжениям. Аварийные режимы работы допустимы лишь кратковременно, либо недопустимы вообще.
Я постараюсь рассматривать ситуации с реальными условиями и чипами. Давайте опираться на datasheet Atmega328. Это распространенный микроконтроллер, встречается почти во всех платах arduino, в ранних версиях использовали 168, его основное отличие заключалось вдвое меньшем объеме памяти.
1. Напряжение питания должно быть в норме!
Известные мне модели микроконтроллеров работают от постоянного напряжения (DC), При этом напряжение питания может варьироваться в пределах допустимого.
В технической документации на 328 атмегу указан диапазон питающих напряжений от 1.8 до 5.5 Вольт. При этом от напряжения зависит скорость работы, но это тонкости, которые влияют на выбор рабочей частоты и логических уровней.
В цепях питания интегральных микросхем обычно установлен стабилитрон, для защиты входа кратковременных скачков, но стабилитроны не рассчитаны на гашение всплесков высокой мощности и длительной работы в неправильных условиях.
Вывод:
Не превышайте напряжение питания микроконтроллера, если собираетесь запускать его от батарей или источника, в качестве стабилизации которого вы не уверены – лучше установите дополнительный линейный или LDO-стабилизатор.
Для «смерти» микроконтроллера порой достаточно и половины вольта. Дополнительный фильтрующий конденсатор электролитического типа до сотни мкФ, в паре с керамическим в пару сотен нФ только улучшат надежность работы схемы.
Ардуино:
На оригинальных, а также на большинстве клонов Nano, Uno установлены линейные стабилизаторы, поэтому можно подавать питание либо на предназначенные для этого пины, либо через USB-порт. Не более 15 В.
ВАЖНО:
Пин с названием «5V» предназначен только для подключения к стабилизированному источнику на пять вольт, не больше, этот пин напрямую подключается к ножке Vсс самого микроконтроллера, тогда как Vin – на плате идет через линейный стабилизатор к микроконтроллеру.
И полярность тоже
На плате не предусмотрено защиты от обратного напряжения, поэтому в случае ошибки вы рискуете её спалить. Чтобы этого избежать установите диод последовательно со входом по питанию катодом к плате (пин Vin).
2. Не замыкай пины
Производитель установил рекомендуемый ток через пин микроконтроллера, не более 30 мА. При напряжении питания в 5 Вольт, это значит, что нужно подключать незнакомую (новую) нагрузку, через резистор не менее 200 Ом, что установит максимальный ток в 25 мА. Я думаю, это не совсем понятно звучит. «Замкнуть» и «Перегрузить» слова разные, но описывают один и тот, же процесс.
Короткое замыкание – это состояние когда между выводом с высоким потенциалом и выводом с низким потенциалом установлена нагрузка, сопротивление которой близко к 0. Реальным эквивалентом такой нагрузки служит капля припоя, кусок провода и другие проводящие ток материалы, соединяющие плюсовой контакт с минусовым.
Когда пин установлен в логическую единицу или «high», напряжение относительно общего провода на нём 5 В (3.3 или любое другое, уровень которого принят за логическую единицу). Если его замкнуть на «землю», на плате ардуино она может обозначаться, как «gnd», протекающий ток будет стремиться к бесконечности.
Внутри микроконтроллера за выходные уровни 0 или 1 отвечают внутренние транзисторы и нагрузочные резисторы, они от большого тока просто сгорят. Скорее всего, чип продолжит функционировать, но вот этот пин нет.
Решение:
Вывод Vin также нельзя замыкать на gnd, хоть он и не относится к микроконтроллеру, но дорожки платы могут сгореть и придется их восстанавливать. В целях безопасности не поленитесь, и подавайте питание через предохранитель рассчитанный на ток 0.5 А.
ВАЖНО:
3. Не превышай логические уровни!
Пояснение:
Если на микроконтроллреа в качестве логической единицы выбран уровень 5 В, то и датчик, кнопка или другой микроконтроллер должен посылать сигнал с таким же напряжением.
Если вы подадите напряжение уровнем выше 5.5 Вольт – пин сгорит. Внутри установлены ограничительные элементы, типа стабилитронов, но при их срабатывании токи начинают расти пропорционально приложенному вольтажу. Даже не пытайтесь подавать переменное по знаку напряжение, а уж тем более сетевое – 220 В.
Вот как выглядит функциональная схема вывода микроконтроллера. Элементы (диоды и ёмкость) нужны для защиты от электростатики, т.н. «ESD-protection», они способны защищать чип от КРАТКОВРЕМЕННЫХ всплесков напряжения, но не длительного.
Примечание: превышение даже на половину секунды считается длительным.
Пошаговое обучение программированию и созданию устройств на микроконтроллерах AVR: Программирование микроконтроллеров для начинающих
Как защитить входы?
Установите на них параметрические стабилизаторы. Схематически это стабилитрон с напряжением стабилизации около 5 Вольт, его ставят между выводом и минусом (gnd), а последовательно нему резистор. Пин подключают в точку между сопротивлением и стабилитроном. При напряжении выше 5 Вольт последний откроется и начнет пропускать ток, на резисторе «останется» лишнее напряжение, а на входе оно зафиксируется на уровне 5-5.1 В.
4. Не нагружайте стабилизатор
Если вы решите запитать нагрузку от пина 5V – можете сжечь линейный стабилизатор, эта шина питает МИКРОКОНТРОЛЛЕР и рассчитана на него, однако, пару маленьких сервомоторчиков он выдержит.
Также нельзя подключать источник внешнего напряжения к этой ножке, стабилизатор не имеет защиты от обратного напряжения. Чтобы питать дополнительные исполнительные устройства берите напряжение от внешнего источника питания.
Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств
Запомните эти четыре раздела, и вы обезопасите свою Arduino от ошибок.
Процесс диагностики и ремонта платы оригинальной ARDUINO UNO R3:
Техника безопасности для микроэлектроники
В этом разделе мы поговорим о том, как правильно работать с платой, от этапа сборки, до этапа эксплуатации вашей умной системы. Начнем с монтажных работ.
Можно ли паять к плате Ардуино элементы?
Конечно да, но не все так просто. Я думаю, что у вас неоригинальная плата, а китайская копия, как и у меня, и у тысяч других любителей электроники. Это значит, что качество изготовления таких устройств довольно сильно отличается в зависимости от конкретного экземпляра.
Паяльные станции и регулируемые термостабилизированные паяльники всё плотнее входят в быт и инструментарий домашних мастеров, однако здесь не все так просто.
Приведу свой пример из жизни. Паяю я уже лет 10, начинал с привычных «ЭПСН», а два года назад обзавелся паяльной станцией. Но это не стало залогом качественной работы, я только убедился, что основное требование – это опыт и качественные материалы.
Я купил в хозяйственном магазине припой в спирали с флюсом, мало того, что там была не канифоль, а что-то по запаху напоминающее паяльную кислоту, так он и паялся не понятно как. Ложился хлопьями, не растекался, имел серый цвет и не блестел после расплава. Настройки станции были такие, как и всегда, но и регулировки не дали результатов.
Я купил плату в разобранном виде, нужно было только припаять контактные планки на их посадочные места, проще простого, подумал я и «погрыз» дорожки.
Жало на паяльнике было толстым, теплоемкости для пропайки хватало, но припой никак не хотел растекаться, а дополнительная зеленая флюс-паста не помогала, в итоге от перегрева от платы отошли дорожки.
Плата была новой – я на неё и десяти скетчев не загрузил. Микроконтроллер остался в живых, но дорожки отошли и порвались. Пользы, как и смысла от платы не осталось, паять напрямую к ножкам атмеги на ардуино нано – неудобно и не оперативно. Как результат – выбросил на ветер пару сотен рублей, а мог купить проверенный припой «ПОС-61» и всё было бы прекрасно.
Выводы:
Паяйте нормальным паяльником – это такой паяльник, у которого нет потенциала фазы на жале (проверяется индикатором), а его мощность не превышает 25-40 Вт. Паяйте нормальным припоем и флюсом. Не пользуйтесь кислотами (активным флюсом) и не перегревайте дорожки.
Примечания: если собрались заменить микроконтроллер, во-первых, если он в SMD-корпусе лучше сделать это феном, а во-вторых, не паяйте его слишком долго (более 10-15 секунд), давайте остыть, а при пайке феном можно положить теплоотвод на средину корпуса в виде монетки или малого радиатора.
Подборка полезных статей про Арудино для начинающих:
Как обращаться с платой ардуино?
Оригинальные модели и многие клоны изготовлены из материалов достаточной прочности. Платы покрыты защитным слоем, дорожки ровные и лежат на толстом текстолите уверено.
Края мельчайших элементов вытравлены достаточно качественно. Всё это позволяет переносить достаточно серьезные удары и падения, незначительные изгибы и вибрации. Тем не менее случаи холодной пайки и непропая случаются.
Вибрация и удары может привести к потере контакта, в таком случае можно пройтись паяльником или прогреть плату феном, будьте аккуратны, и не сдуйте SMD-компоненты.
К влаге плата относится, как и любое электрооборудование – отрицательно. Если вы планируете эксплуатировать прибор на улице – позаботьтесь о покупке герметичных разъёмов и корпусов иначе могут быть плачевные последствия:
1. Неправильное чтение сигнала с аналоговых датчиков.
2. Ложные срабатывания;
3. Короткие замыкания пинов между собой и на землю (см. начало статьи).
Окисел, образовавшийся от работы во влажной среде, может вызывать такие же последствия, как и сама влага, только добавляется еще и вероятность потери контакта, отгнивания элементов и дорожек.
Выводы
Линейка плат Arduino ничем не отличается от любой другой электроники, она также «боится» перегрузок, замыканий, воды и ударов. Особых тонкостей при работе с ней вы не встретите.
Однако будьте внимательны при подключении новых датчиков и прочих дополнительных элементов, лучше лишний раз прозвоните или другим способом проверьте покупку. Случается, что «закороченными» могут оказаться платы периферийных устройств, ведь никогда не знаешь чего ждать от китайских собратьев.
Подключение и программирование Ардуино для начинающих
Электронная промышленность постоянно развивается. Это нетрудно заметить, например, потому что все возрастающая группа продуктов, предназначенных для бытового и профессионального использования, содержит в своей конструкции один или несколько микроконтроллеров. По этой причине на рынке растет спрос на специалистов в области электроники и программирования.
Arduino - это инструмент, который позволяет быстро научиться программировать электронные устройства от простейших основ (управление кнопками и управление светодиодами) до сложных прототипов (например, роботов, поддерживающих производственные процессы).
Изучение микроконтроллеров кажется чем-то сложным и непонятным? До появления Арудино – это было действительно не легко и требовало определенный набор программаторов и прочего оборудования.
Что такое Arduino?
Это своего рода электронный конструктор. Изначальная задача проекта – это позволить людям легко обучаться программированию электронных устройств, при этом уделяя минимальное время электронной части.
Сборка сложнейших схем и соединение плат может осуществляться без паяльника, а с помощью перемычек с разъёмными соединениями «папа» и «мама». Так могут подключаться как навесные элементы, так и платы расширения, которые на лексиконе ардуинщиков зовут просто «Шилды» (shield).
Какую первую плату Arduino купить новичку?
Базовой и самой популярной платой считается Arduino Uno. Эта плата размером напоминает кредитную карту. Довольно крупная. Большинство шилдов которые есть в продаже идеально подходят к ней. На плате для подключения внешних устройств расположены гнезда.
В отечественных магазинах на 2017 год её цена порядка 4-5 долларов. На современных моделях её сердцем является Atmega328.
Изображение платы ардуино и расшифровка функций каждого вывода, Arduino UNO pinout
Микроконтроллер на данной плате это длинна микросхема в корпусе DIP28, что говорит о том, что у него 28 ножек.
Следующая по популярности плата, стоит почти в двое дешевле предыдущей – 2-3 доллара. Это плата Arduino Nano. Актуальные платы построены том же Atmega328, функционально они аналогичны с UNO, различия в размерах и решении согласования с USB, об этом позже подробнее. Еще одним отличием является то, что для подключения к плате устройств предусмотрены штекера, в виде иголок.
Количество пинов (ножек) этой платы совпадает, но вы можете наблюдать что микроконтроллер выполнен в более компактном корпусе TQFP32, в корпусе добавлены ADC6 и ADC7, другие две «лишних» ножки дублируют шину питания. Её размеры довольно компактные – примерно, как большой палец вашей руки.
Третья по популярности плата – это Arduino Pro Mini, на ней нет USB порта для подключения к компьютеру, как осуществляется связь я расскажу немного позже.
Сравнение размеров Arduino Nano и Pro Mini
Это самая маленькая плата из всех рассмотренных, в остальном она аналогична предыдущим двум, а её сердцем является по-прежнему Atmega328. Другие платы рассматривать не будем, так как это статья для начинающих, да и сравнение плат – это тема отдельной статьи.
Arduino Pro Mini pinout, в верхней части схема подключения USB-UART, пин «GRN» - разведен на цепь сброса микроконтроллера, может называться по иному, для чего это нужно вы узнаете далее.
Если UNO удобна для макетирования, то Nano и Pro Mini удобны для финальных версий вашего проекта, потому что занимают мало места.
Как подключить Arduino к компьютеру?
Arduino Uno и Nano подключаются к компьютеру по USB. При этом нет аппаратной поддержки USB порта, здесь применено схемное решение преобразования уровней, обычно называемое USB-to-Serial или USB-UART (rs-232). При этом в микроконтроллер прошит специальный Arduino загрузчик, который позволяет прошиваться по этим шинам.
В Arduino Uno реализована эта вязь на микроконтроллере с поддержкой USB – ATmega16U2 (AT16U2). Получается такая ситуация, что дополнительный микроконтроллер на плате нужен для прошивки основного микроконтроллера.
В Arduino Nano это реализовано микросхемой FT232R, или её аналогом CH340. Это не микроконтроллер — это преобразователь уровней, этот факт облегчает сборку Arduino Nano с нуля своими руками.
Обычно драйвера устанавливаются автоматически при подключении платы Arduino. Однако, когда я купил китайскую копию Arduino Nano, устройство было опознано, но оно не работало, на преобразователе была наклеена круглая наклейка с данными о дате выпуска, не знаю нарочно ли это было сделано, но отклеив её я увидел маркировку CH340.
До этого я не сталкивался с таким и думал, что все USB-UART преобразователи собраны на FT232, пришлось скачать драйвера, их очень легко найти по запросу «Arduino ch340 драйвера». После простой установки – всё заработало!
Через этот же USB порт может и питаться микроконтроллер, т.е. если вы подключите его к адаптеру от мобильного телефона – ваша система будет работать.
Что делать если на моей плате нет USB?
Плата Arduino Pro Mini имеет меньшие габариты. Это достигли тем что убрали USB разъём для прошивки и тот самый USB-UART преобразователь. Поэтому его нужно докупить отдельно. Простейший преобразователь на CH340 (самый дешевый), CPL2102 и FT232R, продаётся стоит от 1 доллара.
При покупке обратите внимание на какое напряжение рассчитан этот переходник. Pro mini бывает в версиях 3.3 и 5 В, на преобразователях часто расположен джампер для переключения напряжения питания.
При прошивке Pro Mini, непосредственно перед её началом необходимо нажимать на RESET, однако в преобразователях с DTR это делать не нужно, схема подключения на рисунке ниже.
Стыкуются они специальными клеммами «Мама-Мама» (female-female).
Собственно, все соединения можно сделать с помощью таких клемм (Dupont), они бывают как с двух сторон с гнездами, так и со штекерами, так и с одной стороны гнездо, а с другой штекер.
Как писать программы для Arduino?
Для работы со скетчами (название прошивки на языке ардуинщиков), есть специальная интегрированная среда для разработки Arduino IDE, скачать бесплатно её можно с официального сайта или с любого тематического ресурса, с установкой проблем обычно не возникает.
Так выглядит интерфейс программы. Писать программы можно на специально разработанном для ардуино упрощенном языке C AVR, по сути это набор библиотек, который называют Wiring, а также на чистом C AVR. Использование которого облегчает код и ускоряет его работу.
В верхней части окна присутствует привычное меню, где можно открыть файл, настройки, выбрать плату, с которой вы работаете (Uno, Nano и много-много других) а также открыть проекты с готовыми примерами кода. Ниже расположен набор кнопок для работы с прошивкой, назначение клавиш вы увидите на рисунке ниже.
В нижней части окна – область для вывода информации о проекте, о состоянии кода, прошивки и наличии ошибок.
Основы программирования в Arduino IDE
В начале кода нужно объявить переменные и подключить дополнительные библиотеки, если они имеются, делается это следующим образом:
Команда Define дают компилятору самому выбрать тип переменной, но вы можете его задать вручную, например, целочисленный int, или с плавающей точкой float.
int led = 13; // создали переменную “led” и присвоили ей значение «13»
Программа может определять состояние пина, как 1 или 0. 1 –это логическая единица, если пин 13 равен 1, то напряжение на его физической ножке будет равняться напряжению питания микроконтроллера (для ардуино UNO и Nano – 5 В)
Запись цифрового сигнала осуществляется командой digitalWrite (пин, значение), например:
digitalWrite(led, high); //запись единицы в пин 13(мы его объявили выше) лог. Единицы.
Как вы могли понять обращение к портам идёт по нумерации на плате, соответствующей цифрой. Вот пример аналогичного предыдущему коду:
digitalWrite (13, high); // устанавливаем вывод 13 в едиицу
Часто востребованная функция задержки времени вызывается командой delay(), значение которой задаётся в миллисекундах, микросекунды достигаются с помощью
delayMicroseconds() Delay (1000); //микроконтроллер будет ждать 1000 мс (1 секунду)
Настройки портов на вход и выход задаются в функции void setup<>, командой:
pinMode(NOMERPORTA, OUTPUT/INPUT); // аргументы – название переменной или номер порта, вход или выход на выбор
Понимаем первую программу «Blink»
В качестве своеобразного «Hello, world» для микроконтроллеров является программа мигания светодиодом, давайте разберем её код:
В начале командой pinMode мы сказали микроконтроллеру назначить порт со светодиодом на выход. Вы уже заметили, что в коде нет объявления переменной “LED_BUILTIN”, дело в том, что в платах Uno, Nano и других с завода к 13 выводу подключен встроенный светодиод и он распаян на плате. Он может быть использован вами для индикации в ваших проектах или для простейшей проверки ваших программ-мигалок.
Далее мы установили вывод к которому подпаян светодиод в единицу (5 В), следующая строка заставляет МК подождать 1 секунду, а затем устанавливает пин LED_BUILTIN в значение нуля, ждет секунду и программа повторяется по кругу, таким образом, когда LED_BUILTIN равен 1 – светодиод(да и любая другая нагрузка подключенная к порту) включен, когда в 0 – выключен.
Всё работает и всё понятно? Тогда идём дальше!
Читаем значение с аналогового порта и используем прочитанные данные
Микроконтроллер AVR Atmega328 имеет встроенный 10 битный аналогово цифровой преобразователь. 10 битный АЦП позволяет считывать значение напряжение от 0 до 5 вольт, с шагом в 1/1024 от всего размаха амплитуды сигнала (5 В).
Чтобы было понятнее рассмотрим ситуацию, допустим значение напряжения на аналоговом входе 2.5 В, значит микроконтроллер прочитает значение с пина «512», если напряжение равно 0 – «0», а если 5 В – (1023). 1023 – потому что счёт идёт с 0, т.е. 0, 1, 2, 3 и т.д. до 1023 – всего 1024 значения.
Вот как это выглядит в коде, на примере стандартного скетча «analogInput»
int sensorPin = A0;
int sensorValue = 0;
Схема подключения потенциометра к Arduino, по аналогии центральный вывод вы можете подключить к любому аналоговому входу.
Ledpin – самостоятельно назначаем пин со встроенным светодиодом на выход и даём индивидуальное имя;
sensorPin – аналоговый вход, задаётся соответственно маркировке на плате: A0, A1, A2 и т.д.;
sensorValue – переменная для хранения целочисленного прочитанного значения и дальнейшей работы с ним.
Код работает так: sensorValue сохраняем прочитанное с sensorPin аналоговое значение (команда analogRead). – здесь работа с аналоговым сигналом заканчивается, дальше всё как в предыдущем примере.
Записываем единицу в ledPin, светодиод включается и ждем время равное значению sensorValue, т.е. от 0 до 1023 миллисекунд. Выключаем светодиод и снова ждем этот период времени, после чего код повторяется.
Таким образом положением потенциометра мы задаем частоту миганий светодиода.
Функция map для Арудино
Не все функции для исполнительных механизмов (мне ни одной не известно) в качестве аргумента поддерживают «1023», например, сервопривод ограничен углом поворота, т.е на пол оборотоа (180 градуов) (пол оборота) сервомоторчика максимальный аргумент функции равен «180»
Теперь о синтаксисе: map (значение которое мы переводим, минимальная величина входного, максимальная величина входного, минимальная выходного, максимальная выходного значения).
В коде это выглядит так:
(map(analogRead(pot), 0, 1023, 0, 180));
Мы считываем значение с потенциометра (analogRead(pot))от 0 до 1023, а на выходе получаем числа от 0 до 180
Значения карты величин:
На практике применим это к работе коду того-же сервопривода, взгляните на код с Arduino IDE, если вы внимательно читали предыдущие разделы, то он пояснений не требует.
И схема подключения.
Выводы Ардуино – очень удобное средство для обучения работы с микроконтроллерами. А если использовать чистый C AVR, или как его иногда называют «Pure C» - вы значительно уменьшите вес кода, и его больше поместиться в память микроконтроллера, в результате вы получите отличную отладочную плату заводского исполнения с возможностью прошивки по USB.
Мнение автора:
Мне нравится ардуино. Жаль, что её многие опытные программисты микроконтроллеров безосновательно ругают, что она слишком упрощена. Упрощен, в принципе, только язык, но никто не заставляет пользоваться именно им, плюс вы можете прошить микроконтроллер через ICSP разъём, и залить туда тот код, который вам хочется, без всяких ненужных Вам бутлоадеров.
Для тех, кто хочет проиграться с электроникой, как продвинутый конструктор – отлично подойдёт, а для опытных программистов как плата, не требующая сборки, тоже станет полезной!
Еще больше информации про Ардуино и особенности его использования в различных схемах смотрите в электронной книге - Ардуино для чайников. Иллюстрированное практическое руководство .
Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!
Записывайтесь в онлайн-университет от GeekBrains:
Изучить C, механизмы отладки и программирования микроконтроллеров;
Получить опыт работы с реальными проектами, в команде и самостоятельно;
Получить удостоверение и сертификат, подтверждающие полученные знания.
Starter box для первых экспериментов в подарок!
После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды.
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
Arduino Uno — флагманская платформа для разработки на языке программирования С++.
Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Понижающий регулятор 5V
Понижающий линейный преобразователь NCP1117ST50T3G обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Arduino Nano, пин 3V3
У Arduino Nano есть ещё один стабилизатор, выход с него – пин 3v3 с напряжением 3.3V. От этого пина можно питать модули, требующие питания 3.3V. Максимальный ток, который можно отсюда снять, зависит от стабилизатора (разные производители ставят разный), в основном это 100-200 мА, но лучше не снимать более 50 мА. На платах Nano от производителя Robotdyn стоит более мощный стабилизатор AMS1117-3.3, с которого можно снять 800 мА!
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
Используется для передачи сигнальных пинов интерфейса SPI при подключении Arduino Shield’ов или других плат расширения. Линии ICSP-разъёма также продублированы на цифровых пинах SS/10 , MOSI/11 , MISO/12 и SCK/13 .
Предназначен для загрузки прошивки в микроконтроллер ATmega328P через внешний программатор. Одна из таких прошивок — Bootloader для Arduino Uno, который позволяет прошивать платформу по USB.
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Что-то пошло не так?
Светодиодная индикация
Имя светодиода Назначение ON Индикатор питания платформы. L Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. RX и TX Мигают при прошивке и обмене данными между Uno и компьютером. А также при использовании пинов 0 и 1 . Элементы платы
Неисправности и их решения
Что делать если ваша плата перестала определяться?! Первым делом нужно проверить напряжение на микроконтроллере atmega16u2, именно она отвечает за загрузку скетча, определения платы и обеспечивает работу терминала. Отсутствие напряжение на микроконтроллере означает потерю связи компьютер-плата. Для начала нужно проверить поступает ли напряжение на плату, удобнее это сделать с обратной стороны. Для того что бы проверить входное напряжение на плате нужно подключить кабель к usb и замерить напряжение на выходах отмеченных на рисунке ниже.
Если же напряжение atmega16u2 нормальное (около пяти вольт) то нужно смотреть в сторону контроллера и интерфейса usb, можно проверить входные сопротивления на рисунке отмечены фиолетовым цветом (должны быть номиналом 20ОМ). Если же сопротивления в порядке, следует проверить сам микроконтроллер для это нужно подключить программатор к разъему программирования isp справа от микроконтроллера и попробовать считать с него данные. В случае успеха не стоит радоваться заранее, у микроконтроллера могут выгореть ножки подключенные к усб, но в целом он будет работать. Признаки не исправного микроконтроллера :
- Сильно греется (за пару секунд нагревается до больших температур)
- Возрастает энергопотребление
- Возможно не все ноги микроконтроллера работают
У вас подозрение что напряжение а микроконтроллере далеко не 5 вольт или его вовсе нет?! За напряжение 5 вольт от внешнего источника отвечает стабилизатор напряжения NCP1117ST50, при потере питания 5 вольт стоит проверить его. Причинами выхода из строя может быть несколько перегрев, превышение допустимых токов и т.д. Расположение и схема включение показана на рисунке ниже.
Если же конденсаторы в подряде и напряжение на входе нормальное, то следует заменить стабилизатор NCP1117ST50 (при отсутствии такого можно использовать AMS1117 5.0 - применяется в китайских копиях Arduino UNO).
В вашей плате исчезло напряжение 3,3 вольта?! Это пожалуй самый простой сценарий и легко поправимый. За преобразования напряжения в 3,3 вольта отвечает маленькая микросхема LP2985-33DBVR, и с связан ней только один элемент конденсатор С3 1мкф. В случае отсутствия нужного напряжения есть смысл первым делом смотреть в ее сторону. Нам нужно проверить напряжение на её входе и выходе.
- Не стоит подключать сомнительные и не рабочие блоки питания (блок с прыгающим напряжении +-0,4 вольта сжег стабилизатор ), лучше выбирать стабилизированные блоки питания.
- Не допускать замыкание контактов + и -.
- Ну и хоть и предельное напряжение всегда высокое, но стоит учесть что чем выше разность входного напряжение и напряжения стабилизатора (+5 В) тем больше нагрев стабилизатора. А перегрев стабилизатора может вывести из строя другие элементы платы. Идеальное напряжение на входе будет 6,6-7,6 вольт. Можно использовать и 12 вольт и все будет работать, но если плата будет работать круглосуточно то я рекомендовал бы способ описанный ниже.
Для достижение этих показателей можно использовать стабилизатор между Arduino и источником питания, тем самым будет греться стабилизатор находящийся за пределами платы. В качестве токового стабилизатора я выбрал L7808CV, поскольку 6,6-7,6 вольт ничего не было пришлось брать на 8 вольт. Собрать можно хоть на макетке если не заворачиваться, схема следующая:
Питание электронного компонента или Ардуино-модуля всегда состоит из двух проводов:
- “Плюс”: +5V или +3.3V. Может быть подписан на плате как 5V, 3.3V, 3V3, Vin, VCC, +. Провод на схеме изображается красным цветом.
- “Минус”: общий провод, 0V. Может быть подписан на плате как GND, COM, G, -. Провод на схеме изображается синим или чёрным цветом.
Несколько моментов о питании:
- Нельзя превышать напряжение питания электронного компонента, иначе он сгорит. То есть провод с 5V нельзя подключать на пин, на котором написано 3V. А вот наоборот – можно: большинство модулей с питанием 5V будут работать от 3.3V. Это будет актуально при работе с платами на базе esp8266, которая работает от 3.3V.
- Подключать питание нужно очень внимательно: минус соединяется с минусом, а плюс – с плюсом. Если перепутать провода – в 99% случаев модуль сгорит, защиту на них делают редко.
- Даже если напряжение питания у модулей разное, выводы GND всех компонентов схемы должны быть соединены вместе, потому что сигналы “ходят” относительно нулевого провода .
- В Ардуино-проекте мы чаще всего используем макетку и подключаем питание всех модулей к выводам питания платы Arduino. Если в проекте используется несколько модулей, то отверстий для проводов питания может не хватить! Именно для этого по краям макетки сделаны длинные линии контактов с подписями плюс и минус: можно подключить питание от платы к ним, и уже от них разводить на остальные компоненты. Это будет называться шиной питания :
Внимание! Перед сборкой схемы или изменением существующей обязательно отключайте питание: USB кабель от Arduino и/или внешний источник. Случайное касание платы проводом может привести к выходу компонента из строя!
Помехи и защита от них
Если в одной цепи питания с Ардуино и другими микросхемами стоят мощные потребители, такие как сервоприводы, адресные светодиодные ленты, модули реле и прочее, на линии питания могут возникать помехи. Они могут приводить к сильным шумам измерений с АЦП, дергать прерывания и даже менять состояния пинов, нарушая связь по различным интерфейсам связи и внося ошибки в показания датчиков. Более сильные пульсации и просадки напряжения иногда могут привести к перезагрузке контроллера или его зависанию.
Более того, помеха может прийти откуда не ждали – по воздуху, например от электродвигателя или любой другой катушки. “Большие дяди” в реальных промышленных устройствах делают очень много для защиты от помех, этому посвящены целые книги и диссертации. Мы с вами рассмотрим самое простое, что можно сделать дома на коленке.
- Питать логическую часть (Ардуино, слаботочные датчики и модули) от отдельного малошумящего блока питания 5V, то есть разделить питание логической и силовой частей, а ещё лучше питаться в пин Vin от блока питания на 7-12V, так как линейный стабилизатор даёт очень качественное напряжение.
- Поставить конденсаторы по питанию платы, максимально близко к пинам 5V/3V и GND: электролит 6.3V 100-470 uF (мкФ, ёмкость зависит от качества питания: при сильных просадках напряжения ставить ёмкость больше, при небольших помехах хватит и 10-47 мкФ) и керамический на 0.1-1 uF. Это сгладит помехи даже от сервоприводов;
- У “выносных” на проводах элементах системы (кнопки, крутилки, датчики) скручивать провода в косичку, преимущественно с землёй. А ещё лучше использовать экранированные провода, экран подключать на GND схемы. Таким образом защищаемся от электромагнитных наводок;
- Металлический и заземленный корпус устройства (или просто обернутый фольгой), на который заземлены все компоненты схемы – залог полного отсутствия помех и наводок по воздуху.
Ещё лучше с фильтрацией помех справится LC фильтр, состоящий из индуктивности и конденсатора. Индуктивность нужно брать с номиналом в районе 100-300 мкГн и с током насыщения больше, чем ток нагрузки после фильтра. Конденсатор – электролит с ёмкостью 100-1000 uF в зависимости опять же от тока потребления нагрузки после фильтра. Подключается вот так, чем ближе к нагрузке – тем лучше:
Подробнее о расчёте фильтров можно почитать здесь.
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Питание напрямую
На всех рассмотренных платах есть вывод питания, который идёт напрямую на питание микроконтроллера (сюда же приходит выход от стабилизатора). Перед скобками указано идеальное напряжение питания, в скобках – допустимый диапазон.
Таким образом Arduino Nano можно питать от блока питания на 5V вместе с остальной схемой, это очень удобно. Платы NodeMCU и Wemos – уже не очень удобно, блок питания на 3.3V найти довольно непросто. Зато отлично подходят две пальчиковых батарейки или аккумулятора.
Пример проекта с питанием напрямую (зелёная плата справа вверху – Micro USB), но на фото плата питается от бортового USB для прошивки.
Важно! На момент подключения к плате USB кабеля для прошивки внешнее питание должно быть подключено, иначе через плату может пойти большой ток!
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Читайте также: