Руководство пользователя по arduino ide

На данной странице находится максимально подробный гайд по началу работы с Arduino, в котором можно найти ответы на все вопросы касательно установки, подключения и загрузки прошивки, а также по работе с моими проектами. Внимательно изучите гайд, прежде чем писать мне на почту или в нашу группу ВК, если у вас что-то не получается, тут есть ответы на все вопросы. Также прилагаю список уроков на этом сайте, где можно найти ещё больше базовой информации:

  • Начало работы
  • Работа с Arduino IDE
  • Первая прошивка, ошибки, FAQ
  • Питание платы

Arduino  IDE


Arduino IDE – программа для написания и загрузки прошивки в плату, скачать можно с официального сайта вот здесь. Внимание! Перевод языка страницы в браузере ломает кнопки! На данный момент называется Legacy IDE (1.8.X), так как вышла новая IDE v2. Новичкам рекомендуется начать с версии 1.8.X.

Перед загрузкой вам предложат пожертвовать на развитие проекта, можно отказаться и нажать JUST DOWNLOAD (только скачать). Либо открываем прямую ссылку на загрузку версии 1.8.19 и сразу качаем файл.

Для работы рекомендуется компьютер с Winodws 7 или выше, либо Linux/MacOS

  • Если у вас Windows XP, придётся установить версию 1.6.13, более свежие версии будут очень сильно тормозить или не будут работать вообще. Есть ещё одна проблема: некоторые библиотеки не будут работать на старых версиях Arduino IDE, также не будет работать поддержка плат семейства esp8266, поэтому крайне рекомендуется обновить свой компьютер до Windows 7 или выше
  • Установка на Linux из системного репозитория – читать тут
  • Установка на MacOS – читать тут

Arduino Windows app
Не рекомендуется устанавливать Arduino Windows app из магазина приложений Windows, так как с ней бывают проблемы

Другие версии
Не устанавливайте старые версии IDE, если нет на то весомых причин, а также beta и hourly-билды

Java


Для старых версий Arduino IDE, а также для некоторых других программ, понадобится пакет Java JRE. Скачать можно с официального сайта для своей операционной системы.

Установка


Arduino IDE устанавливается как обычная программа, запускам и жмём далее далее далее…

Драйвер


Во время установки Arduino IDE программа попросит разрешения установить драйвера от неизвестного производителя, нужно согласиться на установку всего предложенного.

Обновление


Перед установкой новой версии нужно удалить старую. Ни в коем случае не удаляйте папку установленной IDE из Program Files, удалять нужно через “Установка и удаление программ“, либо запустив файл uninstall.exe из папки с установленной программой. Иначе установщик откажется устанавливать новую программу, так как в системе остались следы от старой. Решение этой проблемы описано в видео ниже. Вкратце о том, как удалить IDE вручную:

Удаление остатков IDE

Удаляем папки:

  • Папка с программой
    • C:\Program Files (x86)\Arduino\ (64-битная версия Windows)
    • C:\Program Files\Arduino\ (32-битная версия Windows)
  • Папка со скетчами и библиотеками
    • Документы\Arduino\
  • Папка с настройками и дополнительными “ядрами” плат
    • C:\Пользователи (или Users)\Ваш_пользователь\AppData\Local\Arduino15\

Удаляем следы из реестра:

  • Открыть редактор системного реестра:
    • Windows 10: Пуск/regedit
    • Предыдущие: Пуск/Выполнить/regedit
    • Инструкция для всех Windows
  • В открывшемся окне: Правка/Найти…
    • В окне поиска пишем arduino\uninstall
    • Поиск
  • Удаляем найденный параметр (см. скриншот ниже)
  • На всякий случай Правка/Найти далее
  • Удаляем и так далее, пока не удалим все найденные параметры с arduino\uninstall
  • После этого можно запускать установщик и устанавливать новую программу

Другие проблемы


  • Если перестала запускаться Arduino IDE – удаляем файлик preferences.txt из C:\Пользователи (или Users)\Ваш_пользователь\AppData\Local\Arduino15\

Портативная версия


Вместо полной установки программы можно скачать архив с уже “установленной”, на странице загрузки он называется Windows ZIP file. Вот прямая ссылка на 1.8.19. Распаковав архив, получим портативную версию Arduino IDE, которую можно скинуть на флешку и использовать на любом компьютере без установки программы. Но понадобится установить драйвер CH341 для китайских плат, а также драйверы из папки с программой Arduino IDE (подробнее в следующем уроке). Возможно понадобится установить Java.

Работа на смартфоне


Писать и загружать прошивку через смартфон тоже можно, понадобится смартфон на Android и приложение ArduinoDroid. Также для тренировки и удобного редактирования скетчей можно использовать CppDroid, но загружать в плату она не умеет.

Первое подключение

Осмотр платы


Перед подключением к компьютеру рекомендуется провести визуальный осмотр платы на предмет дефектов пайки компонентов. Что можно встретить (в порядке фотографий):

  • Замкнутые пины (вроде бы паяются китайцами вручную)
  • Неприпаянная нога компонента
  • “Торчащие” вверх или под углом компоненты типа резисторов и конденсаторов, припаянные только с одной стороны
  • Компоненты со смещением
  • “Сопля” между ногами компонента

blank

blank

Плату с обнаруженным дефектом не рекомендуется подключать к компьютеру! Всё можно исправить паяльником, если не умеете сами – попросите того, кто умеет.

Реакция на подключение питания


Как понять, что плата работает корректно? На примере Nano/Uno:

  • При подключении USB загорается и горит светодиод PWR
  • Если плата новая и на ней прошит загрузчик (он обязан быть прошит) – однократно мигает светодиод L
  • Примечание: светодиоды могут быть любого цвета
  • На новой плате прошито “мигание светодиодом”, поэтому светодиод L продолжит мигать один или два раза в секунду в зависимости от версии загрузчика
  • При нажатии на кнопку сброса (RESET, единственная кнопка на плате) должен однократно мигнуть светодиод L, сигнализируя о завершении работы загрузчика.

Если ваша плата ведёт себя иначе – скорее всего это заводской брак, если плата новая, или кривые руки – если плата уже паялась и или куда то подключалась =)

Драйвер USB контроллера

CH341


В своих проектах я использую “Ардуино-совместимые” китайские платы, у которой для подключения по USB используется контроллер CH340/CH341. Чтобы он распознавался компьютером, нужно установить драйвер.

Windows

Скачать драйвер CH341 можно по ссылкам:

  • Официальный сайт
  • FTP моего сайта
  • Яндекс.Диск

Некоторые платы могут плохо работать с актуальной версией драйвера на Windows 11, помогает установить версию от 2022г (удалив новую):

  • FTP моего сайта
  • Яндекс.Диск
  • Сайт OEM Drivers

Запускаем и в появившемся окошке нажимаем INSTALL. Готово!

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

  • C/Program Files/Arduino/drivers (для 32-х разрядной системы)
  • C/Program Files (x86)/Arduino/drivers (для 64-х разрядной системы).

Запустить файл

  • dpinst-x86.exe (для 32-х разрядной системы)
  • dpinst-amd64.exe (для 64-х разрядной системы)

blank

Mac OS

  • Актуальная информация: при скачивании с официального сайта в архиве можно найти инструкцию по установке
  • Статья со ссылкой на драйвер и инструкциями
  • Драйвер CH341 для Mac можно скачать по ссылке с моего сайта, либо со страницы источника. Если у вас будут какие-то проблемы с OSX Sierra и выше, читайте вот эту статью
  • Рекомендация от подписчика – устанавливать версию драйвера v1.4 вот отсюда

Linux Mint

  • Актуальная информация: при скачивании с официального сайта в архиве можно найти инструкцию по установке
  • Статья со ссылкой на драйвер и инструкциями

В Linux уже встроен необходимый драйвер, но Arduino IDE может отказаться с ним работать: Linux определяет ардуинку как устройство ttyUSB*, обычно это ttyUSB0 (это можно узнать командой dmesg в терминале), то есть в системе появляется интерфейс /dev/ttyUSB0. Чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout. Это можно сделать следующей командой (обратите внимание, команда whoami в обратных кавычках)

