Arduino.ru

Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.
Скачать
- Начало работы в Windows
- Установка Arduino IDE на Ubuntu Linux
Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста(консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины:
Verify/Compile
Проверка программного кода на ошибки, компиляция.
Stop
Остановка мониторинга последовательной шины(Serial monitor) или затемнение других кнопок.
New
Создание нового скетча.
Open
Открытие меню доступа ко всем скетчам в блокноте. Открывается нажатием в текущем окне.
Примечание: из-за наличия ошибки в Java данное меню не может прокручиваться; при необходимости открыть скетч из этого списка проследуйте в меню File | Sketchbook.
Save
Сохранение скетча.
Upload to I/O Board
Компилирует программный код и загружает его в устройство Arduino. Описание загрузки приведено ниже.
Serial Monitor
Открытие мониторинга последовательной шины (Serial monitor).
Дополнительные команды сгруппированы в пять меню: File, Edit, Sketch, Tools, Help. Доступность меню определяется работой, выполняемой в данный момент.
Edit
- Copy for Discourse
Копирует в буфер обмена подходящий для размещения на форуме код скетча с выделением синтаксиса.
- Copy as HTML
Копирует код скетча в буфер обмена как HTML код, для размещения на веб-страницах.
Sketch
- Verify/Compile
Проверка скетча на ошибки.
- Import Library
Добавляет библиотеку в текущий скетч, вставляя директиву #include в код скетча. Подробная информация в описании библиотек ниже (Libraries).
- Show Sketch Folder
Открывает папку, содержащую файл скетча, на рабочем столе.
- Add File.
Добавляет файл в скетч (файл будет скопирован из текущего места расположения). Новый файл появляется в новой закладке в окне скетча. Файл может быть удален из скетча при помощи меню закладок.
Tools
- Auto Format
Данная опция оптимизирует код, например, выстраивает в одну линию по вертикали открывающую и закрывающую скобки и помещает между ними утверждение.
- Board
Выбор используемой платформы. Список с описанием платформ приводится ниже.
- Serial Port
Меню содержит список последовательных устройств передачи данных (реальных и виртуальных) на компьютере. Список обновляется автоматически каждый раз при открытии меню Tools.
- Burn Bootloader
Пункты данного меню позволяют записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino. Данное действие не требуется в текущей работе с Arduino, но пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню. При использовании AVR ISP необходимо выбрать соответствующий программатору порт из меню Serial Port.
Блокнот (Sketchbook)
Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.
Закладки, Файлы и Компиляция
Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).
Загрузка скетча в Arduino
Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan USB-to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.
После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.
При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).
Библиотеки
Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include.
На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота.
Смотрите данную инструкцию для написания собственной библиотеки.
Аппаратные средства других разработчиков
Поддерживаемые аппаратные средства других производителей добавляются в соответствующую подпапку папки блокнота. Устанавливаемые платформы могут включать собственные характеристики (в меню платформы), корневые библиотеки, загрузчик(Bootloader) и характеристики программатора. Для установки требуется распаковать архив в созданную папку. (Запрещено использовать наименование папки «arduino», т.к. могут быть перезаписаны встроенные данные платформы Arduino.) Для деинсталляции данных удаляется соответствующая директория.
Подробная информация по созданию сборок описаний аппаратных средств других производителей находится на страницах сайта Google Code.
Мониторинг последовательной шины (Serial Monitor)
Отображает данные посылаемые в платформу Arduino (плата USB или плата последовательной шины). Для отправки данных необходимо ввести текст и нажать кнопку Send или Enter. Затем выбирается скорость передачи из выпадающего списка, соответствующая значению Serial.begin в скетче. На ОС Mac или Linux платформа Arduino будет перезагружена (скетч начнется сначала) при подключении мониторинга последовательной шины.
Имеется возможность обмена информацией с платформой через программы Processing, Flash, MaxMSP и т.д. (см. подробности на странице описаний интерфейсов).
Настройки
Некоторые настройки изменяются в окне Preferences (меню Arduino в ОС Mac или File в ОС Windows и Linux). Остальные настройки находятся в файле, месторасположение которого указано в окне Preferences.
Платформы
Выбор платформы влияет на: параметры (напр.: скорость ЦП и скорость передачи данных), используемые при компиляции и загрузке скетчей и на настройки записи загрузчика (Bootloader) микроконтреллера. Некоторые характеристики платформ различаются только по последнему параметру (загрузка Bootloader), таким образом, даже при удачной загрузке с соответствующим выбором может потребоваться проверка различия перед записью загрузчика (Bootloader).
- Arduino Duemilanoveили Nano с ATmega328
Тактовая частота ATmega328 16 МГц с возможностью автоматической перезагрузки. Используется для версий Arduino Pro или Pro Mini с ATmega328 на частоте 16 МГц (5 В).
- Arduino Diecimila, Duemilanove, илиNano с ATmega168
Тактовая частота ATmega168 16 МГц с возможностью автоматической перезагрузки. Компиляция и загрузка соответствует Arduino NG или старым версиям с ATmega168, но загрузка Bootloader имеет короткий таймаут (при перезагрузке светодиод пина 13 мигает один раз). Используется для версий Arduino Pro и Pro Mini с ATmega168 на частоте 16 МГц (5 В).
- Arduino Mega
Тактовая частота ATmega1280 16 МГц с возможностью автоматической перезагрузки.
- Arduino Mini
Соответствует Arduino NG или старым версиям с ATmega168 (напр.: тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки).
- Arduino BT
Тактовая частота ATmega168 16 МГц. Загрузка Bootloader происходит совместно с кодами для инициализации модуля Bluetooth.
- LilyPad Arduino с ATmega328
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328.
- LilyPad Arduinoс ATmega168
Тактовая частота ATmega168 8 МГц. Компиляция и загрузка соответствует Arduino Pro или Pro Mini (8 МГц) с ATmega168. Загруженный Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза), т.к. оригинальные версии LilyPad не поддерживают автоматическую перезагрузку. Также не поддерживаются внешние часы и, следовательно, Bootloader конфигурирует загрузку внутренних 8 МГц часов в ATmega168. При наличии поздних версий LilyPad (с 6-контакным программным вводом) перед загрузкой Bootloader требуется выбрать Arduino Pro или Pro Mini (8 MHz) с ATmega168.
- Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует LilyPad Arduino с ATmega328.
- Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega168
Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки.
- Arduino NG или предыдущие версии с ATmega168
Тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки. Компиляция и загрузка соответствует Arduino Diecimila или Duemilanove с ATmega168, но загрузка Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза).
- Arduino NG или предыдущие версии с ATmega8
Тактовая частота ATmega8 16 МГц без возможности автоматической перезагрузки.
«Пишем свой первый скетч» Урок № 1
Урок № 1
Это продолжение цикла уроков про Ардуино для начинающих.
Предыдущие уроки можно посмотреть здесь.
Урок № 0 — «Введение в программирование Ардуино»
Урок № 0.5 — «Продолжение вводного урока.»Первое подключение Ардуино к компьютеру.»
В этом уроке, видео на который можно посмотреть на канале YOUTUBE
рассказано как подключить светодиод, рассчитать значение токоограничивающего резистора, про закон Ома, и многое другое.
Что такое функция void setup() и void loop(), вообщем посмотрите, не пожалеете.
Для этого урока, для основной его части потребуются.
Ардуино Нано v 3.0
Макетная плата (беспаечная) Breadboard
Провода 5 шт.
Резисторы 220 Ом 3 шт.
Светодиоды 3 шт.
Плату Ардуино и макетную плату вы покупаете всего 1 раз, а использовать будете на протяжении всех уроков.
Для дополнительного занятия потребуется ещё
Этот урок надо использовать вместе с видео.
Скетчи основной части урока.
Мигание 1 светодиодом. Скачать.
Мигание 3 светодиодами. Скачать.
Теперь, как и обещал некоторые интересности.
Вот наш код из первого скетча
void setup() pinMode(LED, OUTPUT); // УСТАНАВЛИВАЕМ ЦИФРОВОЙ ПИН 13 НА ВЫХОД
>
void loop() digitalWrite(LED, HIGH); // ЗАЖИГАЕМ СВЕТОДИОД
delay(1000); // ЖДЁМ 1 СЕКУНДУ
digitalWrite(LED, LOW); // ГАСИМ СВЕТОДИОД
delay(1000); // ЖДЁМ 1 СЕКУНДУ
>
Теперь как и обещал сократим код в функции loop()
И вместо 4 строчек написать всего 2
void loop() digitalWrite(LED, !digitalRead(LED)); // если светодиод был выключен – включаем и наоборот
delay(1000); // ждем 1 секунду
>
Что делают эти строчки.
Мы получаем текущее значение светодиода digitalRead(LED) и !digitalRead(LED) переворачиваем его(инвертируем).
Если светодиод горел, то гасим его
Если светодиод не горел, то зажигаем его.
с Логическими операторами мы познакомимся в следующих уроках
&& (логическое И) Истина, если оба операнда истина.
|| (логическое ИЛИ) Истина, если хотя бы один операнд истина.
! (логическое отрицание) Истина, если операнд Ложь, и наоборот.
Замена delay()
Эта функция служит для остановки микроконтроллера.
Как я и говорил в видео, функцию delay() надо применять очень осторожно.
Означает остановить выполнение всех программ (ну почти всех) и ждать пока не пройдёт время, указанное в скобках. Оно указывается в миллисекундах (1000 миллисекунд = 1 секунде) и пока это время не закончится ARDUINO будет бездействовать.
Есть ещё прерывания, но это мы будем изучать в следующих уроках.
Правильнее будет использовать функцию millis();
Она возвращает количество миллисекунд с момента начала выполнения программы.
Количество миллисекунд в millis() ограничено 50 днями. При наступлении этого времени счётчик сбросится 0.
Вот что у нас теперь получилось
#define LED 13
#define STOP 1000 // 1000 миллисекунд — это 1 секунды
unsigned long prev_ms = 0; // здесь будет храниться время последнего изменения состояния светодиода
void setup() pinMode(LED, OUTPUT); // УСТАНАВЛИВАЕМ ЦИФРОВОЙ ПИН 13 НА ВЫХОД
>
void loop()
/*
проверяем – настало ли время изменить состояние светодиода
для этого считываем значение светодиода digitalRead(LED),
а затем сверяем полученный интервал с нужным интервалом
*/
if (millis() — prev_ms > STOP) <
// текущее время –(минус) время последнего изменения. Если он больше 1000(1 сек.) то условие верно
digitalWrite(LED, !digitalRead(LED)); // если светодиод был выключен – включаем и наоборот
prev_ms = millis();
>
/*
Здесь могут быть другие команды, которые нужно выполнить и неважно, что будет делать микроконтроллер в данное время,Если настало время STOP, он прервётся, выполнит задачу, и начнёт с того же места, где прервался.
*/
>
Теперь переходим к самому интересному.
Дополнительной части урока.
Напишу её сегодня-завтра. Хочу, чтобы на выходные вам было чем заняться.
Удачи вам в освоении этого непростого, но интересного дела.
Изучив эти уроки, вы освоите новую, интересную профессию – Программист. Освоив её, вы можете быть спокойны за свою будущее, ведь по статистике, программист самый востребованный и высокооплачиваемый специалист в наше время.
Смотрите новые уроки. Подписывайтесь на канал. И удачи.
Ардуино что такое скетч
Среда разработки Ардуино
Интерфейс среды разработки Ардуино содержит следующие основные элементы: текстовый редактор для написания кода, область для вывода сообщений, текстовая консоль, панель инструментов с традиционными кнопками и главное меню. Данный софт позволяет компьютеру взаимодействовать с Ардуино как для передачи данных, так и для прошивки кода в контроллер.
Написание программ
Программы, создаваемые в среде разработки Ардуино, иногда еще называют скетчами. Скетчи пишутся в текстовом редакторе и сохраняются в файлах с расширением .ino. Встроенный текстовый редактор имеет стандартные инструменты копирования, вставки, поиска и замены текста. Область сообщений в окне программы является, своего рода, обратной связью для пользователя и информирует его о событиях (в том числе и об ошибках), возникающих в процессе записи или экспорта написанного кода. Консоль отображает в виде текста поток выходных данных среды Ардуино, включая все сообщения об ошибках и пр. генерируемую ею информацию. В нижнем правом углу окна программы показывается модель текущей платы и последовательный порт, к которому она подключена. Кнопки на панели инструментов предназначены для создания, открытия, сохранения и прошивки программ в устройство. Отдельная кнопка запускает программу SerialMonitor.
Примечание: В старых версиях IDE (до версии 1.0) скетчи сохраняются с расширением .pde. Такие файлы без проблем открываются в версии 1.0, но при их пересохранении появится сообщение с предложением изменить формат файла на .ino.

