Аrduino для начинающих

Этапы настройки Arduino

  1. Во-первых, установите IDE. Вы можете скачать IDE с сайта Arduino.
  2. Установите программное обеспечение на свой компьютер.
  3. Теперь запустите .exe файл Arduino IDE. IDE выглядит так:
  4. Напишите в редакторе кода свою программу и загрузите её в Arduino. Чтобы сделать это, необходимо подключить Arduino к компьютеру, используя USB кабель.
  5. В IDE выберите тип Arduino, который вы используете, через меню Tools (Инструменты) → Boards (Платы).
  6. Теперь проверьте свой код, нажав на значок «галки» вверху окна IDE, затем нажмите на соседний значок «стрелка вправо», чтобы скомпилировать и загрузить код в Arduino.

Внимание: возможно, вам понадобится установить драйвера, если ваша система не обнаружит Arduino

Язык Arduino

Если опытный программист посмотрит на код для Arduino, он скажет, что это код на C++. Это недалеко от истины: основная логика Ардуино реализована на C++, а сверху на неё надет фреймворк Wiring, который отвечает за общение с железом.

На это есть несколько причин:

  1. У С++ слава «слишком сложного языка». Arduino позиционируется как микроконтроллеры и робототехника для начинающих, а начинающим иногда трудно объяснить, что С++ не такой уж сложный для старта. Проще сделать фреймворк и назвать его отдельным языком.
  2. В чистом С++ нет удобных команд для AVR-контроллеров, поэтому нужен был инструмент, который возьмёт на себя все сложные функции, а на выходе даст программисту часто используемые команды.
  3. Разработчики дали программистам просто писать нужные им программы, а все служебные команды, необходимые для правильного оформления кода на С++, взяла на себя специальная среда разработки.

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

Использование Arduino IDE

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


Примеры в Arduino IDE

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

Скачать стандартные библиотеки Arduino IDE на русском

Библиотеки для Ардуино делятся на две группы — стандартные и пользовательские. При установке Arduino IDE в папке Program Files\Arduino\libraries имеется набор стандартных библиотек для базовых функций видов, коммуникации платы и для подключения устройств: сервомоторов, шаговых двигателей, LCD-дисплеев и т.д. Стандартные библиотеки скачать можно на официальном сайте www.arduino.cc.

Список стандартных библиотек Arduino:

EEPROM — чтение и запись в энергонезависимую память (скачать eeprom.h)Ethernet — связь с Интернет с помощью Ethernet Shield (скачать ethernet.h)Firmata — для взаимодействия Arduino и ПК (скачать firmata.h)GSM — коммуникация по GSM/GRPS протоколу для GSM Shield (скачать gsm.h)LiquidCrystal — управление LCD дисплеем (скачать liquidcrystal.h)SD — чтение и запись в SD карту (скачать sd.h)Servo — управление серво двигателем (скачать servo.h)SPI — для взаимодействия Arduino и периферийных устройств (скачать spi.h)SoftwareSerial — коммуникация по цифровому порту (скачать softwareserial.h)Stepper — управление шаговым двигателем (скачать stepper.h)TFT — вывод текста и картинок на TFT дисплее (скачать ethernet.h)WiFi — связь с Интернет с помощью WiFi Shield (скачать wifi.h)Wire — коммуникация по протоколу I2C (скачать wire.h)

Программное обеспечение (IDE)

Программное обеспечение, используемое для программирования Arduino, представляет собой интегрированную среду разработки Arduino IDE. IDE представляет собой Java приложение, которое работает на множестве различных платформ, включая системы PC, Mac и Linux. Она разработана для начинающих, которые не знакомы с программированием. Она включает в себя редактор, компилятор и загрузчик. Также в IDE включены библиотеки кода для использования периферии, например, последовательных портов и различных типов дисплеев. Программы для Arduino называются «скетчами», и они написаны на языке, очень похожем на C или C++.

IoT Wi-Fi контроллер

Интерфейс этого приложения показывает все операции ввода и вывода на Ардуино. Переключение GPIO и показания АЦП управляют гаджетом в реальном времени.