sudo usermod -a -G dialout `whoami`

После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты/Порт» ставим галочку напротив /dev/ttyUSB0.

Linux Arch

Вся информация по работе с IDE на данной ОСи есть вот в этой статье

FT232


На оригинальных Arduino Nano стоит USB контроллер производства FTDI – FT232, драйвер для всех версий ОС можно скачать с официального сайта (прямая ссылка на инсталлятор для Windows). Некоторые очень редкие китайцы паяют на свои Наны поддельные FTDI контроллеры, которые буквально выходят из строя после некоторых обновлений Windows. Если вам достался такой экземпляр (я никогда не даю ссылки на такие поделки) – подробности по ситуации читайте здесь. Как восстановить контроллер и сделать рабочий драйвер – читайте здесь.

CP2102


На некоторые Arduino-совместимые платы китайцы ставят контроллер USB CP2102. Драйвер на него в большинстве случаев уже есть в системе (на Linux точно есть), если не работает – скачать можно с официального сайта.

  • Прямая ссылка на драйвер для Windows всех версий
  • Прямая ссылка на драйвер для Mac OS

На Windows установка производится следующим образом: достаём из архива и

Настройка и прошивка

Подключение платы


Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер на USB контроллер Arduino
    • Переверните плату и найдите “узкую” микросхему. Если на ней написано CH341 – ставим драйвер по инструкции выше
    • Если написано FT232R – опять же инструкция выше
    • Если ничего не написано – открываем “Диспетчер устройств”, смотрим блок “Другие устройства”. Если при подключении платы к компьютеру там появляется FT232R USB UART – смотрим инструкцию выше
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику или экзорцисту

Выбор и настройка платы (Arduino NANO)


  • Выбираем соответствующую плату в Инструменты\Плата\ Большинство моих проектов сделаны на Arduino Nano. Если вы используете Nano:
    •  В микроконтроллер китайских плат зашит “старый” загрузчик, поэтому выбираем Инструменты\Процессор\ATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Теперь выбираем порт, к которому подключена плата. COM1 – в большинстве случаев системный порт, у вас должен появиться ещё один (обычно COM3)

Загрузка прошивки


“Загрузка” прошивки происходит в два этапа – компиляция и непосредственно загрузка в микроконтроллер. Компиляция – проверка кода на наличие ошибок, её можно запустить, нажав кнопку с символом галочки в верхнем меню программы. Компилировать код можно даже не подключая плату к компьютеру! При нажатии на кнопку с символом стрелочки начнётся компиляция, а затем загрузка скомпилированного кода в плату.

Вставьте следующий код с полной заменой содержимого в IDE и загрузите его. Должен начать мигать светодиод на плате, это означает что все программы настроены верно и можно переходить к работе!

Примечание: данный код является универсальным для всех Arduino-совместимых плат

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, 0);
  delay(300);
  digitalWrite(LED_BUILTIN, 1);
  delay(300);
}

ESP8266 (Wemos, NodeMCU)


ESP8266  – микроконтроллер с WiFi на борту, на его базе сделаны платы Wemos D1 mini, NodeMCU и другие.

  • Читайте вводный урок по esp8266.
  • На популярных платах Wemos и NodeMCU стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с esp8266 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить ESP8266 boards
    • Рекомендуемая версия – 2.7.4, на более высоких пока что наблюдаются проблемы с совместимостью
  • В списке плат Инструменты/Плата/ появится семейство плат на esp8266. Выбираем плату
    • NodeMCU – NodeMCU 1.0
    • Wemos Mini – LOLIN Wemos D1 R2 & mini
    • Или другую согласно своей конфигурации
  • Выбираем порт, к которому подключена плата
  • На четвёртом скриншоте ниже показаны настройки платы по умолчанию, изменены только выделенные красным (плата и порт)

Заметка для NodeMCU. Перед началом загрузки нужно ввести плату в режим прошивки. Подключить к компьютеру, выбрать появившийся порт для загрузки. Зажать кнопку Flash. Кликнуть по кнопке Reset. Отпустить кнопку Flash. И только после этого нажать стрелочку в программе для загрузки прошивки.

ESP32


ESP32  – мощный микроконтроллер с WiFi на борту

  • На плате стоит бортовой USB и CH340 или CP2102 (обычно это указано на странице товара).
  • Установка драйверов описана выше на этой странице.

Для работы с ESP32 нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “esp”. Выбрать и установить esp32
  • В списке плат Инструменты/Плата/ появится семейство плат на esp32. Выбираем плату согласно купленной модификации
  • Выбираем порт, к которому подключена плата

У некоторых плат не работает автоматический запуск в режиме прошивки, поэтому в самом начале процесса загрузки прошивки нужно зажать кнопку Flash (BOOT) на плате

Digispark


Digispark – плата на базе ATtiny85.

  • Читайте вводный урок по Digispark.
  • Подключение к ПК по USB (реализован программно)
  • Нужно установить специальный драйвер, скачать можно на официальном GitHub проекта (в разделе Релизы, вот прямая ссылка на архив), либо с моего FTP. Драйвера есть для Win, MacOS и Linux.
  • Пользователям Linux читать здесь

Для работы с Digispark нужно добавить поддержку плат в Arduino IDE:

  • Arduino IDE/Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
    • http://digistump.com/package_digistump_index.json
    • или https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
  • Нажать ОК
  • Arduino IDE/Инструменты/Плата/Менеджер плат… Начать вводить в поиске “Digispark”. Выбрать и установить Digistump AVR Boards
  • В списке плат Arduino IDE/Инструменты/Плата/ появится семейство плат Digispark. Выбираем Digispark (Default – 16.5mhz)

Прошивка загружается следующим образом: ПЛАТУ НЕ ПОДКЛЮЧАЕМ, ПОРТ НЕ ВЫБИРАЕМ, нажимаем загрузка, ждём компиляции. Появится надпись “подключите плату”. Втыкаем плату в USB и прошивка загружается.

LGT8F328


LGT8F328 – китайский клон ATmega328

  • Читайте вводный урок по lgt8f328.
  • Может понадобиться драйвер (прямая ссылка на архив)

Для работы с LGT8F328 нужно добавить поддержку плат в Arduino IDE:

  • Запустить Arduino IDE, перейти в Файл/Настройки/
  • В окошко “Дополнительные ссылки…” Вставить
  • https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
  • Нажать ОК
  • Перейти в Инструменты/Плата/Менеджер плат… Начать вводить в поиске “lgt8”. Выбрать и установить LGT8fx Boards
  • Теперь в списке плат Инструменты/Плата/ появится семейство плат Logic Green… Выбираем свою плату

“Голые” МК


Для начала рекомендуется изучить вот эти два урока: первый и второй. У проектов на базе голого микроконтроллера есть два варианта:

  • Если проект основан на ATmega328 (Arduino Nano/Mini) и на плате есть источник тактирования на 16 МГц (резонатор), то микроконтроллер можно просто перепаять с Arduino и загружать прошивку через внешний USB-TTL переходник, как на Arduino Pro Mini. Либо загрузить прошивку, и потом перепаивать – всё будет работать.
    • Если источника тактирования нет – так делать нельзя! Сначала нужно настроить МК на внутреннее тактирование, подключив ISP программатор к плате Arduino и выбрав внутренний источник тактирования в настройках ядра. Подробнее читайте в уроке.
  • Если используется новый микроконтроллер (или припаянный китайцами) – он по умолчанию настроен на внутреннее тактирование и его можно паять на плату в любом случае. Загрузить прошивку можно только при помощи ISP программатора. Также можно прошить загрузчик и в дальнейшем загружать прошивку через USB-TTL преобразователь.

Установка библиотек


Библиотека – несколько файлов с кодом, облегчающим работу с датчиками и другими модулями. К моим проектам библиотеки идут в архиве (об этом ниже). Рассмотрим все способы загрузки и установки библиотек.

Менеджер библиотек


Большинство Ардуино-библиотек можно установить автоматически из встроенного в программу менеджера библиотек:

  • Скетч/Подключить библиотеку/Управлять библиотеками…
  • Комбинация клавиш Ctrl+Shift+I