Verify (Проверить)
Проверить код на ошибки.

Upload (Прошить)
Скомпилировать программу и «зашить» ее в микроконтроллер Ардуино. Подробнее о прошивке — см. ниже.
Примечание: чтобы прошить микроконтроллер через внешний программатор — нужно зажать клавишу «shift» перед нажатием на эту иконку. При этом текст возле кнопки изменится на «Upload using Programmer».

New (Создать)
Создать новую программу.

Open (Открыть)
Команда открывает меню со списком всех скетчей, доступных в вашей рабочей папке. После щелчка по файлу его содержимое откроется в текущем окне.
Примечание: к сожалению, из-за бага Java’ы, в этом меню не работает скроллинг; поэтому если вам нужно открыть программу из самого конца списка — лучше используйте меню File | Sketchbook.

Save (Сохранить)
Сохранить программу

Serial Monitor
Открыть программу «Serial Monitor» (для работы с последовательным интерфейсом).
Дополнительные команды находятся в меню: File, Edit, Sketch, Tools и Help. В этих меню всегда активны только те пункты, которые можно применить к текущему элементу или фрагменту кода.
Меню «Edit (Правка)«
- Copy for Forum (Скопировать для форума)
Скопировать код программы в буфер обмена в специальном формате, удобном для постинга на форум (с подсветкой синтаксиса). - Copy as HTML (Скопировать как HTML)
Скопировать код программы в буфер обмена в виде HTML-кода, удобного для встраивания в веб-страницы.
Меню «Sketch (Программа)«
- Verify/Compile (Проверить/Компилировать)
Проверить код программы на ошибки. - Show Sketch Folder (Показать папку программы)
Открыть папку с файлом текущего скетча. - Add File. (Добавить файл. )
Добавляет исходный файл к текущей программе (выбранный файл будет скопирован из исходной папки). Добавленный файл появится в новой вкладке главного окна. Удалить файлы можно с помощью таб-меню. - Import Library (Импортировать библиотеку)
Добавляет библиотеку к вашей программе путем вставки оператора #include вначале кода. Подробнее о библиотеках см. ниже. Кроме того, в версиях IDE 1.0.5 и выше реализована возможность импортирования библиотек из .zip-архивов.
Меню «Tools (Инструменты)«
- Auto Format (Автоформат)
Эта команда наводит красоту в вашем коде, а именно: делает одинаковые отступы соответствующих открывающих и закрывающих фигурных скобок, дополнительные отступы кода внутри логических блоков. - Archive Sketch (Заархивировать скетч)
Создать .zip-архив текущего скетча. Результирующий архив помещается в папку с программой. - Board (Плата)
Выбрать модель используемого Ардуино. Описание различных плат Ардуино см. ниже. - Serial Port (Последовательный порт)
Это меню содержит список всех последовательных устройств, присутствующих в системе (как физических, так и виртуальных). Их список должен обновляться автоматически при каждом открытии главного меню. - Programmer (Программатор)
Позволяет выбрать внешний программатор для прошивки микроконтроллера без использования USB-соединения. Обычно эта функция требуется редко — например, для прошивки загрузчика в новый микроконтроллер. - Burn Bootloader (Прошить загрузчик)
Это меню позволяет прошить загрузчик в контроллер Ардуино. При нормальной работе Ардуино эта функция обычно не требуется, но она может быть полезна, если вам вдруг потребуется заменить микроконтроллер ATmega на новый (который с магазина идет без загрузчика). Перед прошивкой убедитесь, что в меню Boards выбрана именно ваша плата.
Скетчбук (рабочая папка)
В среде разработки Ардуино используется принцип организации скетчбука: все ваши программы (или скетчи) хранятся в одном месте. Чтобы просмотреть их, необходимо выбрать меню File > Sketchbook или щелкнуть по кнопке Open на панели инструментов. Директория для хранения ваших программ будет автоматически создана при первом запуске среды Ардуино. Ее месторасположение всегда можно изменить в окне настроек программы.
Начиная с версии 1.0, файлы скетчей имеют расширение .ino. В предыдущих версиях использовалось расширение .pde. В новых версиях программы (1.0 и старше) файлы .pde по-прежнему можно открыть, только их расширение будет автоматически переименовано на .ino.
Вкладки, компиляция и работа с несколькими файлами
Среда Ардуино позволяет работать с программами, состоящими из нескольких файлов (каждый из которых открывается в отдельной вкладке). Например, это могут быть файлы Ардуино (без расширения), C-файлы (с расширением .c), файлы C++ (с расширением .cpp) или заголовочные файлы (.h).
Прошивка
Перед тем, как прошивать программу в контроллер, необходимо правильно выбрать плату и последовательный порт в меню Tools > Board и Tools > Serial Port соответственно. Разновидности плат Ардуино перечислены ниже. Последовательный порт на Mac-системах будет выглядеть примерно так: /dev/tty.usbmodem241 (для Arduino Uno, Mega2560 или Leonardo) или /dev/tty.usbserial-1B1 (для Duemilanove или более старых версий Ардуино с USB), или /dev/tty.USA19QW1b1P1.1 (для USB-UART преобразователей Keyspan). На Windows-системах, необходимый порт скорее всего будет COM1 или COM2 (для устройств с последовательным интерфейсом), либо COM4, COM5, COM6 и выше (для Ардуино с USB) — определить необходимый номер порта можно в Диспетчере устройств, отыскав строку «USB serial device» в разделе Порты. На Linux-системах последовательный порт будет выглядеть как /dev/ttyUSB0, /dev/ttyUSB1 или что-то наподобие.
После выбора используемого порта и платы, необходимо нажать кнопку Upload на панели инструментов или выбрать пункт Upload из меню File. После этого произойдет сброс Ардуино и начнется процесс загрузки программы в память контроллера. В старых моделях (до Arduino Diecimila) функция авто-сброса отсутствует, поэтому перед прошивкой таких устройств необходимо вручную нажать кнопку сброса на плате. В процессе загрузки на большинстве моделей Ардуино будут мигать светодиоды RX и TX. По завершению процесса прошивки, программа выдаст соответствующее сообщение или ошибку.
Загрузка программы в Ардуино осуществляется с помощью загрузчика — небольшой программы, прошитой в памяти микроконтроллера, которая позволяет загружать в него код без внешних аппаратных средств. Загрузчик активизируется на несколько секунд после сброса устройства, после чего он запускает на выполнение последний загруженный в контроллер скетч. При запуске загрузчика будет мигать встроенный светодиод, подключенный к 13 ножке контроллера.
Библиотеки
Библиотеки расширяют функциональность программ и несут в себе дополнительные функции, например, для работы с аппаратными средствами, функции по обработке данных и т.д. Для подключения библиотеки необходимо выбрать ее из меню Sketch > Import Library. После этого библиотека будет скомпилирована, а в начало программы будет добавлен один или несколько операторов #include. Помните, что библиотеки загружаются в контроллер вместе со скетчем, поэтому каждая подключенная библиотека треубет дополнительного места в памяти микроконтроллера. Соответственно, если та или иная библиотека больше не используется в вашей программе — просто удалите оператор #include из программы.
Список основных библиотек, описанных на сайте, приведен здесь. Некоторые из них устанавливаются вместе со средой разработки Ардуино, остальные можно скачать из разных источников. В версиях IDE 1.0.5 и старше реализована возможность импорта библиотек прямо из zip-архива и подключения их к текущему скетчу. См. инструкции по установке сторонних библиотек.
Инструкции по написанию собственных библиотек см. здесь.
Оборудование сторонних производителей
Для работы с «железом» сторонних производителей необходимо добавить ряд файлов в директорию hardware, расположенную внутри рабочей папки. Среди этих файлов должны быть файлы с информацией о добавляемой плате (эта информацию будет отображаться в меню Board), библиотеки, загрузчики и параметры для программатора. Для установки нового оборудования необходимо создать папку внутри директории hardware и распаковать в нее содержимое архива с данными о добавляемом «железе». (Не следует называть создаваемую папку «arduino», иначе будет затерта информация о самой платформе Ардуино). Чтобы удалить добавленное оборудование — достаточно просто удалить его папку.
Дополнительную информацию о создании пакетов для стороннего оборудования можно найти в соответствующем разделе на сайте Arduino Google Code.
Программа «Serial Monitor»
Отображает данные, поступающие от Ардуино на компьютер по последовательному интерфейсу (поддерживается работа как с USB-, так и с обычными версиями Ардуино). Чтобы отправить данные внешнему устройству, достаточно просто ввести текст в окне программы и щелкнуть по кнопке «Отправить» (либо нажать Enter). Из выпадающего списка необходимо выбрать только скорость передачи данных, соответствующую той скорости, которую вы указали в функции Serial.begin() в вашем скетче. Помните, что на Mac- и Linux-системах, Ардуино будет сбрасываться при каждом подключении программы к устройству (соответственно, после сброса скетч будет выполняться заново).
Общаться с Ардуино можно также через Processing, Flash, MaxMSP и пр. (подробнее об этом читайте здесь).
Настройки
Некоторые параметры можно задать непосредственно в окне настроек программы (на Mac-системах это окно вызывается из меню Arduino, на Windows и Linux-системах — из меню File). Остальные параметры находятся в конфиг-файле, местонахождение которого также указано в окне настроек.
Поддерживаемые языки