Добавить WI-Fi к устройствам возможно с помощью IoT контроллера. Он имеет 8-битный микроконтроллер и IMU (Inertial Measurement Unit). Соединение защищено однокристальным крипто-ускорителем ECC 608.

Уникальный интерфейс IoT Wifi Controller отображает контакты в реальном времени с подробной информацией, благодаря уровню GPIO. Показатели ADC также можно подключать к плате с помощью телефона (Айфона) или маршрутизатора.

 Не реализованные функции:

  • расширенная подсветка анаграмм;
  • автозаполнение;
  • руководства для объединения других приложений.

 Базы Uno R3 и FTDI в данное время поддерживают рабочее состояние платы Arduino. В процессе находится разработка Mega, Due и Nano. Используемые в обучении платы Arduino — USB кабель OTG не влетит в копеечку. Стоимость до 2 долларов.

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

В статье рассмотрены 10 обзорных приложений — для платы «Ардуино». В процессе работы и изучения не возникнет проблем с программированием Windows и в других. Затруднения решаются подключением к пинам. Те в свою очередь аппаратно запрограммированы UART. Далее используются традиционные библиотеки.

Как собрать?

  1. Возьмите платформу Arduino Leonardo ETH и нижнюю панель кубa (7×7), соедините её с помощью винтов и гаек, так чтобы гайки располагались между панелью и платформой.
  2. Установите Troyka Shield через контактные колодки сверху на Arduino Leonardo ETH.
  3. Боковые панели куба (7×7) соедините с нижней панелью (7×7). Заднюю панель куба (7×3) закрепите между левой и правой панелями внизу, напротив разъёмов USB, Ethernet и внешнего питания платформы Arduino Leonardo ETH, заранее отделив бокорезами секции, мешающие ей устойчиво зафиксироваться.
  4. Возьмите микросервопривод FS90 и с помощью двух специальных панелей для крепления сервоприводов, двух панелей (3×3) и двух панелей (3×2) нашего конструктора сделайте домик для микросервопривода. Это будет плечо робота. Повторите процесс со вторым микросервоприводом.
  5. Из комплектации микросервопривода возьмите качельку овальной формы и через специальную панель (5×2) с вырезом для неё, закрепите к валу сервопривода болтиком также входящим в комплектацию сервомотора. Далее к этой панели с помощью двух панелей конструктора (5×2) и одной панели (6×2) соберите кисть робота. В итоге мы получили руку робота, где кисть — подвижная часть, а плечо — статичная. Повторите процесс со вторым микросервоприводом.
  6. Теперь к левой и правой боковым стенкам куба закрепите руки робота. Подключите микросервоприводы левой и правой руки через 3-проводные шлейфы к и пину Troyka Shield соответственно.
  7. Возьмите два красных светодиода «Пиранья» и прикрутите их с помощью акриловых болтов к панели для крепления двух Troyka-модулей.
  8. Далее используя панель с закреплёнными светодиодами, две панели (6×3) и две панели (3×3) конструктора ПВХ сделайте голову роботу, заранее подключив 3-проводные шлейфы от светодидов.
  9. Возьмите заднюю панель куба (7×2) и установите её между левой и правой панелями в верхней части. Далее возьмите панель крестиков (1×6) и установите между задними панелями (7×3) и (7×2). С помощью заранее выведенных 3-проводных шлейфов из головы робота подключите светодиоды «Пиранья» к и пину Troyka Shield. Установите верхнюю панель куба (7×7) на левую и правую панели.
  10. Так как регулятор напряжения, установленный на плате Arduino Leonardo ETH, не может выдавать ток, обеспечивающий стабильную работу сервомоторов, мы будем запитывать всю конструкцию от отдельного источника питания на . Для этого возьмите гнездо питания 2,1 мм и с помощью проводов «папа-папа» через верхнюю панель куба соедините пин Arduino с клеммника, а пин Arduino с клеммника. В результате должна получиться такая схема:
  11. Возьмите четыре панели крестиков (1×3) и установите две из них на нижнюю часть головы робота, а другие две на верхнюю часть куба.
  12. Установите голову робота через панели крестиков (1×3) на верхнюю панель куба. Соедините переднюю панель куба (6×7) с нижней панелью.
  13. Используя две панели (3×7) и четыре панели (2×4) конструктора ПВХ сделаем ноги для робота.
  14. Поставьте робота на ноги.
  15. Какой же музыкант без инструмента и шляпы. Установите в руки робота маракасы и сделайте для своего Мариачи праздничное сомбреро