Нужную библиотеку можно найти в поиске по названию и нажать Установка, библиотека будет автоматически установлена в папку с библиотеками. Arduino IDE проверяет обновления библиотек при запуске и предложит обновиться, если найдёт обновления.

Скачивание с GitHub


Не все существующие библиотеки есть в менеджере библиотек и скачать их можно только с GitHub. Есть два способа: скачать весь репозиторий и скачать релиз. Весь репозиторий со всеми “лишними” служебными файлами можно скачать одним архивом вот так, нажав Code/Download ZIP

Если у библиотеки есть релизы – справа будет отмечен последний (свежий) релиз. Нажимаем на него:

И в новом окне нажимаем Source code (zip) – начнётся загрузка архива. Скачивание релиза более предпочтительно, так как содержит только файлы библиотеки.

blank

В обоих случаях библиотека скачается как .zip архив.

Автоматическая установка


Скачанный .zip архив можно установить в автоматическом режиме через Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… В открывшемся окне выбрать скачанный архив, библиотека будет установлена по указанному в настройках пути.

Ручная установка


Для начала нужно распаковать архив (стандартный архиватор Windows или WinRAR). Чтобы Arduino IDE смогла использовать библиотеку, нам нужно положить её туда, где программа будет её искать. Таких мест три (на примере Windows):

  • Документы/Arduino/libraries/
  • Папка с программой/libraries/
    • C/Program Files/Arduino/libraries/ (Windows 32)
    • C/Program Files (x86)/Arduino/libraries/ (Windows 64)
    • В портативной версии IDE желательно держать библиотеки в Папка с программой/libraries

Рекомендуется держать все библиотеки в одном месте, чтобы не было путаницы. Лично я устанавливаю все библиотеки в папку с программой (в Program Files), но для этого могут потребоваться права администратора (зависит от версии и настроек Windows). Если у вас возникли с этим проблемы – устанавливайте в Документы/Arduino/libraries/. На скриншотах показана установка скачанной с GitHub библиотеки в папку с программой и в документы. Ставить нужно в одно место, я просто показываю оба варианта.

Ошибки компиляции


Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо программная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием <название файла>.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по <название файла>.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча.
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Частые ошибки в коде, приводящие к ошибке компиляции

  • …no such file or directory – компилятор не может найти файл, который используется в коде. Чаще всего это библиотека, которую не установили или установили неправильно
  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘\320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки


Возникает на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.

  • Если неправильно выбран COM порт – прошивка не загрузится с ошибкой avrdude: ser_open(): can’t open device. Вернитесь к пункту “Выбор и настройка платы” этого урока и убедитесь в том, что выбор порта активен и при подключении платы появляется новый.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением Ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”.
    • Если это Arduino Nano – попробуйте оба, Old и не Old.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, из-за ошибок записи мог “слететь” загрузчик, его можно попробовать прошить заново.
  • Если все пункты из этого списка проверены, а загрузчик прошить не удаётся – микроконтроллер скорее всего необратимо повреждён, то есть сгорел.

Предупреждения


Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message……. – сообщения с директивой Pragma обычно выводят библиотеки, сообщая о своей версии или каких-то настройках. Это даже не предупреждение, а просто вывод текста в лог.
  • Недостаточно памяти, программа может работать нестабильно – чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти.
  • Предупреждения о несовместимых типах данных. Компилятор не смог привести один тип к другому и сообщает о потенциальных ошибках в ходе выполнения программы. В большинстве случаев ничего плохого не случится, но лучше найти проблемную строку и помочь компилятору преобразовать тип.

Частые вопросы


  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

▶Проекты AlexGyver◀


ВНИМАТЕЛЬНО ЧИТАЙ ИНСТРУКЦИЮ
Если это твой первый опыт работы с Arduino — внимательно изучи каждый пункт инструкции выше, здесь всё написано!!!

Все мои проекты имеют одинаковую структуру и устанавливаются/прошиваются одинаково, поэтому вот финальная общая инструкция:

1. Установить Arduino IDE и драйверы, как написано в гайде выше. Если это ваш первый раз – желательно не подключать ничего к новой плате, а загрузить пробную прошивку из гайда и убедиться, что всё загружается и работает. Если после сборки схемы прошивка перестанет загружаться – увы, схема собрана с ошибками и плата уже могла сгореть. Но она работала, мы это проверили =)

  • Если проект основан не на стандартной Arduino плате, а например на esp8266, ESP32, Digispark, lgt8f328 – устанавливаем поддержку этих плат, как описано выше.

2. Скачать архив со страницы проекта. Ссылка всегда одна, она ведёт на прямую загрузку архива с хранилища GitHub. Когда проект обновляется (об этом может быть написано на странице проекта), ссылка на архив остаётся той же, но в нём будут уже какие-то изменённые файлы, добавлены новые версии прошивки и т.д. Все обновления указаны на странице проекта.

3. Распаковать архив. Архив имеет формат .zip, для его распаковки можно использовать встроенные инструменты операционной системы, либо популярный WinRAR. Если не распаковать архив – прошивка откроется неправильно. Я не отличаюсь буйной фантазией и всегда называю папки одинаково, вот что может быть в архиве проекта:

  • firmware – прошивки для Arduino
  • software – программы для ПК
  • libraries – библиотеки
  • schemes – схемы
  • PCB – gerber файлы печатных плат
  • docs – всякие документы
  • Android – исходники приложения
  • 3Dprint – модели для печати
  • processing – программа на Processing

Извлечение WinRAR

Извлечение Windows

Распакованная папка

4. Установить библиотеки. К прошивкам моих проектов почти всегда идут библиотеки, необходимые для работы. Библиотеки в проектах часто пересекаются, но рекомендуется ставить именно версию, идущую в архиве с проектом, так как библиотеки обновляются и могут быть несовместимы со старыми проектами.

Примечание: если в папке с библиотеками уже есть библиотека как в архиве проекта – удалите её перед копированием. Нужная библиотека из архива может содержать другой набор папок и файлов, что приведёт к конфликту при “замене” папки!

Примечание: не у всех проектов в архиве есть папка с библиотеками. Если её нет – дополнительно устанавливать ничего не нужно.

Примечание: если на странице проекта сказано установить конкретные библиотеки с перечислением названий – их нужно установить через менеджер библиотек по названиям, как описано выше в гайде.

Содержимое папки libraries из архива помещаем в:

  • Документы/Arduino/libraries/

Установка в документы

Примечание: в видео инструкции выше сказано устанавливать библиотеки в папку с программой. На Windows 10 и выше это требует прав администратора, так что лучше устанавливать библиотеки в Документы.

К разным проектам идут разные версии одних и тех же библиотек, они не всегда совместимы. При возникновении ошибок рекомендуется удалить текущие версии и заменить их теми, которые идут в архиве.

5. Открыть скетч (так называется файл с программой). При запуске файла скетча автоматически откроется Arduino IDE. Важно: если в папке со скетчем есть несколько файлов – запускаем любой с логотипом Arduino. Остальные файлы должны подтянуться автоматически и образовать вкладки в окне программы. Если запускать скетч прямо из архива – вкладки не откроются и скомпилировать/загрузить программу будет невозможно.

Вкладки в Arduino IDE

6. Выбрать плату и порт. Выбираем в настройках программы соответствующую плату и порт куда она подключена, как в гайде выше. Важные моменты по настройкам самой платы обычно указано в описании конкретного проекта.

  • Для проектов на Arduino Nano выбираем Arduino Nano, а также Инструменты\Процессор\ATmega328p (Old Bootloader). Если вам по какой-то причине пришлют платы с новым загрузчиком – прошивка не загрузится (будет минутная загрузка и ошибка), можно попробовать сменить пункт Процессор на ATmega328p
  • Для проектов на Wemos выбираем (LOLIN)Wemos D1 R2 & mini
  • Для проектов на NodeMCU выбираем NodeMCU 1.0
  • В некоторых проектах, например GyverLamp2 (второй версии) для прошивки в esp8266 нужно выбрать плату Generic esp8266, читайте особенности загрузки на странице проекта!
  • Для проектов на Digispark порт выбирать не надо, читай инструкцию выше