Среда разработки Ардуино 1.0.1 переведена более чем на 30 различных языков. По умолчанию, язык IDE выбирается исходя из языковых настроек вашей операционной системы. (Обратите внимание: на Windows и Linux-системах язык IDE определяется по региональным настройкам, отвечающим за формат даты и валюты, а не по языкоу самой операционной системы).
Если вы хотите вручную изменить текущий язык программы, запустите среду Ардуино и откройте окно настроек. В поле Editor Language будет выпадающий список поддерживаемых языков. Выберите из списка предпочитаемый язык и перезапустите программу, чтобы изменения вступили в силу. Если выбранный вами язык не поддерживается, то по умолчанию IDE подгрузит английскую локализацию.
Чтобы сбросить языковые настройки среды и вернуть автоматический выбор ее языка по региональным настройкам операционной системы, в выпадающем списке необходимо выбрать пункт System Default. Изменения вступят в силу после перезапуска IDE Arduino. И наоборот, чтобы изменение языковых настроек операционной системы повлияли на текущий язык программы, необходимо просто перезапустить среду Ардуино.
Разновидности плат
Выбирать модель используемой платы в среде Ардуино необходимо по двум причинам:
- Чтобы задать параметры, используемые во время компиляции и прошивки скетчей (такие, как тактовая частота, бодрейт и др.);
- Чтобы задать настройки фьюз-битов, используемые во время прошивки загрузчика в контроллер платы.
Ниже перечислены основные пункты меню Boards и дана расшифровка соответствующих им настроек:
- Arduino Uno
ATmega328, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — optiboot (115200 бод, 0.5 КБ). - Arduino Duemilanove w/ ATmega328
ATmega328, работающий на частоте 16 МГц с авто-сбросом. - Arduino Diecimila or Duemilanove w/ ATmega168
ATmega168, работающий на частоте 16 МГц с авто-сбросом. Настройки компиляции и прошивки эквивалентны пункту Arduino NG or older w/ ATmega168, за исключением загрузчика с уменьшенным таймаутом (после сброса платы светодиод на 13-м выводе мигает только один раз). - Arduino Nano w/ ATmega328
ATmega328, работающий на частоте 16 МГц с авто-сбросом. Имеет восемь аналоговых входов. - Arduino Nano w/ ATmega168
ATmega168, работающий на частоте 16 МГц с авто-сбросом. Настройки компиляции и прошивки эквивалентны пункту Arduino NG or older w/ ATmega168, за исключением загрузчика с уменьшенным таймаутом (после сброса платы светодиод на 13-м выводе мигает только один раз). Имеет восемь аналоговых входов. - Arduino Mega 2560 or Mega ADK
ATmega2560, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — stk500v2. - Arduino Mega (ATmega1280)
ATmega1280, работающий на частоте 16 МГц с авто-сбросом. - Arduino Leonardo
ATmega32u4, работающий на частоте 16 МГц с авто-сбросом. - Arduino Mini w/ ATmega328
ATmega328, работающий на частоте 16 МГц с авто-сбросом, используемый загрузчик — optiboot(115200 бод, 0.5 КБ). Имеет восемь аналоговых входов. - Arduino Mini w/ ATmega168
Настройки эквивалентны пункту Arduino NG or older w/ ATmega168 (т.е. ATmega168, работающий на частоте 16 МГц без авто-сброса). - Arduino Ethernet
Настройки эквивалентны Arduino UNO с установленной Ethernet-платой расширения. - Arduino Fio
ATmega328, работающий на частоте 8 МГц с авто-сбросом. Настройки эквивалентны пункту Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328. - Arduino BT w/ ATmega328
ATmega328, работающий на частоте 16 МГц. Прошитый загрузчик (4 КБ) содержит коды для инициализации встроенного bluetooth-модуля. - Arduino BT w/ ATmega168
ATmega168, работающий на частоте 16 МГц. Прошитый загрузчик (4 КБ) содержит коды для инициализации встроенного bluetooth-модуля. - LilyPad Arduino w/ ATmega328
ATmega328, работающий на частоте 8 МГц (3.3В) с авто-сбросом. Настройки эквивалентны пункту Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega328. - LilyPad Arduino w/ ATmega168
ATmega168, работающий на частоте 8 МГц. Настройки компиляции и прошивки эквивалентны пункту Arduino Pro or Pro Mini (8MHz) w/ ATmega168. Используется загрузчик с уменьшенным таймаутом (при сбросе платы светодиод на 13-м выводе мигает три раза), поскольку базовые версии LilyPad не поддерживают функцию авто-сброса. В LilyPad также нет внешнего тактового генератора, поэтому при прошивке загрузчика фьюз-биты ATmega168 устанавливаются таким образом, чтобы контроллер тактировался от внутреннего генератора на 8 МГц.
Инструкции по добавлению в программу других устройств описаны выше в разделе «Оборудование сторонних производителей». Текст данного руководства опубликован под лицензией Creative Commons Attribution-ShareAlike 3.0. Примеры кода, встречающиеся в руководстве, являются свободным контентом.
Что такое Arduino