Исходный код

gamePong.ino

// библиотека для работы с композитным видео выходом
#include
 
// создаём объект TV класса TVout
TVout TV;
 
// максимальное количесво очков
#define MAX_SCORE 7
// длина ракеток
#define PADDLE_HEIGHT 10
// невидимые боковые грани рекакетки
// для отбивания в крайних точках ракетки
#define PADDLE_OFFSET 2
 
// пины подключения джойстиков каждого игрока
#define PLAYER_LEFT_PIN A5
#define PLAYER_RIGHT_PIN A0
 
// переменные для хранения размеров экрана
int hres, vres;
// координаты шара
int ballX, ballY;
// направление шара
int ballDX = 1;
int ballDY = 1;
// очки игроков
int playerScoreLeft = ;
int playerScoreRight = ;
int leftPaddleY = ;
int rightPaddleY = ;
 
// состояния системы
enum State
{
RESET_GAME,
NEXT_LEVEL,
PLAY_GAME,
STATE_MISS,
};
 
// объявляем переменную state
State state;
 
bool missed = ;
 
void setup()
{
 
// инициализируем коммуникацию с телевизиром
TV.begin(NTSC, 136, 96);
// ждём 1 секунду
delay(1000);
// считываем размеры экрана
hres = TV.hres();
vres = TV.vres();
// сбрасываем игру
state = RESET_GAME;
 
}
 