blank

blank

7. Настроить программу. Очень часто в начале кода моих программ можно встретить блок настроек. Настройки обычно имеют вид

#define SOME_SETTING 1  // 1 включено, 0 выключено

где цифра отвечает за значение настройки, менять нужно только цифру согласно комментарию.

8. Загрузить прошивку. Нажимаем стрелочку в левом верхнем углу окна программы и прошивка загружается. Не загружается? Читаем гайд выше, там описаны все возможные причины.

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если потребитель его потребует – это может привести к выгоранию защитного диода на плате Arduino.

9. Если что-то не работает – читай инструкцию, в ней описан каждый шаг и решение всех проблем. Также в самом начале есть видео, где всё показано ещё более подробно.

Заметка для тех, кто не читал инструкцию и получил какую-то ошибку. Вот список самых частых причин:

  • Не распаковал архив и запустил скетч прямо из него, получил ошибку компиляции в стиле not declared in this scope. РАСПАКУЙ АРХИВ
  • В логе ошибок встречается фраза no such file or directory – не установил библиотеки. УСТАНОВИ БИБЛИОТЕКИ
  • Происходит ошибка загрузки. ВЕРНИСЬ К ИНСТРУКЦИИ ПО НАСТРОЙКЕ IDE
  • На плате что-то греется и прошивка не грузится. ДОПУСТИЛ ОШИБКУ ПРИ СБОРКЕ, ВСЁ СГОРЕЛО
  • Установил старую или кривую версию Arduino IDE и получил непонятные ошибки – удали старую и УСТАНОВИ СВЕЖУЮ ВЕРСИЮ
  • Ошибка где-то в библиотеке. УДАЛИ БИБЛИОТЕКИ, СОВПАДАЮЩИЕ С ТЕМИ, ЧТО В АРХИВЕ ПРОЕКТА, И СКОПИРУЙ ИХ ЗАНОВО
  • Некоторые проекты будут работать только на тех платах, что показаны в видео и описаны на странице проекта. Под другие платы прошивка компилироваться не будет!

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

Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.

Что такое Arduino и для чего оно нужно?

Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!

С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.

проекты на Arduino

проекты на Arduino

Стартовый набор Arduino

Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:

Базовый набор ардуино для начинающих: Купить
Большой набор для обучения и первых проектов: Купить
Набор дополнительных датчиков и модулей: Купить
Ардуино Уно самая базовая и удобная модель из линейки: Купить
Беспаечная макетная плата для удобного обучения и прототипирования: Купить
Набор проводов с удобными коннекторами: Купить
Комплект светодиодов: Купить
Комплект резисторов: Купить
Кнопки: Купить
Потенциометры: Купить

Среда разработки Arduino IDE

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

Язык программирования Ардуино

Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.

Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:

  • После каждой инструкции необходимо ставить знак точки с запятой (;)
  • Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
  • Так же необходимо указывать тип данных перед объявлением переменной.
  • Комментарии обозначаются: // Строчный и /* блочный */

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

Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().

Функция setup

Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключенные библиотеки. Если для вашей прошивки ничего подобного делать не нужно, то функция все равно должна быть объявлена. Вот стандартный пример функции setup():

void setup() {
	Serial.begin(9600);	// Открываем serial соединение
	pinMode(9, INPUT);	// Назначаем 9 пин входом
	pinMode(13, OUTPUT); // Назначаем 13 пин выходом
}

В этом примере просто открывается последовательный порт для связи с компьютером и пины 9 и 13 назначаются входом и выходом. Ничего сложного. Но если вам что-либо не понятно, вы всегда можете задать вопрос в комментариях ниже.

Функция loop

Функция loop() выполняется после функции setup(). Loop в переводе с английского значит «петля». Это говорит о том что функция зациклена, то есть будет выполняться снова и снова. Например микроконтроллер ATmega328, который установлен в большинстве плат Arduino, будет выполнять функцию loop около 10 000 раз в секунду (если не используются задержки и сложные вычисления). Благодаря этому у нас есть большие возможности.

Макетная плата Breadbord

Вы можете создавать простые и сложные устройства. Для удобства я советую приобрести макетную плату (Breadbord) и соединительные провода. С их помощью вам не придется паять и перепаивать провода, модули, кнопки и датчики для разных проектов и отладки. С беспаечной макетной платой разработка становится более простой, удобной и быстрой. Как работать с макетной платой я рассказывал в этом уроке. Вот список беспаечных макетных плат:

Макетная плата на 800 точек с 2 шинами питания, платой подачи питания и проводами: Купить
Большая макетная плата на 1600 точек с 4 шинами питания: Купить
Макетная плата на 800 точек с 2 шинами питания: Купить
Макетная плата на 400 точек с 2 шинами питания: Купить
Макетная плата на 170 точек: Купить
Соединительные провода 120 штук: Купить

Первый проект на Arduino

Давайте соберем первое устройство на базе Ардуино. Мы просто подключим тактовую кнопку и светодиод к ардуинке. Схема проекта выглядит так:

Управление яркостью светодиода

Управление яркостью светодиода

Обратите внимание на дополнительные резисторы в схеме. Один из них ограничивает ток для светодиода, а второй притягивает контакт кнопки к земле. Как это работает и зачем это нужно я объяснял в этом уроке.

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

 // переменные с пинами подключенных устройств
int switchPin = 8;
int ledPin = 11;

// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;

void setup() {
	pinMode(switchPin, INPUT);
	pinMode(ledPin, OUTPUT);
}

// функция для подавления дребезга
boolean debounse(boolean last) {
	boolean current = digitalRead(switchPin);
	if(last != current) {
		delay(5);
		current = digitalRead(switchPin);
	}
	return current;
}

void loop() {
	currentButton = debounse(lastButton);
	if(lastButton == LOW && currentButton == HIGH) {
		ledOn = !ledOn;
	}
	lastButton = currentButton;
	digitalWrite(ledPin, ledOn);
}

В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть целый урок на моем сайте. Обязательно ознакомьтесь с этим материалом.

ШИМ Arduino

Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:

ШИМ ардуино

ШИМ ардуино

Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.

В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.

Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:

 // Светодиод подключен к 11 пину
int ledPin = 11;

void setup() {
	pinMode(ledPin, OUTPUT);
}

void loop() {
	for (int i = 0; i < 255; i++) {
		analogWrite(ledPin, i);
		delay(5);
	}

	delay(1000);

	for (int i = 255; i > 0; i--) {
		analogWrite(ledPin, i);
		delay(5);
	}
}

Аналоговые входы Arduino

Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.

Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:

Подключение фоторезистора к Ардуино

Подключение фоторезистора к Ардуино

В схеме присутствует стягивающий резистор на 10 КОм. Он нужен для того что бы избежать наводок и помех. Теперь посмотрим на скетч:

int sensePin = 0; // Пин к которому подключен фоторезистор
 
void setup() {
 analogReferense(DEFAULT); // Задаем опорное значение напряжения. Эта строка не обязательна.
 Serial.begin(9600); // Открываем порт на скорости 9600 бод.
}
 
void loop() {
 Serial.println(analogRead(sensePin)); // Считываем значение и выводим в порт
 delay(500); // задержка для того что бы значений было не слишком много
}

Вот так из двух простейших элементов и четырех строк кода мы сделали датчик освещенности. На базе этого устройства мы можем сделать умный светильник или ночник. Очень простое и полезное устройство.

Вот мы и рассмотрели основы работы с Arduino. Теперь вы можете сделать простейшие проекты. Что бы продолжить обучение и освоить все тонкости, я советую прочитать книги по ардуино и пройти бесплатный обучающий курс. После этого вы сможете делать самые сложные проекты, которые только сможете придумать.

Это второй урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь работать со средой Arduino IDE.

Для урока Вам понадобится компьютер с доступом в Интернет и любой модуль Arduino.

Многие слышали о таких модулях как Arduino. Появляется вопрос: с чего же начать его изучение? Театр начинается с вешалки, а знакомство с Arduino начинается со среды разработки Arduino IDE.