Arduino – это электронные платы с собственным процессором и памятью, к которым можно подсоединять различные датчики, двигатели, экраны и много других электронных компонентов. Плата Ардуино будет управлять этими компонентами с помощью программы, который вы в нее загрузите. Самые популярные платы для начинающих – это Arduino Uno, Arduino Mega, Arduino Nano и Arduino Leonardo. Кроме этого есть множество других вариантов, подходящих для конкретных случаев.
В процессор Arduino можно загрузить программу, которая будет управлять всеми этими устройствами по заданному алгоритму.
Программы для Arduino пишутся на обычном C++, дополненным простыми и понятными функциями для управления вводом/выводом на контактах.
Для удобства работы с Arduino существует бесплатная официальная среда программирования «Arduino IDE», работающая под Windows, Mac OS и Linux.

Принцип бутерброда
Ещё одной отличительной особенностью Arduino является наличие плат расширения, так называемых shields или просто «шилдов». Это дополнительные платы, которые ставятся подобно слоям бутерброда поверх Arduino, чтобы дать ему новые возможности. Так например, существуют платы расширения для подключения к локальной сети и интернету (Ethernet Shield), для управления мощными моторами (Motor Shield), для получения координат и времени со спутников GPS (модуль GPS) и многие другие.

Элементы платы UNO

