Где покупать? #
"Официальные" Arduino платы стоят довольно дорого, но почти на всё официальное найдётся дешёвый китайский клон, который продаётся по цене компонентов или даже дешевле (такова политика партии). Так что самые низкие цены - на нашем любимом AliExpress. У меня в отдельной статье на сайте собраны ссылки на почти все популярные платы, датчики и модули, с картинкой, описанием и ссылкой на документацию и примеры. Изучив эту страницу, можно получить представление об основных возможностях робототехнических штуковин.
На момент написания урока хорошие цены появились и на отечественных маркетплейсах, так что если лишняя неделя доставки для вас критична - покупайте там
Готовые наборы #
В продаже есть очень много Arduino-наборов. Обычно в них кладут самые корявые и дешёвые варианты китайских модулей, а состав набора не очень сбалансирован. Мы сделали свой набор GyverKIT - максимально большой и продуманный, с самыми ходовыми модулями в нормальном исполнении. Подробнее о наборе можно почитать на официальном сайте. Также данные уроки написаны с упором на GyverKIT - практически все примеры и проекты можно собрать из набора, а ко всем компонентам набора есть подробная документация с примерами и библиотеками.
Основная плата #
Начать стоит с выбора Arduino-совместимой платы. На данный момент их существует несколько сотен разных, но для новичка выбор сводится буквально к нескольким популярным моделям:
Платы отличаются размером, ценой, а самое главное - микроконтроллером, который задаёт основные возможности и особенности работы.
Цена - немаловажный фактор: плату очень легко сломать, неправильно подключив к схеме. Поэтому однозначно не стоит начинать с дорогих моделей
Классические Arduino #
Первые официальные платы на основе устаревших МК AVR. Тем не менее, крайне приятны в работе и обучении:
- ATmega328p
- Arduino UNO - самая первая и самая популярная модель, идёт почти во всех наборах. Не рекомендуется к покупке, т.к. большая и неудобная для подключения
- Arduino Nano - компактная и дешёвая версия UNO, на которой выведены дополнительные пины МК. Самая сбалансированная и удобная плата для большинства проектов - как для макетов, так и для пайки
- Arduino Mini - компактная версия Nano без встроенного "загружатора" для пайки в проект
- ATmega32U4
- Arduino Leonardo - аналог UNO на чуть более современном процессоре, основная фишка - аппаратная эмуляция клавиатуры/мыши по USB
- Arduino Micro - компактная версия Leonardo с теми же возможностями для USB
- Arduino MEGA - плата для очень крупных проектов, имеет много пинов и памяти
- Digispark - дешёвая плата на младшей серии МК - мало пинов и памяти, но есть программная эмуляция USB. Можно взять "на сдачу" - пригодится
Espressif #
Платы на очень мощных и дешёвых китайских МК с огромным объёмом памяти и поддержкой WiFI (старшие модели - ещё и Bluetooth):
- ESP8266
- ESP-01 - сильно урезанная плата без "загружатора" с 1-2 доступными пинами, подходит для компактных проектов
- Wemos D1 mini - очень удобная компактная плата, выведены все доступные пины
- NodeMCU - то же самое, но выведены лишние пины - плата крупнее размером, лишние пины могут запутать
- ESP32
- ESP32 DevKit - плата на более мощном МК, больше памяти и пинов. Неудобно работать на макетке
- ESP32-CAM - версия с цветной камерой и слотом под SD-карту на борту. Неудобно работать на макетке, нет встроенного "загружатора"
- ESP32C3
- Luatos - отличная компактная плата под замену Wemos Mini
- XIAO - очень маленькая плата для самых компактных WiFi-проектов
Pi Pico #
Недорогая и очень популярная на западе плата на мощном двухъядерном процессоре RP2040. Имеет несколько интересных особенностей, умеет программироваться на Python, хорошо показывает себя в проектах, где нужно "быстро дрыгать ногами". Для остального не имеет смысла при наличии на рынке дешёвых ESP с WiFi.
STM32 #
Платы на старых, но гораздо более "мощных" МК STM32. Особо не имеют смысла для работы с Arduino-фреймворком, т.к. раскрывают свои возможности именно при работе "напрямую". Не рекомендуются для знакомства с робототехникой:
- BluePill (STM32F103C8T6)
- BlackPill (STM32F411CE) - более производительный МК
Вывод #
Для знакомства с робототехникой я рекомендую плату Arduino Nano - она недорогая, удобна в подключении, 100% совместима с Arduino-фреймворком и очень стабильна в работе, программа быстро компилируется и быстро загружается. AVR - очень дружелюбная платформа, после изучения C/C++ и Arduino-фреймворка можно для общего развития попробовать программирование на Ассемблере или работу напрямую с регистрами МК по документации на контроллер - это очень поможет в работе с более сложными МК типа STM32 в будущем.
Для проектов с WiFi рекомендую плату Wemos mini. Почему ESP8266, а не ESP32? Потому что 8266 лучше поддерживает Arduino-фреймворк и более стабильна в этом плане, ESP32 пока что сырая и часто выходят обновления с ошибками и нарушением совместимости. Также под ESP8266 быстрее компилируется и загружается код, а стандартные библиотеки довольно лёгкие - в ESP32 заканчивается память, если включить WiFi и Bluetooth - приходится делать переразметку памяти. Ну и последний довод - Wemos удобно втыкается в макетку, ESP32 DevKit - нет. Ещё один хороший вариант - плата Luatos (ESP32C3).
Датчики и модули #
Теперь поговорим о датчиках, ведь зачем нам Ардуино без датчиков? (на самом деле можно придумать пару сотен проектов, где датчики не используются). Всё, что подключается к отладочной плате, можно условно разделить на "рассыпуху" и "модули".
Рассыпуха #
"Рассыпуха" - это то, что не распаяно на плате, также зовётся электронными компонентами или радиоэлементами. Похоже на штучку с ногами, которые никак не подписаны. Кнопки, резисторы, светодиоды, фотодиоды, фототранзисторы, фоторезисторы, потенциометры, резистивные датчики, герконы, датчики холла, термисторы, транзисторы и так далее:
Для знакомства с электроникой, а также просто иметь под рукой рекомендуется следующие компоненты:
- Резисторы 10 кОм и 220 Ом, можно ещё 100 Ом. Минимальной мощности, например 1/4 W
- Светодиоды цветные 5 мм
- Потенциометры 10 кОм
- Тактовые кнопки 6 мм. Можно взять 12 мм с колпачками
- Полевые транзисторы, например IRLB8743PBF или IRF3205
- NTC термистор 10 кОм
- Фоторезистор
Для экспериментов и обучения:
- Сдвиговый регистр 74HC595 (выход), 74HC165 (вход)
- 7-сегментный индикатор 0.36" на 4 цифры
В хозяйстве пригодится:
- Керамические конденсаторы 0.1 uF и 1.0 uF
- Электролитические конденсаторы 16V 100 uF
- 7805 - стабилизатор напряжения на 5V
- LM317 - настраиваемый стабилизатор напряжения
- Маломощные биполярные транзисторы КТ3107 + КТ3102 или 2N2222 + 2N2907 (PNP + NPN)
- Мощные полевые транзисторы IRF540 + IRF5305 (N + P канал)
- PC817 - оптопара с фототранзисторным выходом
- Диоды FR107 (быстрые), UF4007 (ультрабыстрые), 1N4007 (выпрямительные), 1N4148 (маломощные)
- Стабилитроны набором, либо ходовые: 3.6V, 5.1V, 6.8V, 12V, 15V
- TL431 как управляемый стабилитрон
- Таймеры 555 на сдачу
Модули #
Модули: электронный компонент, который распаян на плате и имеет подписанные пины для питания и обмена данными. В то же время, модули можно разбить на простые и сложные. Простые модули это всё та же "рассыпуха", но припаянная к плате, которая имеет 3-4 пина: два на питание (+
и -
/ VCC
и GND
) и третий сигнальный (DO
, OUT
). С сигнального выходит сигнал 0 или 5 V при срабатывании датчика. На модуле стоит компаратор сигнала с возможностью настройки чувствительности. Есть стартовый набор "37 датчиков" и вот даже в нём чего-то не хватало, как мне показалось. Такие модули самостоятельны и могут работать без МК, их можно подключать например к реле с логическим входом:
Датчик звука, датчик температуры, датчик света, датчик препятствия, датчик холла
У "сложных" модулей в основе лежит цифровая микросхема, пины могут быть подписаны как SDA
, SCL
, CLK
, MISO
, MOSI
. Эти модули общаются с МК по специальным цифровым протоколам связи и для работы с ними нужно использовать библиотеки или изучать документацию и писать свою библиотеку:
Выбрать модули по вкусу можно в этом каталоге ссылок на моём сайте, а минимальный набор для обучения должен содержать:
- Дисплей LCD 1602
- Часы реального времени RTC DS3231
- Ультразвуковой датчик расстояния HC-SR04
- Датчик температуры и влажности, например HTU21D
- Сервопривод
- Матрица MAX7219
Подключение, инструменты #
Для комфортной сборки макетов понадобится макетная плата (макетка, breadboard) с набором перемычек папа-папа. Также пригодятся перемычки папа-мама и мама-мама средней длины:
Макетка, перемычки папа-папа и папа-мама для "внешних" модулей
Не ко всем модулям припаяны пины, поэтому понадобится простенький паяльник и припой, он же пригодится при окончательной сборке-пайке проекта. Обратите внимание на наш паяльный набор GyverKIT Solder mini, в него входит USB паяльник и всё нужное для пайки.