Для работы с Arduino понадобится компьютер, USB data-кабель и некоторый софт:
- Компьютер с Windows 7 или выше. На Windows ХР новые версии Arduino IDE либо работают очень плохо, либо не работают вовсе. Также не компилируются некоторые библиотеки и ядро esp8266. MacOS и Linux-подобные ОС тоже подходят, так как среда разработки Arduino IDE кроссплатформенная. Программировать Ардуино можно с планшета или даже смартфона под Андроид при помощи официального приложения, соответственно смартфон/планшет должен иметь поддержку OTG (подключение и работа с внешними устройствами через USB порт). Но это большое извращение, а также не все библиотеки будут компилироваться на смартфоне
- USB кабель должен быть именно Data-кабелем, по такому кабелю передаются данные, например подключается к компьютеру смартфон/фотоаппарат/плеер. В Arduino-наборах всегда идёт нужный кабель, а в комплекте со смартфоном часто можно встретить зарядный кабель - по нему нельзя передавать данные, он нужен только для зарядки
Установка IDE #
Первым делом нужно установить среду разработки - IDE. На данный момент актуальны три варианта, ссылки ведут на отдельные уроки на этом сайте:
- Arduino IDE v1 - старая версия Arduino IDE. Стабильная и надёжная, рекомендую начать с неё
- Arduino IDE v2 - новая версия Arduino IDE. С ней бывают проблемы, но в целом она лучше
- VS Code + PlatformIO - "взрослая" среда разработки проектов, рекомендуется переходить на неё после освоения Arduino IDE
Онлайн IDE #
- Wokwi - онлайн симулятор, в котором можно "собирать" схемы и запускать код, поддерживает установку библиотек из реестра. Симулятор работает отлично, я очень часто им пользуюсь для экспериментов. По нему есть отдельный урок
- Arduino Cloud - официальная онлайн IDE от Arduino
- Tinkercad Circuits - ещё один онлайн симулятор от Autodesk
Установка драйверов #
На китайских платах обычно стоит USB-TTL преобразователь CH340/CH341, FT232 или CP2102. Чтобы компьютер увидел плату - нужно установить драйвер (можно поставить драйверы на все три, чтобы не гадать почему не работает):
- CH340/CH341
- Windows: официальный сайт, Яндекс Диск, версия 2022 года - Яндекс Диск
- MAC: официальный сайт, Яндекс Диск
- CP2102: Официальный сайт, Яндекс Диск
- FT232: Официальный сайт, Яндекс Диск
Некоторые CH340/CH341 некорректно работают с современными драйверами на Windows, приходится ставить версию от 2022 года
Windows
Запускаем и в появившемся окошке нажимаемINSTALL
. Готово!
MacOS
- Актуальная информация: при скачивании с официального сайта в архиве можно найти инструкцию по установке
- Статья со ссылкой на драйвер и инструкциями
- Если у вас будут какие-то проблемы с OSX Sierra и выше, читайте вот эту статью
- Рекомендация от подписчика — устанавливать версию драйвера v1.4 вот отсюда
Linux Mint
- Актуальная информация: при скачивании с официального сайта в архиве можно найти инструкцию по установке
- Статья со ссылкой на драйвер и инструкциями
В Linux уже встроен необходимый драйвер, но Arduino IDE может отказаться с ним работать: Linux определяет ардуинку как устройство ttyUSBn, обычно это ttyUSB0 (это можно узнать командой dmesg
в терминале), то есть в системе появляется интерфейс /dev/ttyUSB0. Чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой (обратите внимание, команда whoami
в обратных кавычках)
sudo usermod -a -G dialout \
whoami\
После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню "Инструменты/Порт" ставим галочку напротив /dev/ttyUSB0.
Linux Arch
Вся информация по работе с IDE на данной ОСи есть в этой статье.
Подключение платы #
Осмотр платы #
Если это новая плата с припаянными пинами - убедитесь в отсутствии дефектов пайки (пины паяются вручную):
Дефект "сопля"
При наличии подобных дефектов плату нельзя подключать к питанию - может сгореть. Обратитесь к продавцу или устраните дефект самостоятельно
Подключение к USB #
Если это новая плата - ничего не подключайте к ней и расположите её на непроводящей поверхности (дерево, пластик, ткань), плата не должна касаться металлических предметов. Первым делом нужно убедиться, что плата рабочая
Плата подключается к компьютеру по USB, на ней должны загореться светодиоды. Если этого не произошло:
- Неисправен USB кабель
- Неисправен USB порт компьютера
- Неисправен USB порт платы
- Попробуйте другой компьютер, чтобы исключить часть проблем
- Попробуйте другую плату (желательно новую), чтобы исключить часть проблем
- На плате сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при подключении схемы
- Плата сгорела полностью из-за неправильного подключения внешнего питания или короткого замыкания
Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко "Установка нового оборудования". Если этого не произошло:
- См. предыдущий список неисправностей
- Кабель должен быть data-кабелем, а не "зарядным"
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
- Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к их установке
В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, например COM3
. Если этого не произошло:
- См. предыдущий список неисправностей
- Некорректно установлен драйвер CH341 из предыдущего урока
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику
Загрузка прошивки #
Выбор платы #
Чтобы скомпилировать программу, нужно указать в IDE микроконтроллер или плату, под которую будет компилироваться код.
Официальные Arduino #
В Arduino IDE все официальные платы на МК AVR доступны по умолчанию, нужно просто выбрать плату в меню. Например для Arduino Nano: Инструменты/Плата/Arduino AVR Boards/Arduino Nano:
У Arduino Nano есть две версии загрузчика, "старый" и "новый". В продаже попадаются платы как со старым, так и с новым загрузчиком. Определить версию загрузчика можно "методом тыка" - если не загрузилось на одном - попробовать на другом: в Arduino IDE они меняются в Инструменты/Процессор, опции ATmega328p и ATmega328p (Old Bootloader)
Другие платы #
Для добавления поддержки других плат и МК, например ESP8266 и ESP32, нужно вставить в настройки (Файл/Настройки/Дополнительные ссылки для Менеджера плат) ссылку на пакет поддержки плат:
- ESP8266:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- ESP32:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
После этого в Менеджере плат можно найти и установить нужный пакет (требуется подключение к Интернет, установка занимает около минуты):
И в списке плат появятся новые варианты:
Выбор порта #
Для того, чтобы загрузить прошивку, нужно выбрать порт, к которому подключена плата. Если всё установлено правильно и плата подключена к ПК - в списке портов появится её порт:
Windows: очень часто COM1
- системный порт, он есть в списке независимо от подключенных плат. Если при подключении платы не появляется новый порт - читайте выше про установку драйверов и поиск неисправностей
Первая прошивка #
Для теста работоспособности можно загрузить стандартный пример, который мигает светодиодом на плате 2 раза в секунду:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, 1);
delay(250);
digitalWrite(LED_BUILTIN, 0);
delay(250);
}
Вставьте данный код в окно IDE и нажмите стрелочку для компиляции и загрузки. Прошивка должна загрузиться и запуститься.