Элементы платы Mega 2560

2. Установка и настройка Arduino IDE
Установка Arduino IDE
Установите на компьютер интегрированную среду разработки Arduino — Arduino IDE.
Шаг 1
Выберите версию среды в зависимости от операционной системы.
Шаг 2
Нажмите на кнопку «JUST DOWNLOAD» для бесплатной загрузки Arduino IDE.
Подключение платы к компьютеру
Запустите среду программирования Arduino IDE.
Соедините Arduino с компьютером по USB-кабелю. На плате загорится светодиод «ON» и начнёт мигать светодиод «L». Это значит, что на плату подано питание и микроконтроллер начал выполнять прошитую на заводе программу «Blink».
Для настройки Arduino IDE на работу с конкретной платой Arduino — узнайте какой номер COM-порта присвоил компьютер данной платформе. Зайдите в «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)».
Операционная система распознает плату Arduino как COM-порт и назначит ей номер. Если вы подключите к компьютеру другую плату Arduino, операционная система назначит ей другой номер. Если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.
Настройка Arduino IDE
Для настойки среды Arduino IDE с конкретной платформой Arduino — необходимо выбрать название модели Arduino и номер присвоенного плате COM-порта.
Для установки модели платы Arduino зайдите в меню: Инструменты Плата и выберете плату «Arduino Uno».
Для выбора номера COM-порта перейдите в меню: Инструменты Порт и выберете нужный порт.
3. Скетч
Загрузка первого скетча
Sketch — это название программ для Arduino. Это единичный проект, который загружается и выполняется платой.
Arduino IDE содержит большой список готовых примеров в которых можно быстро подсмотреть решение какой-либо задачи. Выберем самый распространенный пример — «Blink».