Давайте найдём ответ на вопрос: зачем нам всё таки нужна эта IDE? Ответ достаточно прост. Среда Arduino IDE необходима для разработки программ и их записи в модули Arduino (и не только).

С предназначением IDE разобрались, теперь давайте изучим, что же она из себя представляет.

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

Среда разработки Arduino IDE состоит из следующих компонентов:

  • Текстовый редактор кода программы (1);
  • Область сообщений (2);
  • Консоль (3);
  • Панель инструментов (4);
  • Панель с часто используемыми командами (5).

Написанная в среде ArduinoIDE программа называется «скетч». Сама программа пишется в текстовом редакторе. В области сообщений выводятся ошибки и пояснения. В консоли отображается полный отчёт о компиляции программы, различные ошибки, подсказки и другая полезная информация. Панель инструментов представляет собой набор полезных функций при разработке программы. На панели с часто используемыми командами всего несколько кнопок, но они являются самыми основными при разработке программы.

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

Язык программирования Arduino:

Фактически нет особого языка программирования Arduino. Модули Arduino программируются на C/C++. Особенности программирования сводятся к тому, что существует набор библиотек, включающий некоторые функции (pinMode, digitalWrite и т.д.) и объекты (Serial), которые значительно облегчают процесс написания программы.

Настройка среды Arduino IDE:

Открыть настройки среды можно из пункта меню Файл -> Настройки или с помощью комбинации клавиш Ctrl + ,

В меню настроек можно изменить путь сохранения программ по умолчанию, изменить размер шрифтов и т.д.

Различные примеры:

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

Создание новой программы:

Итак, с настройками среды мы разобрались. Что теперь? А сейчас нужно создать новую программу. Это можно сделать несколькими способами:

  • из пункта меню Файл -> Новый;

  • при помощи комбинации клавиш Ctrl + N;
  • из панели с часто используемыми командами 

Сохранение программы:

Допустим мы написали программу. Далее нужно сохранить. Сделать это можно несколькими способами:

  • из пункта меню Файл -> Сохранить;

  • при помощи комбинации клавиш Ctrl + S;
  • из панели с часто используемыми командами 

Теперь нужно только ввести имя вашей программы (оно не должно содержать русских символов!) и выбрать место, куда её сохранить. Сохранённая программа автоматически помещается в одноимённую папку, которая создаёт сама Arduino IDE.

Открытие программы:

Теперь мы научились создавать и сохранять программу. Но как теперь открыть сохранённую программу? Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Файл -> Открыть;

  • при помощи комбинации клавиш Ctrl + O;
  • из панели с часто используемыми командами 

В открывшимся окошке нужно выбрать папку, в которой находится нужная программа.

Редактирование текста программы:

Удобный редактор текста программы очень важен при разработке какой-либо программы. В Arduino IDE он довольно неплох, однако уступает конкурентам, таким как Eclipse, Visual Studio и т.д. Однако, его вполне достаточно. В редакторе присутствуют все основные команды, необходимые при редактировании кода. Они находятся в меню Правка. Для самых часто используемых команд (копировать, ставить и т.д.) существуют комбинации, способствующие быстрому доступу к нужной команде правки, что очень удобно. Другими отличительными особенностями встроенного редактора кода являются возможность копирования кода для форумов и в html формате, что позволяет делится Вашими программами, сохраняя наглядность разметки в виде BB кодов или html разметки соответственно.

Давайте остановимся на основных командах, необходимых для редактирования программы:

  • Копировать. Пункт меню Правка -> Копировать или комбинация клавиш Ctrl + C;
  • Вставить. Пункт меню Правка -> Вставить или комбинация клавиш Ctrl + V;
  • Вырезать. Пункт меню Правка -> Вырезать или комбинация клавиш Ctrl + X;
  • Выделить всё. Пункт меню Правка -> Выделить всё или комбинация клавиш Ctrl + A;
  • Найти. Пункт меню Правка -> Найти или комбинация клавиш Ctrl + F;
  • Отменить. Пункт меню Правка -> Отменить или комбинация клавиш Ctrl + Z;
  • Вернуть. Пункт меню Правка -> Вернуть или комбинация клавиш Ctrl + Y;
  • Форматировать текст программы. Пункт меню Инструменты -> АвтоФорматирование или комбинация клавиш Ctrl + T. Эта команда позволяет исправить неточности в разметке программы и привести её в более читабельный вид.

Дорогой читатель, удобнее и быстрее всего пользоваться комбинациями клавиш при редактировании текста программы.

Подключение библиотеки:

Давайте разберёмся, что же такое библиотека. Библиотека — это набор функций, предназначенных для того, чтобы максимально упростить работу с различными модулями, датчиками и т.д. Например, библиотека LowPower позволяет легко управлять режимами энергосбережения модулей Arduino. Существует огромное количество различных модулей и датчиков. Но как ими управлять? Для этого разработаны специальные библиотеки, которые значительно облегчают работу. Но перед тем, как использовать дополнительные библиотеки, необходимо установить и подключить их. А как подключить библиотеку, спросите Вы? Есть несколько способов:

  • Предварительно скачав нужную библиотеку её также можно подключить к своей программе. Если она находится в zip архиве, то её можно подключить следующим способом. Для этого нужно перейти в меню Скетч -> Подключить библиотеку -> Подключить .ZIP библиотеку и в открывшемся окошке выбрать zip архив с библиотекой. Теперь эта библиотека появится в списке установленных и её можно подключить через меню Скетч -> Подключить библиотеку. Если у Вас открыта Arduino IDE, то её нужно перезапустить, чтобы изменения были применены.
  • Подключить библиотеку можно и без использования Arduino IDE. Для этого необходимо её скачать и скопировать папку с библиотекой по следующему пути: X:\Пользователи\<Имя пользователя>\Документы\Arduino\libraries. Если у Вас открыта Arduino IDE, то её нужно перезапустить, чтобы изменения были применены. Теперь эта библиотека появится в списке установленных и её можно подключить через меню
    Скетч -> Подключить библиотеку. Однако можно и вручную в программе подключить библиотеку. Для этого перед функцией setup() нужно прописать следующую конструкцию #include <имя заголовочного файла.h> или #include «имя заголовочного файла.h».

В каждой библиотеке есть различные примеры использования функционала библиотеки. Имя заголовочного файла можно найти там. Дорогой читатель, рекомендуем внимательно изучать примеры, ведь любая, даже большая программа, состоит из кусочков простых примеров.

Выбор платы:

Существует довольно большое количество модулей Arduino. Загружать написанную программу нужно именно в тот тип модуля, который подключён к компьютеру. Выбрать модуль можно в меню Инструменты -> Плата.

В списке находятся все официальные версии модулей Arduino. Если нужного модуля нет в списке, то его можно добавить. Это рассмотрено в следующем уроке.

Далее необходимо выбрать тип контроллера, который установлен на модуле Arduino (на каждом контроллере есть маркировка). Это можно сделать в меню Инструменты -> Процессор.

Компиляция программы:

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

С понятием компиляции мы разобрались. А как теперь открыть скомпилировать написанную программу? Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Скетч -> Проверить/Компилировать;

  • при помощи комбинации клавиш Ctrl + R;
  • из панели с часто используемыми командами 

После успешной компиляции будет выведено сообщение об этом. Также в области сообщений можно найти информацию о том, сколько памяти занимает написанная программа. Если в программе есть ошибки, тогда в области сообщений будет выведено сообщение с указанием конкретной строки и ошибки в ней.

Выбор программатора:

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

Т.к. в модулях Arduino уже есть свой встроенный программатор, то в качестве программатора в меню Инструменты -> Программатор нужно оставить стандартный AVRISP mkII.

Запись загрузчика:

При помощи команды Инструменты -> Записать загрузчик в микроконтроллер можно записать загрузчик. При использовании Arduino этого не требуется, однако эта команда может пригодиться если Вы хотите прошивать обычный микроконтроллер фирмы Atmel (именно микроконтроллеры фирмы Atmel стоят в модулях Arduino и как правило, они продаются без встроенного загрузчика) аналогично Arduino. Если Вы хотите разобраться с этим, рекомендуем прочесть этот урок.

Загрузка программы:

Теперь, когда почти со всеми элементами среды Arduino IDE мы разобрались, можно приступать к финальному этапу — загрузке программы в модуль Arduino.

Прежде чем загружать программу, нужно выбрать порт, к которому подключён Ваш модуль Arduino. Выбрать его можно в меню Инструменты -> Порт.

Это не обязательно должен быть COM5, как на рисунке. Имя порта у Вас, скорее всего, будет другим (COM3, COM 10 и т.д.).

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

Для этого в Arduino IDE предусмотрено несколько способов:

  • из пункта меню Скетч -> Загрузка;

  • при помощи комбинации клавиш Ctrl + U;
  • из панели с часто используемыми командами 

В процессе загрузки программы первым этапом код будет скомпилирован, а только потом, если не возникло ошибок в ходе компиляции, будет записан в модуль Arduino. При успешной загрузке программы в области сообщений появится сообщение об этом.

Рекомендуем включить подробный вывод информации при компиляции и загрузке программы, это зачастую помогает выявить тип ошибки при компиляции или загрузке программы. Для этого в меню Файл -> Настройки установить соответствующие галочки.

Монитор последовательного порта:

Между Arduino и компьютером можно обмениваться данными через последовательный порт (он же интерфейс UART). Монитор последовательного порта может использоваться как для вывода отладочной информации от модуля Arduino, так и для других целей. Через него можно как отправлять данные в модуль Arduino, так и получать данные от него. Не забудьте выбрать порт, к которому подключён модуль Arduino, иначе монитор последовательного порта не откроется! При его открытии модуль Arduino перезагрузится!

Открыть окно монитора последовательного порта можно несколькими способами:

  • из пункта меню Инструменты -> Монитор порта;

  • при помощи комбинации клавиш Ctrl + Shift + M;
  • из панели с часто используемыми командами (в правом верхнем углу) 

После открытия монитора последовательного порта появится следующее окошко:

В самом низу этого окошка можно изменить скорость работы порта (она должна совпадать с той, которая указана в программе!) очистить окно и т.д.

Пример полного цикла разработки программы в Arduino IDE:

А теперь, дорогой читатель, давайте полностью пройдём все этапы разработки программы в Arduino IDE.

Начнём мы не со стандартного мигания светодиодом, а с классического примера из программирования — вывода на экран «Hello World!».

Запускаем Arduino IDE 

Откроется следующее окошко:

Ждём открытия среды. Когда она открылась, создаём новую программу путём нажатия на комбинацию клавиш Ctrl + N.

Теперь давайте сохраним эту программу под именем Hello_World, для этого нажимаем на комбинацию клавиш Ctrl + S, вводим путь, куда сохраним программу и её имя.

В указанной директории появится папка с программой Hello_World.

Теперь давайте напишем сам код. Мы хотим с периодичностью в 5 секунд выводить сообщение Hello World! на экран, т.е. в монитор последовательного порта. Никаких сторонних библиотек для этого нам не понадобится. Скопируйте следующий код в IDE.

Текст программы:

/*————————————————*/

void setup() {

  Serial.begin(9600); // конфигурируем последовательный порт на скорость 9600 бод

}

/*————————————————*/

void loop() {

  Serial.println(«Hello World!»); // выводим в каждый раз в новую строку Hello World!

  delay(5000); // ждём 5 секунд (1 с = 1000 мс)

}

/*————————————————*/

Пояснение программы »

Функция setup() запускается однократно при запуске программы. В ней инициализируется последовательный порт и его скорость (9600 бод).  Функция loop() вызывается после функции setup(). Функция представляет собой бесконечный цикл, в котором выполняется пользовательская программа. В ней при помощи функции  Serial.println(«Hello World!») мы каждый раз в новую строку выводим сообщение Hello World! она порт. Функция delay (5000) устанавливает задержку при выполнении программы на 5000 мс, т.е. сообщение выводится раз в 5 секунд. Таким образом, мы выводим наше сообщение с периодичностью 5 секунд.

Теперь сохраните его при помощи комбинации клавиш Ctrl + S.

Когда программа написана, подключите модуль Arduino к компьютеру (в данном примере используется Arduino Nano).

В меню  Инструменты -> Плата выберите ваш модуль Arduino (у нас — Arduino Nano).

Далее в меню Инструменты -> Процессор выберите процессор (микроконтроллер), который установлен на модуле Arduino. В нашем примере в модуле Nano стоит микроконтроллер Atmega328.

Теперь, проверьте, какой программатор установлен в меню Инструменты -> Программатор, он должен быть AVRISP mkII.

Давайте скомпилируем нашу программу и узнаем, сколько же она занимает места в памяти микроконтроллера. Для этого нажмём комбинацию клавиш  Ctrl + R.

Наша программа занимает 5% памяти программ (флеш памяти) и 9% оперативной памяти.

Всё готово к загрузке программы. Для этого нажмите комбинацию клавиш Ctrl + U и наша программа загрузится в модуль. После успешной загрузки появится сообщение об этом.

Теперь давайте откроем монитор последовательного порта (в правом верхнем углу IDE) 

После загрузки программы в модуль Arduino, в монитор последовательного порта с периодом в 5 секунд будет выводиться сообщение Hello World!.

Уважаемый читатель, мы предлагаем Вам обратиться к разделу «Программирование» на нашем сайте. Там Вы найдёте описание и примеры работы с различными функциями программирования модулей Arduino.

Спасибо за то, что учитесь познавать удивительный мир радиоэлектроники вместе с нами.

Верьте в себя, учитесь и у Вас всё обязательно получится!

Удачи в дальнейших проектах!

Супер-быстрый старт с Ардуино: берёшь и делаешь

Время на прочтение
5 мин

Количество просмотров 245K

Когда я начала заниматься Ардуино, мне казалось, что весь мир только и делает, что занимается тем же. На самом деле оказалось, что, как и мне, многим просто трудно начать, «въехать» в саму тему. Поэтому я решила написать быстрый гайд для того, чтобы вы сразу могли взять несколько компонентов и попробовать эту игрушку. Вероятно, после прочтения, вы даже сразу во многом поймёте что к чему и без моих будущих постов. Итак.


Если вы не попробовали Ардуино только потому, что не можете начать, не зная что к чему, я сейчас спасу вас.

Ардуино — это просто, как конструктор Lego. Но когда его начинают объяснять, то всплывает куча баззвордов: среда разработки, железо, камень, прошивка, библиотека, драйвер, скетч, исполняемый файл, компоненты, навыки программирования, программно-аппаратная часть, ардуино-совместимая платформа… Да тут кто хочешь с ума сойдёт, надо же так усложнять простой набор игрушек для детей! =)
На самом деле всё просто: у нас есть сама Ардуино — это мозг наших будущих игрушек, которые мы с ней соберём.

У нас есть две готовых шилды на выбор. Почему? Мы сейчас «воткнем» Ардуину в одну шилду, посмотрим, как она работает, а затем перепрограммируем и воткнём в другую — и снова убедимся, что работает. Так нам сразу станет понятно, и мы сможем двигаться дальше — благо направлений развития вместе с Ардуиной — много.

Первая шилда — супер-интересная. Из неё мы сделаем радио, о котором я ещё много расскажу, но не сейчас. Набор хорош тем, что в нём множество компонентов и можно по-разному надстраивать конечную функциональность устройства. Но это всё потом. Ардуино в этом наборе уже есть, поэтому её не надо покупать отдельно. Вторая шилда — супер-красивая. Ею мы уютно и замысловато осветим наш мир. Про неё я тоже много чего планирую рассказать, но позже. Вы можете выбрать любые другие шилды, но мне понравились именно эти, потому что — забегая вперёд — у них большое будущее ;)

План действий сейчас такой: подключаем и перепрограммируем нашу Ардуину, чтобы посмотреть, как это работает и убедиться, что это просто. Разбираться что к чему будем потом.

Шаг 1: Cоберите первую шилду

Берём этот набор. Собираем радио по инструкции. Это просто, как собрать игрушку из киндер-сюрприза. Только гораздо более увлекательно!