void loop()
{
switch (state) {
case RESET_GAME
// очищаем экран
TV.clearScreen();
// выбираем шрифт «4×6»
TV.selectFont(font4x6);
// печатем на экране слово «Амперка»
TV.print(55, , «Amperka»);
delay(1000);
// выбираем шрифт «8×8»
TV.selectFont(font8x8);
// печатем на экране название игры «Arduino Pong»»
TV.print(20, 30, «Arduino Pong»);
delay(1000);
// на старт, внимание, вперёд
for (int i = 3; i != ; i— ) {
TV.print(hres 2, 60, i);
TV.tone(1000, 300);
delay(1000);
}
TV.tone(2000, 300);
// выбираем шрифт «4×6»
TV.selectFont(font4x6);
// очищаем экран
TV.clearScreen();
// обнуляем счёт обоих игроков
playerScoreLeft = ;
playerScoreRight = ;
// переходим на следующий уровень
state = NEXT_LEVEL;
break;
case NEXT_LEVEL
// сброс шарика и ракеток
resetBallAndPaddles();
// рисуем игровое поле на экране
drawBox();
// выводим очки игроков на экране
drawScores();
// рисуем игровые ракетки
drawPaddles();
// переходим в состояние игры
state = PLAY_GAME;
break;
case PLAY_GAME
// если мяч достиг верхеней / нижней границицы поля
if (ballY == vres || ballY == ) {
ballDY *= -1;
}
// если мяч приближается к правой стороне
if (ballX >= hres — 2) {
// если мяч отбился правой ракеткой
if (ballY > rightPaddleY — PADDLE_OFFSET &&
ballY ) {
ballDX = -1;
}
}
// если мяч достиг правой стены
if (ballX == hres — 1) {
missed = true;
state = STATE_MISS;
playerScoreLeft++;
break;
}
 
// если мяч приближается к правой стороне
if (ballX leftPaddleY — PADDLE_OFFSET &&
ballY

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

Светодиодная индикация

Имя светодиода Назначение
ON Информационный индикатор питания.
L Пользовательский светодиод на пине микроконтроллера. Используйте определение для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается.
RGB Пользовательский RGB-светодиод с общим анодом. Катоды красного, зелёного и синего цвета выведены на , и пине микроконтроллера соответственно. Для удобства используйте встроенные в Arduino IDE определения , и для работы с RGB-светодиодом. При задании значения высокого уровня светодиоды выключается, при низком – включается.

Понижающий регулятор 3V3

Импульсный понижающий регулятор напряжения MPM3610 обеспечивает питание модуля и другой логики платформы при подключении платформы через пин . Диапазон входного напряжения от 5 до 18 вольт. Выходное напряжение 3,3 В с максимальным выходным током 1,2 А.

Кнопка RESET

Пользовательская кнопка с двумя полезными функциями:

  • Один клик (Single Сlick): служит для сброса микроконтроллера.
  • Двойной клик (Double Click): переводит микроконтролер в BOOT-режим, который пригодиться при зависании платы или дургих сбоев в программе.

Программирование Ардуино

Язык программирования устройств Ардуино основан на C/C++. Он прост в освоении, и на данный момент Arduino — это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.

Базовые и полезные знания, необходимые для успешного программирования под платформу Arduino:

  • Начало работы с Arduino в Windows
  • Работа с Arduino Mini
  • Цифровые выводы
  • Аналоговые входы
  • Широтно-импульсная модуляция
  • Память в Arduino
  • Использование аппаратных прерываний в Arduino
  • Переменные
  • Функции
  • Создание библиотек для Arduino
  • Использование сдвигового регистра 74HC595 для увеличения количества выходов
  • Прямое управления выходами через регистры микроконтроллера Atmega

Справочник языка Ардуино

Язык Arduino можно разделить на три раздела:

Операторы

  • setup()
  • loop()
Управляющие операторы
  • if
  • if…else
  • for
  • switch case
  • while
  • do… while
  • break
  • continue
  • return
  • goto
Синтаксис
  • ; (semicolon)
  • {} (curly braces)
  • // (single line comment)
  • /* */ (multi-line comment)
Арифметические операторы
  • = (assignment)
  • + (addition)
  • — (subtraction)
  • * (multiplication)
  • / (division)
  • % (modulo)
Операторы сравнения
  • == (equal to)
  • != (not equal to)
  • < (less than)
  • > (greater than)
  • <= (less than or equal to)
  • >= (greater than or equal to)
Логические операторы
  • && (И)
  • || (ИЛИ)
  • ! (Отрицание)
Унарные операторы
  • ++ (increment)
  • — (decrement)
  • += (compound addition)
  • -= (compound subtraction)
  • *= (compound multiplication)
  • /= (compound division)

Данные

Константы
  • HIGH | LOW
  • INPUT | OUTPUT
  • true | false
  • Целочисленные константы
  • Константы с плавающей запятой
Типы данных
  • boolean
  • char
  • byte
  • int
  • unsigned int
  • word
  • long
  • unsigned long
  • float
  • double
  • string — массив символов
  • String — объект класса
  • массив (array)
  • void
Преобразование типов данных
  • char()
  • byte()
  • int()
  • long()
  • float()
Область видимости переменных и квалификаторы
  • Область видимости
  • static
  • volatile
  • const

Функции

Цифровой ввод/вывод
  • pinMode()
  • digitalWrite()
  • digitalRead()
Аналоговый ввод/вывод
  • analogRead()
  • analogReference()
  • analogWrite()
Дополнительные фунции ввода/вывода
  • tone()
  • noTone()
  • shiftOut()
  • pulseIn()
Работа со временем
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()
Математические функции
  • min()
  • max()
  • abs()
  • constrain()
  • map()
  • pow()
  • sq()
  • sqrt()
Тригонометрические функции
  • sin()
  • cos()
  • tan()
Генераторы случайных значений
  • randomSeed()
  • random()
Внешние прерывания
  • attachInterrupt()
  • detachInterrupt()
Функции передачи данных

Serial

Библиотеки Arduino

Servo — библиотека управления сервоприводами.EEPROM — чтение и запись энергонезависимой памяти микроконтроллера.SPI — библиотека, реализующая передачу данных через интерфейс SPI.Stepper — библиотека управления шаговыми двигателями.

дальнейшее чтение

  • Изучение Arduino: инструменты и методы для инженерного мастерства; 2-е изд; Джереми Блюм; Вайли; 512 страниц; 2019; ISBN 978-1119405375.
  • Arduino для чайников; 2-е изд; Джон Насси; Джон Уайли и сыновья; 400 страниц; 2018; ISBN 978-1119489542.
  • Следующие шаги по программированию Arduino: дальнейшее развитие с помощью эскизов; 2-е изд; Саймон Монк; McGraw-Hill Education; 320 страниц; 2018; ISBN 978-1260143249.
  • Программирование Arduino: начало работы с эскизами; 2-е изд; Саймон Монк; McGraw-Hill Education; 192 страницы; 2016; ISBN 978-1259641633.
  • Начало C для Arduino: изучение программирования C для Arduino; 2-е изд; Джек Пурдум; Апресс; 388 страниц; 2015; ISBN 978-1484209417.
  • Arduino: краткое руководство; 2-е изд; Майк Шмидт; Прагматическая книжная полка; Прагматическая книжная полка; 323 страницы; 2015; ISBN 978-1941222249.
  • Марка: Начало работы с Arduino; 3-е изд; Массимо Банзи, Майкл Шайло; Создать сообщество; 262 страницы; 2014; ISBN 978-1449363338.
  • Марка: Датчики; 1-е изд; Теро Карвинен, Киммо Карвинен, Вилле Валтокари; Создать сообщество; 400 страниц; 2014; ISBN 978-1449368104.
  • Мастерская Arduino: практическое знакомство с 65 проектами; 1-е изд; Джон Боксолл; Пресс без крахмала; 392 страницы; 2013; ISBN 978-1593274481.

Распиновка

Пины питания

  • VIN: Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
  • 5V: Выходной пин от с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
  • 3V3: Выходной пин от с выходом 3,3 вольта и максимальным током 300 мА.
  • IOREF: Выходной пин, который предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
  • GND: Выводы земли.

Пины ввода/вывода

  • Пины общего назначения: 20 пинов: – и –
    Логический уровень единицы — 5 В, нуля — 0 В.
  • АЦП: 6 пинов: –
    Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя.
  • ШИМ: 6 пинов: , , и –
    Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит.
  • I²C Для общения Arduino c платами расширения и сенсорами по интерфейсу I²C.

    I²C: пины SDA/A4 и SCL0/A5

  • SPI Для общения Arduino c платами расширения и сенсорами по интерфейсу SPI.

    SPI: пины MOSI/11, MISO/12 и SCK/13

  • Serial/UART Для общения Arduino c платами расширения и сенсорами по интерфейсу UART.

    Serial: пины TX1/1 и RX1/0. Контакты также соединены с соответствующими выводами USB-UART преобразователя CH340 для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте.

Мигание светодиодом на плате Arduino из браузера

1. Запустите и настройте внешний вид Arduino Web Editor по своему желанию (пункт меню Preferences).

2. Соедините плату Arduino или Genuino с вашим компьютером. Платы и последовательные порты, к которым они подключены, автоматически определяются Arduino Web Editor и отображаются в специальном списке – выберите из этого списка ту плату, с которой хотите работать.

3. Начнем работу с самого простого примера. Для этого выберите в меню слева пункт ‘Examples’ (примеры), затем ‘Basic’ (основные) и затем ‘Blink’ (мигание). После этого код скетча для мигания светодиодом высветится в поле кода.


4. Чтобы загрузить его в вашу плату нажмите кнопку ‘Upload ’. Пока код скетча будет проверяться и загружаться в плату на месте этой кнопки появится метка ‘BUSY’ (занято). Если загрузка скетча в плату прошла успешно внизу окна вывода данных появится сообщение “Success: Done uploading”.

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

6. Иногда новые платы Arduino/Genuino уже при изготовлении программируются программой мигания светодиодом. Так как же в этом случае понять что вы успешно загрузили программу мигания светодиодом в плату? Да очень просто. Просто уменьшите задержку в представленном примере и после этого загружайте его в плату – если все прошло успешно, то вы заметите что светодиод начнет мигать быстрее чем он мигал до этого.

Arduino Howto

This page is obsolete. You should instead see the Windows Howto or the Mac OS X howto (both in the Arduino guide).

These are the steps you need to follow in order to be up and running:

  1. Get an Arduino board
  2. Download the Arduino environment
  3. Install the USB drivers
  4. Connect the board
  5. Upload a program

1 | Get an Arduino board

The Arduino i/o board is a simple circuit featuring the ATmega8 processor from Atmel. The board is composed of a printed circuit board (PCB) and electronic parts.

There are a few ways to get an Arduino board:

  • buy a ready made board. See how you can buy a board or just the PCB.
  • build your own board. If you want you can build your own PCB just by downloading the CAD files from the Hardware page. Extract the .brd file and send it to a PCB manufacturer. Be aware that manufacturing a single pcb will be very expensive. It’s better to get together with other people and make 20 or 30 at a time. Since you get the full CAD files you can make your own customised version of Arduino. if you make modifications or fix bugs please send us your changes!

    • purchase parts. purchase the parts from any electronics store. The Serial version in particular has been designed to use the most basic parts that can be found anywhere in the world. The USB version on the other hand requires some advanced soldering skills because of the FTDI chip that is an smd part. Here is a list of parts for the serial board.
    • assemble the board. We put together a step by step guide on how to build an arduino board.
    • program the bootloader. In order for the development environment to be able to program the chip, this has to be programmed with a piece of code called bootloader. See the bootloader page on how to program it on your chip.

2 | Download the Arduino environment

To program the Arduino board you need the Arduino environment.

Download Arduino:
From the software page.

Linux note: For help getting the Arduino IDE running on Debian, please see the FAQ («How can I run the Arduino IDE under Linux?»).

Mac OS X note: After downloading the IDE, run the . It corrects permission on a few files for use with the serial port and will prompt you for your password. You may need to reboot after running this script.

For more information, see the guide to the Arduino environment.

3 | Install the USB drivers

If you are using a USB Arduino, you will need to install the drivers for the FTDI chip on the board. These can be found in the directory of the Arduino distribution.

On Windows, you will need to unzip . Then, when you plug in the Arduino board, point the Windows Add Hardware wizard to the directory.

On the Mac, mount the (on PPC machines) or the (on Intel machines) disk image and run the included .

4 | Connect the board

If you’re using a serial board, power the board with an external power supply (6 to 25 volts DC, with the core of the connector positive). Connect the board to a serial port on your computer.

On the USB boards, the power source is selected by the jumper between the USB and power plugs. To power the board from the USB port (good for controlling low power devices like LEDs), place the jumper on the two pins closest to the USB plug. To power the board from an external power supply (needed for motors and other high current devices), place the jumper on the two pins closest to the power plug. Either way, connect the board to a USB port on your computer. On Windows, the Add New Hardware wizard will open; tell it you want to specify the location to search for drivers and point to the folder containing the USB drivers you unzipped in the previous step.

The power LED should go on.

5 | Upload a program

Open the LED blink example sketch: File > Sketchbook > Examples > led_blink.

Here’s what the code for the LED blink example looks like.

Select the serial device of the Arduino board from the Tools | Serial Port menu. On Windows, this should be or for a serial Arduino board, or , , or for a USB board. On the Mac, this should be something like for a USB board, or something like if using a Keyspan adapter with a serial board (other USB-to-serial adapters use different names).

Push the reset button on the board then click the Upload button in the IDE. Wait a few seconds. If successful, the message «Done uploading.» will appear in the status bar.

If the Arduino board doesn’t show up in the Tools | Serial Port menu, or you get an error while uploading, please see the FAQ for troubleshooting suggestions.

A few seconds after the upload finishes, you should see the amber (yellow) LED on the board start to blink.

Learn More

  • Read about the Arduino Environment
  • Learn about the parts of the Arduino board
  • See the tutorials for some example programs. (There are also some examples available in the directory inside the arduino directory.)
  • Look up specific Arduino functions and syntax in the reference
  • If you’re having problems, check the FAQ.

Характеристики

  • Чипы: NINA-B306, LSM9DS1
  • Входное напряжение через Vin: 5–18 В
  • Напряжение логических уровней: 3,3 В
  • Порты ввода-вывода: 22
  • Пины с АЦП: 8
  • Разрядность АЦП: 8/10/12 бит (по умолчанию 10 бит)
  • Пины с ШИМ: 22 (до 4 каналов)
  • Разрядность ШИМ: 8/10/12 бит (по умолчанию 8 бит)
  • Аппаратные интерфейсы SPI: 1
  • Аппаратные интерфейсы I²C: 1
  • Аппаратные интерфейсы UART: 1
  • Максимальный выходной ток с пина: 15 мА
  • Суммарный выходной ток с пинов: до 25 мА
  • Габариты платы с ножками: 45×18×13 мм

Беспроводной модуль U-blox NINA-B306

  • Микроконтроллер: Nordic nRF52840
  • Вычислительное ядро: ARM Cortex M4 (32 бита)
  • Тактовая частота: 64 МГц
  • Flash-память: 1 МБ
  • SRAM-память: 256 КБ
  • Частотный диапазон связи: 2,4 ГГц
  • Стандарт связи: Bluetooth v5.0 с поддержкой BLE

IMU-сенсор ST LSM9DS1

  • Диапазон измерения ускорения: ±2/±4/±8/±16g
  • Диапазон измерения поворота: ±245/±500/±2000 град./с
  • Диапазон измерения магнитной индукции: ±4/±8/±12/±16 Гс
  • Частота опроса акселерометра и гироскопа: 14,9–952 Гц
  • Частота опроса магнитометра: 0,625–80 Гц

Настройка Arduino IDE

После установки необходимо настроить программу. Сделать это очень легко:

1. Сначала подключите вашу ардуинку к компьютеру с помощью USB кабеля.

2. Потом перейдите в «Пуск >> Панель управления >> Диспетчер устройств«. Там надо найти «Порты COM и LPT». В этом списке будет указана ваша arduino и порт к которому она подключена (COM2). Запомните это значение.

Arduino Uno в диспетчере устройств

3. Теперь запускаем Arduino IDE и сразу идем в меню «Инструменты >> Порт«. Там необходимо выбрать тот COM порт, который вы запомнили.

Выбор COM порта

4. Далее надо выбрать плату. Для этого в меню»Инструменты >> Платы» выбираете модель вашей платы.

Выбор платы ардуино

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

Scratch

Эта графическая среда программирования была создана в 2003 году, когда группа сотрудников MIT Media Lab решила разработать язык программирования, доступный абсолютно для всех. В итоге через некоторое время публике был представлен Scratch.

Больше всего, пожалуй, он похож на Lego. По крайней мере, принцип тот же: это объектно ориентированная среда, в которой программы собираются из деталей, разноцветных и ярких. Эти детали можно перемещать, видоизменять, заставлять взаимодействовать различным образом. Основа Scratch — блоки команд, таких как сенсоры, переменные, движение, звук, операторы, внешность, перо, контроль и пр. Встроенный графический редактор дает возможность нарисовать любой объект. Не прошло и пяти лет с момента создания Scratch, как возник проект Scratch для Arduino (сокращённо — S4A), позволяющая программировать ПЛК Arduino.

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

Совет. Для новичков в Scratch существует специальный ресурс: https://scratch-ru.info.

Библиотеки Arduino

Библиотеки Arduino представляют собой коллекции функций, которые позволят вам управлять устройствами. Вот некоторые из наиболее широко используемых библиотек:

  • – чтение и запись в «постоянно» хранилище;
  • – для подключения к интернету, используя плату Arduino Ethernet Shield;
  • – для связи с приложениями на компьютере, используя стандартный последовательный протокол;
  • – для подключения к сети GSM/GRPS с помощью платы GSM;
  • – для управления жидкокристаллическими дисплеями (LCD);
  • – для чтения и записи SD карт;
  • – для управления сервоприводами;
  • – для связи с устройствами, используя шину SPI;
  • – для последовательной связи через любые цифровые выводы;
  • – для управления шаговыми двигателями;
  • – для отрисовки текста, изображений и фигур Arduino TFT экранах;
  • – для подключения к интернету, используя плату Arduino WiFi shield;
  • – двухпроводный интерфейс (TWI/I2C) для передачи и приема данных через сеть устройств или датчиков.

Монитор последовательной связи (Serial Monitor)

В Arduino Web Editor монитор последовательной связи Serial Monitor доступен в боковой панели.

Монитор последовательной связи считывает данные с платы, которая в данный момент выбрана в списке плат. Если вы хотите сменить плату (например, у вас к компьютеру подсоединено несколько плат), то просто выберите необходимую плату в списке плат. При смене платы автоматически обновится и используемый последовательный порт.

Если хотите протестировать работу монитора последовательной связи, можете открыть пример Examples > 03.Analog > AnalogInOutSerial. Загрузите код этого примера в плату и после этого вы увидите результат его работы.

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

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

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

Если вы хотите освободить этот порт для работы других приложений просто нажмите кнопку Disconnect (разъединиться) на панели.

Простые проекты Ардуино

Давайте начнем наш обзор с традиционно самых простых, но очень важных проектов, включающих в себя минимальное количество элементов: светодиоды, резисторы и, конечно же, плату ардуино. Все примеры рассчитаны на использование Arduino Uno, но с минимальными изменениями будут работать на любой плате: от Nano и Mega до Pro, Leonardo и даже LilyPad.

Проект с мигающим светодиодом – маячок

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

Нам понадобится:

  • Плата Ардуино Uno, Nano или Mega со встроенным светодиодом, подключенным к 13 пину.
  • И все.

Что должно получиться в итоге:

Светодиод мигает – включается и выключается через равные промежутки времени (по умолчанию – 1 сек). Скорость включения и выключения можно настраивать.

Схема проекта

Схема проекта довольно проста:  нам нужен только контроллер ардуино со встроенным светодиодом, подсоединенным к пину 13. Именно этим светодиодом мы и будем мигать. Подойдут любые популярные платы: Uno, Nano, Mega и другие.

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

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

Программирование в проекте Ардуино

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

Открываем программу Arduino IDE, убеждаемся, что выбран нужный порт.

Проверка порта Ардуино – выбираем порт с максимальным номером

Затем открываем уже готовый скетч Blink – он находится в списке встроенных примеров. Откройте меню Файл, найдите подпункт с примерами, затем Basics и выберите файл Blink.

Открываем пример Blink в Ардуино IDE

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

Кнопки компиляции и загрузки скетча
Информация в Arduino IDE – Загрузка завершена

Ждем немного (внизу можно отследить процесс загрузки) – и все. Плата опять подмигнет несколькими светодиодами, а затем один из светодиодов начнет свой размеренный цикл включений и выключений. Можно вас поздравить с первым загруженным проектом!

Проект маячка со светодиодом и макетной платой

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

Графическое изображение схемы подключения доступно на следующем рисунке:

Другие идеи проектов со светодиодами:

  • Мигалка (мигаем двумя свтодиодами разных цветов)
  • Светофор
  • Светомузыка
  • Сонный маячок
  • Маячок – сигнализация
  • Азбука Морзе

Подробное описание схемы подключения и логики работы программы можно найти в отдельной статье, посвященной проектам со светодиодами.

Какие ещё языки используют для Arduino

Но чу! Под Arduino можно писать и на других языках!

С. Как и С++, Си легко можно использовать для программирования микроконтроллеров Arduino. Только если С++ не требует никаких дополнительных программ, то для С вам понадобится , чтобы правильно перевести код в язык, понятный контроллерам AVR.

Python. Было бы странно, если бы такому универсальному языку не нашлось применения в робототехнике. Берёте библиотеки PySerial и vPython, прикручиваете их к Python и готово!

Java. Принцип такой же, как в Python: берёте библиотеки для работы с портами и контроллерами и можно начинать программировать.

HTML. Это, конечно, совсем экзотика, но есть проекты, которые заставляют HTML-код работать на Arduino.

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

Подводя итоги

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

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