Загрузите скетч в Arduino и проверьте.

После загрузки светодиод начнёт мигать.
4. Библиотеки
Очень часто одни и те же части кода кочуют из программы в программу. Например, код для работы с датчиком. Чтобы не писать этот код каждый раз заново, его выносят в отдельные файлы — библиотеки. Огромное количество готового кода уже написано другими людьми, и с помощью библиотек его можно легко использовать в своих программах.
Подключение библиотек
Библиотеки в составе Arduino IDE
Очень много библиотек идет в составе Arduino IDE. Добавить библиотеку в свой код можно из меню Эскиз Импорт библиотек… Название библиотеки :
После выбора пункта «Servo» Arduino IDE сама вставит в код нужные строчки:
#include void setup() < // установочный код, выполняется один раз >void loop() < // основной код, выполняется циклично после установочного кода >
Конечно, если вы знаете название нужной библиотеки, можно просто написать в самом верху скетча #include — результат будет тем же самым.
Чтобы посмотреть пример работы с библиотекой, идущей в составе Arduino IDE необходимо выбрать в меню Файл Образцы Название библиотеки Название примера
Сторонние библиотеки
Библиотек для Arduino действительно очень много. И только незначительная часть из них входит в состав Arduino IDE. Многие библиотеки можно найти на сайте GitHub.