Что мы только что сделали? Мы «навтыкали» компонентов в готовую шилду, «воткнули» в неё же Ардуину с загруженным заранее скетчем для работы всех этих компонентов. Всё, у нас готовое устройство. И оно работает! =)

Шаг 2: установите IDE

Всё, с первой шилдой мы увидели, как это всё собирается и работает. Теперь — самое главное: ОТКЛЮЧАЕМ ПИТАНИЕ. Достаём Ардуино и берём следующую шилду.

Наша новая шилда, если верить надписям на ней, называется MP 1051. У Ардуино глаз нет, поэтому она не знает эту шилду и не может с ней работать пока что. Сейчас мы это исправим.

Для того, чтобы Ардуина знала, где на этой шилде что, и что там вообще есть, нам нужна эта библиотека. А для того, чтобы она начала этим всем манипулировать, нам нужен какой-нибудь из этих скетчей — начнём с первого: для него не нужен пульт.

Хозяйке на заметку:
Если Ардуино — это голова, мозг, то:

Библиотека — это файлы .h и .cc — это руки-ноги. То есть то, чем можно ходить, бегать, танцевать, светить. Библиотека даёт Ардуине представление о том, во что её (Ардуину) «воткнули» и чем она теперь может светить-шевелить.

Скетч — это файлы .ino, и, собственно, это сам танец, сама ходьба, сама последовательность мигания или яркость свечения — словом, скетч отвечает за то, что Ардуина со своими «руками-ногами» делает.

Загрузить в Arduino библиотеку и скетч можно при помощи программы IDE. Если сам конструктор Ардуино похож на лего, то программа IDE похожа на iTunes: для того, чтобы загрузить музыку в телефон, вам нужна специальная программа? Миллионы людей справляются с этой задачей, справимся и мы с IDE.

1. Скачайте IDE здесь.

2. Установите IDE как обычную программу.
Узнать больше: для Windows

3. Подключите Ардуину по USB

4. Запустите IDE (с правами супер-пользователя, если вам это о чем-либо говорит. Если нет, то забейте на эти права. Если да — скачайте версию 1.0.1 — всё, что старше, на Linux работает криво).

5. Выберите тип Ардуины. (Выберется, скорее всего, автоматически. Но у нас в руках из набора Arduino Nano 3.0 и на квадратном процессоре сверху написано Amtel Mega 328p — это значит, из меню выбираем Nano ATmega328).

6. Проверьте, компьютер видит Ардуину: виден её порт, через который мы её подключили.

Всё готово? Сейчас разберёмся с тем, что загрузить и как, и через 5 минут лампочки (диоды!) на нашей новой шилде будут весело освещать наш дом.

Troubleshooting:

Если порт не найден, отсоедините всё и закройте программу. Присоедините Ардуино заново, можно к новому порту, откройте программу. Это похоже на мобильное приложение у вас в телефоне: если оно зависло, вы его перезапускаете, и оно снова работает. Здесь тот же принцип troubleshooting. =)

Шаг 3: Используйте скетч и библиотеку по назначению

Здесь-то и начинается самый magic! =) Но, почему-то, именно к этому волнующему моменту объяснения были самые скучные:

Для того, чтобы запрограммировать микроконтроллер, у нас есть три типа файлов: .h, .cc, .ino Файлы компилируются, к библиотекам шлются обращения. Всё это написано на языке C, который оперирует функциями, переменными, после чего, чтобы написанная на языке C программа стала понятна микроконтроллеру, она переводится в машинный код — компилируется и затем загружается в контроллер… вы себе не представляете, насколько сейчас нам на это пофиг =) Всё гораздо проще.

Библиотека
Скачайте библиотеку для нашей новой шилды MP1051

  • Распакуйте её — вы получите папку MP1051
  • Зайдите туда, где у вас лежит ваша программа Arduino IDE с её папками.

В моём случае это была папка Downloads — куда я скачала программу, там она у меня лежит, оттуда и запускается — ничего сложного.

  • Скопируйте получившуюся папку MP1051 в папку libraries

Скетчи

  • Скачайте набор скетчей\драйверов для нашей новой шилды MP1051
  • Распакуйте
  • Возьмите полученную папку examples и положите в MP1051, которая уже лежит в libraries. Или — в папку examples, всё там же, в директории программы Arduino, но тогда её надо будет переименовать во что-нибудь.

Всё! Давайте скорее объединим Библиотеку + Скетч, скомпилируем их в машинный код и загрузим на контроллер. Это быстро.

  • Подключите Arduino через USB
  • Откройте программу IDE
  • Выберите: Скетч — Импортировать библиотеку — MP1051 (появится в выпавшем меню среди прочих библиотек)
  • Выберите: Файл — Примеры — MP1051 — Step_1
  • Нажмите: Галочку (= Проверить)

Произойдёт: Компилирование — Компилирование выполнено

  • Нажмите: Стрелку вправо (= Загрузить скетч в Arduino)

Произойдёт: Загрузка — Загрузка выполнена

Готово!

  • Отсоедините Ардуино от USB
  • Посадите его на плату (Важно! Разъем для мини-USB смотрит наружу!)
  • Присоедините его обратно к USB (в этот раз USB будет подавать питание)

Важно:

  • Перед пересадкой\высадкой Ардуино на шилду\с шилды всегда обесточивайте прибор
  • Перед загрузкой скетча, вынимайте Ардуино из шилды

Как видите, мы ни разу даже не открыли ни один скетч, а если и открыли, то ненадолго. В этом прелесть библиотек и скетчей, которые уже написаны под определённые шилды и компоненты для Ардуино.

Назад в будущее

Если вы теперь вернёте Ардуино на место, на шилду радио (Важно! Обесточьте плату перед пересадкой на шилду!), то радио больше «не будет работать». Хотите вернуть всё как было? Вы уже знаете, как это сделать!

Обратите внимание на нужные нам папки — libraries и examples. А также на то, что название папок и файлов должно писаться латиницей в одно слово. Можно использовать цифры и нижнее подчёркивание. Итак, возвращаем всё как было:

Вот библиотеки для радио
Вот скетч

Откройте все нужные библиотеки (см. изобр.) + копируйте сюда скетч. Компилируйте. Загружайте. Готово! Можно поставить Ардуино обратно в шилду радио и снова его (радио) включить.

Вот так быстро мы с вами разобрались с:

1. Как перепрограммировать Ардуино под разные шилды при помощи готовых скетчей и библиотек.
2. Зачем нам скетч, зачем нам библиотека. Что куда класть.
3. Как работать с программой Arduino IDE, чтобы загрузить скетч вместе с библиотекой.

Как видите, всё просто. У меня ушло несколько дней на то, чтобы «въехать» самостоятельно. Надеюсь, кому-то я сэкономлю эти несколько дней. Удачи вам с Ардуино DIY и до новых встреч: я планирую ещё много с чем разобраться на базе имеющихся у меня модулей и компонентов и обязательно поделюсь с вами идеями и навыками.

Традиционно, в конце статьи — спасибо!

Большое спасибо пользователю Алексею Коротичу за присланные специально для подготовки этой статьи полезные ссылки:

Видео уроки по Arduino на Youtube
RoboCraft
Официальный сайт, мануалы
Цикл статей Ардуино для начинающих

Что такое Arduino IDE? Как мы знаем, для успешной работы нам необходимы текстовый редактор для написания кода программы, компилятор для преобразования кода программы в машинный код/бинарный файл и программное обеспечение для загрузки этого кода в микроконтроллер. Когда все эти функции мы объединяем в одном программном продукте, добавляя в него ряд дополнительных функций (поддержка консоли, отладка программы и т.п.), мы получаем интегрированную среду разработки (в англ. Integrated Development Environment, IDE). Соответственно, Arduino IDE, как следует из ее названия, является интегрированной средой разработки для плат Arduino. Она состоит из продвинутого редактора кода программы, компилятора, программатора, последовательной консоли, последовательного плоттера и многих других полезных инструментов. И при этом она легка в освоении и использовании.

Начало работы с Arduino IDE и платой Arduino: краткое руководство