Давайте попробуем добавить в свой проект библиотеку для работы с четырёхразрядным индикатором. Ссылка на библиотеку для работы с ним есть на странице описания товара. Если зайти на страницу библиотеки, можно увидеть множество файлов библиотеки и примеры работы с ней. Но нас пока будет интересовать только кнопка Download ZIP : После нажатия на неё начнётся загрузка .zip-архива со всеми файлами библиотеки. В данном случае это будет файл QuadDisplay-master.zip . Название библиотеки может состоять только из латинских букв и цифр, при этом название не может начинаться с цифры, поэтому давайте сразу переименуем наш архив. Теперь он будет называться QuadDisplay.zip .

После загрузки архива нужно зайти в Arduino IDE и выполнить импорт библиотеки в вашу рабочую папку Sketchbook/libraries , в которой должны находится все сторонние библиотеки. Сделать это можно прямо из Arduino IDE, в меню Эскиз Импорт библиотек… Добавить библиотеку… : Откроется диалоговое окно, в котором необходимо выбрать наш архив QuadDisplay.zip и нажать кнопку Open . Готово. Теперь библиотеки можно добавлять в код. Примеры работы с библиотекой доступны в меню Файл Sketchbook libraries Название библиотеки Название примера
В Arduino 1.6.7 и выше: Файл Примеры Название библиотеки Название примера
Создание библиотеки
Обычно, при создании библиотеки создаются два файла: заголовочный файл и файл с кодом библиотеки. Давайте попробуем написать библиотеку, которая бы позволяла нам посчитать площадь круга. Создадим в директории %Sketchbook%\Arduino\libraries папку с названием нашей библиотеки (название может состоять только из латинских букв и цифр, при этом не может начинаться с цифры). Давайте назовём нашу библиотеку circleArea. Перейдём в созданную нами папку %Sketchbook%\Arduino\libraries\circleArea и создим там два файла:
circleArea.h — заголовочный файл
circleArea.cpp — файл с кодом библиотеки.
Код circleArea.h будет таким:
#include // пригодится, мы будем использовать числовые типы #define PI 3.14 // два знака после запятой — достаточная точность. //Объявляем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius);
Код circleArea.cpp будет таким:
#include // пригодится, мы будем использовать числовые типы #include // функцию pow() мы возьмём отсюда #include // в заголовочном файле находится PI и объявление функции //Реализуем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius)
Использование библиотеки в скетче будет таким:
5. Breadboard
Для конструирования и отладки прототипов самых различных устройств используются макетные платы (другое название – беспаечные монтажные платы и breadboard). Они бывают нескольких разновидностей и отличаются по размерам и некоторым другим конструктивным особенностям.
На сегодняшний момент существуют следующие основные способы монтажа, которыми используются в электронике и робототехнике на этапе создания прототипов:
- Пайка. Для этого применяют специальные платы с отверстиями, в которые вставляются детали и соединяются друг с другом пайкой (с использованием паяльника) и перемычками.
- Накрутка. По данной технологии контактные соединения устройств объединяются с макетной платой при помощи обмотки чистого провода к штыревому контакту.
- Breadboard — это беспаечная монтажная плата. Это отличная платформа для разработки прототипов или временных электросхем, с использованием которой вам не понадобится паяльник и все связанные с этим проблемы и затраты времени на распайку.
Прототипирование (prototyping) — это процесс разработки и тестирования модели вашего будущего устройства. Если вы не знаете как будет себя вести ваше устройство при определенных заданных условиях, лучше сначала создать прототип и проверить его работоспособность.
Беспаечные монтажные платы используют как для создания простеньких электросхем, так и для сложных прототипов.
- Возможность проводить отладочные работы большое количество раз изменяя модификацию схем и способы подключения устройств;
- Возможность соединения нескольких плат в одну большую, что позволяет работать с более сложными и большими проектами;
- Простота и быстрота создания прототипов;
- Долговечность и надежность.
Так откуда появилось это название — breadboard? Много лет назад, когда электронные компоненты были большими и неуклюжими, многие «самодельщики» в своих «гаражах» собирали схемы с использованием подставок для нарезки хлеба

Макетная плата для монтажа без пайки имеет пластиковое основание с множеством отверстий (стандартное расстояние между ними составляет 2,54 мм). Внутри конструкции расположены ряды металлических пластин. На каждой пластине имеются клипсы (5 в ряду), которые спрятаны в пластиковой части установки. Включение проводов выполняется именно в эти клипсы. При подключении проводника к одному из отдельных отверстий, контакт одновременно подключается и ко всем остальным контактам отдельного ряда.
Некоторые макетные платы включают также по две линии питания с каждой из сторон. Обычно «красная линия» используется для подачи «+» напряжения, «синяя» — для «-». За счет наличия двух шин питания на плату могут подаваться два различных уровня напряжения.
Для упрощения ориентации на макетную плату также нанесены цифровые и буквенные обозначения, которыми можно руководствоваться, создавая, например, инструкцию для подключения.

Внимание! Беспаечные макетные платы абсолютно недопустимо использовать с напряжением 220В!