Arduino IDE является кроссплатформенным программным продуктом и может работать на операционных системах Linux и Windows. Ее можно даже использовать в операционной системе платы Raspberry Pi. (!!!!!!!!!!!!) Мы можем программировать платы с помощью Arduino IDE и языка Arduino (в некоторых источниках его называют Wiring), который является производным от языков программирования C/C++.

Данная статья посвящена началу работы с Arduino IDE. У нас на сайте уже есть достаточно популярная статья про начало работы с платой Arduino, но в ней основное внимание уделено именно работе с платой Arduino, вопросы работы с Arduino IDE в ней рассмотрены в меньшей степени, чем в данной статье. Также для начинающих рекомендуем прочитать статью про наиболее распространенные ошибки при работе с платой Arduino.

Альтернативами Arduino IDE, которые могут заместить практически все ее функции, являются Arduino Web Editor и PlatformIO.

Установка Arduino IDE отличается исключительной простотой. Вначале скачайте Arduino IDE с официального сайта. Доступны ее различные версии для операционных систем Windows, Mac и Linux. Также возможны ее два варианта – Arduino IDE 1.x и Arduino IDE 2.x. В большинстве своем различия между этими двумя вариантами обусловлены различным видом графического интерфейса пользователя (GUI). В данной статье мы будем использовать ее классический вариант 1.X.

Для установки Arduino IDE выполните следующую последовательность действий:

  • по вышеприведенной ссылке скачайте установщик Arduino IDE для необходимой вам операционной системы;
  • запустите на выполнение скачанный .exe файл;
  • согласитесь с условиями лицензии, выберите должна ли Arduino IDE быть установлена для всех пользователей или нет и нажмите “Next” для продолжения;
  • выберите путь для установки Arduino IDE или оставьте его по умолчанию (какой предлагает установщик) и нажмите на “Install”;
  • подождите пока закончится процесс установки, затем нажмите на “Close”.

Последовательность шагов при установке Arduino IDEУстановка драйвера для Arduino

Один из наиболее частых вопросов, который озадачивает начинающих – это установка драйвера для работы с платами Arduino. Но в настоящее время вам уже не стоит беспокоиться об этом вопросе потому что установщик самостоятельно скачивает все необходимые для работы Arduino IDE файлы и автоматически устанавливает необходимый драйвер при подключении платы Arduino к компьютеру.

Подключение платы Arduino к компьютеру

Для подключения платы Arduino к компьютеру просто подсоедините соответствующий кабель к плате Arduino, а другой его конец подсоедините к USB порту вашего компьютера. При этом на плате Arduino должен загореться светодиод, свидетельствующий о подаче на нее питания. После этого операционная система автоматически установит драйвер для работы с платой.

Подключение платы Arduino к компьютеру

Основы работы с Arduino IDE

После завершения процесса установки Arduino IDE вы можете запустить ее при помощи ярлыка быстрого запуска на рабочем столе или из меню Start. На следующем рисунке показан интерфейс запущенной Arduino IDE.

Интерфейс Arduino IDE и назначение его элементов

Выбор платы Arduino

Прежде чем начать компиляцию программы в Arduino IDE очень важно выбрать в ней правильную плату Arduino, с которой вы работаете. Для этого выберите пункт меню “Tools” -> “Board” -> “Arduino AVR Boards” и в нем выберите вашу плату Arduino.

Выбор платы Arduino в Arduino IDE

Выбор порта подключения платы Arduino

Также перед началом работы в Arduino IDE необходимо выбрать правильный последовательный (COM) порт, к которому подключена плата Arduino. Иначе вы не сможете загрузить код программы в плату. Для выбора номера порта откройте пункт меню “Tools” -> “Port” и в нем выберите правильный COM порт, к которому подключена плата. Если в этом пункте меню вы видите несколько COM портов и вы не знаете какой из них выбрать, отключите плату Arduino от USB порта и заново откройте этот пункт меню. COM порт, который при этом исчезнет из данного пункта меню, и будет правильным COM портом. Заново подключите плату к USB порту и выберите правильный COM порт.

Выбор порта подключения платы Arduino

Также, чтобы не отключать плату Arduino от USB порта, можно посмотреть COM порт, к которому она подключена, в диспетчере устройств операционной системы Windows.

Код программы мигания светодиодом

Самым простым способом проверить работу платы Arduino является загрузка в нее кода программы мигания светодиодом. Чтобы открыть код программы мигания светодиодом выберите в Arduino IDE пункт меню Files -> Examples -> Basics -> Blink.

Открытие в Arduino IDE примера программы мигания светодиодом

После выбора этого пункта меню откроется новое окно с кодом программы мигания светодиода. В коде данной программы вы можете увидеть две функции: void setup() и void loop(). Функция void setup() – это самая первая функция, которая вызывается (исполняется) когда на плату Arduino подается питание. Обычно в теле данной функции производится объявление необходимых глобальных переменных, установка режимов работы используемых контактов и инициализация различных устройств, подключенных к плате Arduino. Тело функции void loop() исполняется в непрерывном бесконечном цикле, в него вы можете добавить все команды, которые необходимо исполнять непрерывно.

Открытый в Arduino IDE пример программы мигания светодиодом

В коде нашей программы мигания светодиодом в функции void setup() присутствует команда:

pinMode(LED_BUILTIN, OUTPUT);

С помощью этой команды мы устанавливаем режим работы контакта, к которому подключен встроенный светодиод платы Arduino (LED_BUILTIN), на вывод данных – то есть конфигурируем его в качестве цифрового выхода (OUTPUT).

С помощью функции pinMode() можно установить режим работы конкретного контакта на ввод (INPUT) или вывод (OUTPUT) данных. Синтаксис данной команды выглядит следующим образом: pinMode (pin, mode), где pin – это номер контакта, а в качестве режима (mode) можно ввести INPUT или OUTPUT. В нашем примере мы в качестве номера контакта используем контакт, к которому подключен встроенный светодиод платы Arduino (LED_BUILTIN) – это контакт с номером 13.

void loop () {

digitalWrite (LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)

delay(1000); //wait for a second

digitalWrite(LED_BUILTIN, LOW); //turn the LED off by making the voltage Low

delay(1000); // wait for a second

}

В функции void loop () кода программы мигания светодиодом мы видим две функции, которые будет исполняться непрерывно (пока на плату Arduino подано питание), это digitalWrite() и delay().

Функция digitalWrite() используется для изменения состояния конкретного контакта на high или low. Синтаксис данной функции выглядит следующим образом: digitalWrite(pin, value), где pin – номер контакта, состояние которого необходимо изменить, а в качестве value можно указать HIGH или LOW.

Функция delay() используется для задержки выполнения программы на определенное время. К примеру, функция delay(1000) задержит выполнение программы на 1000 миллисекунд, то есть на 1 секунду.

В нашей программе мигания светодиодом мы сначала устанавливаем состояние контакта в HIGH, затем ждем 1000 мс. После этого мы изменяем состояние контакта на LOW и снова ждем 1000 мс. Затем мы снова устанавливаем контакт в состояние HIGH и т.д. – данная последовательность действий будет исполняться непрерывно. В результате этого мы получим на контакте сигнал прямоугольной формы и если мы подключим к этому контакту светодиод он будет мигать. Частоту мигания можно изменить с помощью изменения задержки в функции delay().

Загрузка кода программы в плату Arduino

Если плата Arduino подключена кабелем к компьютеру и в настройках Arduino IDE выбран правильный порт ее подключения, то для загрузки кода программы в плату Arduino можно либо нажать кнопку загрузки (upload button) в панели быстрого запуска (quick action), либо выбрать пункт меню Sketch -> Upload. Либо же использовать для этого быструю комбинацию клавиш Ctrl+U.

Сообщение об успешной загрузке кода программы в плату Arduino

Если все прошло успешно, то внизу окна Arduino IDE (в строке состояния) вы увидите сообщение об успешной загрузке программы в плату Arduino, а светодиод на плате начнет мигать.

Загрузка…

1 155 просмотров

Понравилась статья? Поделить с друзьями:
  • Суслина варакин клиническое руководство
  • Руководство торговой сети перекресток
  • Кэп для ип для налоговой бесплатно пошаговая инструкция
  • Газ 2410 руководство по эксплуатации
  • Все руководство первого канала