Данная статья поможет вам начать работу с Arduino и включает в себя описание различных типов Arduino, как загрузить среду разработки программного обеспечения Arduino, и описывает различные платы и принадлежности, доступные для Arduino, и которые понадобятся вам для разработки проектов на Arduino.
Arduino – это одноплатный контроллер с открытыми исходными кодами, который можно использовать в множестве различных приложений. Это возможно самый простой и самый дешевый вариант из микроконтроллеров для любителей, студентов и профессионалов для разработки проектов на основе микроконтроллеров. Платы Arduino используют либо микроконтроллер Atmel AVR, либо микроконтроллер Atmel ARM, и в некоторых версия имеет интерфейс USB. Они также имеют шесть или более выводов аналоговых входов и четырнадцать или более выводов цифровых входов/выходов (I/O), которые используются для подключения к микроконтроллеру датчиков, приводов и других периферийных схем. Цена на платы Arduino в зависимости от набора функций составляет от шести до сорока долларов.
Arduino для начинающих. Начало работы
Типы плат Arduino
Существует множество различных типов плат Arduino, как показано в списке ниже, каждая из которых обладает собственным набором функций. Они отличаются по скорости обработки, памяти, портам ввода/вывода и подключению, но основная составляющая их функционала остается неизменной.
- Arduino Uno
- Arduino Leonardo
- Arduino Due
- Arduino Yún
- Arduino Tre
- Arduino Micro
- Arduino Robot
- Arduino Esplora
- Arduino Mega
- Arduino Mini
- LilyPad Arduino
- Arduino Nano
- Arduino Fio
- Arduino Pro
- Arduino Ethernet
На разнообразие плат Arduino и их технические описания можно посмотреть в подразделе «Arduino» раздела «Купить» данного сайта.
Программное обеспечение (IDE)
Программное обеспечение, используемое для программирования Arduino, представляет собой интегрированную среду разработки Arduino IDE. IDE представляет собой Java приложение, которое работает на множестве различных платформ, включая системы PC, Mac и Linux. Она разработана для начинающих, которые не знакомы с программированием. Она включает в себя редактор, компилятор и загрузчик.
Также в IDE включены библиотеки кода для использования периферии, например, последовательных портов и различных типов дисплеев. Программы для Arduino называются «скетчами», и они написаны на языке, очень похожем на C или C++.
USB кабель
Большинство плат Arduino подключаются к компьютеру с помощью USB кабеля. Это соединение позволяет загружать скетчи на вашу плату Arduino, а также обеспечивает плату питанием.
Подключение Arduino, установка драйвера и первый запуск
Программирование
Программирование Arduino легко: сначала вы используете редактор кода IDE для написания программы, а затем компилируете и загружаете её одним кликом.
Программа для Arduino включает в себя две основные функции:
Вы можете использовать функцию setup() для инициализации настроек платы. Эта функция выполняется только один раз, при включении платы.
Функция loop() выполняется после завершения функции setup() , и в отличие от функции setup() она работает постоянно.
Функции программ
Ниже приведен список наиболее часто используемых функции при программировании Arduino:
- pinMode – устанавливает вывод в режим входа или выхода;
- analogRead – считывает аналоговое напряжение на аналоговом входном выводе;
- analogWrite – записывает аналоговое напряжение в аналоговый выходной вывод;
- digitalRead – считывает значение цифрового входного вывода;
- digitalWrite – задает значение цифрового выходного вывода в высокий или низкий уровень;
- Serial.print – пишет данные в последовательный порт в виде удобочитаемого текста ASCII.
Библиотеки Arduino
Библиотеки Arduino представляют собой коллекции функций, которые позволят вам управлять устройствами. Вот некоторые из наиболее широко используемых библиотек:
- EEPROM – чтение и запись в «постоянно» хранилище;
- Ethernet – для подключения к интернету, используя плату Arduino Ethernet Shield;
- Firmata – для связи с приложениями на компьютере, используя стандартный последовательный протокол;
- GSM – для подключения к сети GSM/GRPS с помощью платы GSM;
- LiquidCrystal – для управления жидкокристаллическими дисплеями (LCD);
- SD – для чтения и записи SD карт;
- Servo – для управления сервоприводами;
- SPI – для связи с устройствами, используя шину SPI;
- SoftwareSerial – для последовательной связи через любые цифровые выводы;
- Stepper – для управления шаговыми двигателями;
- TFT – для отрисовки текста, изображений и фигур Arduino TFT экранах;
- WiFi – для подключения к интернету, используя плату Arduino WiFi shield;
- Wire – двухпроводный интерфейс (TWI/I2C) для передачи и приема данных через сеть устройств или датчиков.
Этапы настройки Arduino
- Во-первых, установите IDE. Вы можете скачать IDE с сайта Arduino.
- Установите программное обеспечение на свой компьютер.
- Теперь запустите .exe файл Arduino IDE. IDE выглядит так:
- Напишите в редакторе кода свою программу и загрузите её в Arduino. Чтобы сделать это, необходимо подключить Arduino к компьютеру, используя USB кабель.
- В IDE выберите тип Arduino, который вы используете, через меню Tools (Инструменты) → Boards (Платы).
- Теперь проверьте свой код, нажав на значок «галки» вверху окна IDE, затем нажмите на соседний значок «стрелка вправо», чтобы скомпилировать и загрузить код в Arduino.
Внимание: возможно, вам понадобится установить драйвера, если ваша система не обнаружит Arduino.
Платы расширения Arduino
Платы расширения Arduino (Arduino Shields) – это платы, которые подключаются к Arduino, чтобы предоставить вам возможность подключать к Arduino периферийные устройства, датчики и приводы. Ниже приведен список некоторых популярных плат расширения:
- GSM Shield;
- Ethernet Shield;
- WiFi Shield;
- Motor Shield;
- Proto Shield;
- Joystick Shield;
- Bluetooth Shield;
- Xbee shield.
Комплектующие и принадлежности
Ниже приведен список всех комплектующих и принадлежностей, обычно используемых совместно с Arduino для разработки проектов:
- Макетная плата
- USB кабель
- Батарея 9В
- светодиоды
- кнопки
- конденсаторы
- регуляторы напряжения
- датчики (IR, температуры и т.д.)
- Перемычки
- Резисторы
- Потенциометр
- Двигатели (двигатели постоянного тока, сервоприводы, BLDC)
- LCD
- Матричная клавиатура 4×4
- Платы расширения Arduino
Всё, что необходимое для макетирования, вы можете найти в подразделе Макетирование раздела сайта Купить
Источник: radioprog.ru
Arduino: выбор платы, подключение и первая программа
Arduino — это электронная платформа с открытым исходным кодом, которая позволяет взаимодействовать с окружающим миром. Благодаря ей можно создать всё, что придёт в голову — от простых электронных игрушек и автоматизации быта до электронной начинки боевого робота для состязаний, управляемого силой мысли (без шуток).
Из чего состоит Arduino?
На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства AVR. Подробнее о том, чем микроконтроллер отличается от микропроцессора.
Платы имеют на борту всё необходимое для комфортной работы, но их функциональности часто бывает недостаточно. Чтобы сделать свой проект более интерактивным, можно использовать различные модули и платы расширений, совместимые с платформой Arduino. Сюда входят датчики (температуры, освещения, влаги, газа/дыма, атмосферного давления), устройства ввода (клавиатуры, джойстики, сенсорные панели) и вывода (сегментные индикаторы, LCD/TFT дисплеи, светодиодные матрицы).
На программном уровне платформа Arduino представляет собой бесплатную среду разработки Arduino IDE. Микроконтроллеры надо программировать на языке C++, с некоторыми отличиями и облегчениями, созданными для быстрой адаптации начинающих. Компиляцию программного кода и прошивку микроконтроллера среда разработки берёт на себя.
Существует также s4a.cat — сервис, базирующийся на Scratch, позволяющий более наглядно вести разработку на Arduino. Он подойдёт для обучения детей, а также если вы разово хотите создать простое устройство без изучения языка программирования Arduino и различных документаций. Для остальных же случаев лучше придерживаться традиционного процесса разработки.
Нужно ли уметь паять?
Знания в области электромонтажа приветствуются, но совсем не обязательны. Простые устройства на базе Arduino часто выполняются в виде макета. Для этого используется беспаечная макетная плата (англ. breadboard), на которой происходит коммутация модулей с платой Arduino с помощью перемычек.
Макетная плата на 400 отверстий (имеются шины питания по бокам). Источник
Также существуют наборы, в которые входят сразу плата Arduino (оригинальная или от стороннего производителя), макетная плата, перемычки и различные радиоэлементы, датчики, модули. Например, такой:
Набор для изучения Arduino. Источник
Какие бывают платы
По производителю
Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.
На примере самой популярной платы Arduino UNO:
-
Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.
Оригинальная плата Arduino UNO. Источник
Плата Arduino UNO от стороннего производителя. Источник
По назначению
У платы UNO достаточно портов для реализации большинства проектов. Однако иногда возможностей UNO может быть недостаточно, а иногда — избыточно. По этой причине как оригинальный, так и сторонние производители выпускают большое количество плат, различающихся характеристиками микроконтроллера, количеством портов и функциональным назначением.
Различные платы Arduino. Источник
Самые популярные из них:
- Arduino Nano — различие с UNO только в конструктивном исполнении. Nano меньше.
- Arduino Mega — плата на базе мощного микроконтроллера. Имеет большое количество портов.
- Arduino Micro — имеет встроенную поддержку USB-соединения, а потому может использоваться как HID-устройство (клавиатура, мышь, MIDI-устройство).
- Arduino Ethernet — имеет возможность подключения к сети через Ethernet-провод. На плате также расположен слот для microSD карточки.
- Arduino Mini — по характеристикам немного уступает UNO. Преимуществом платы является её миниатюрное исполнение.
- Arduino Due — плата на базе 32-разрядного ARM микроконтроллера. Имеет преимущество в производительности по сравнению с остальными.
- Arduino LilyPad — форм-фактор позволяет использовать плату в предметах одежды и текстиля.
- Arduino Yún — «нужно было ставить линукс…». Имеет поддержку дистрибутива Linux, встроенную поддержку Ethernet и Wi-Fi, слот для microSD. Как и Micro, имеет встроенную поддержку USB-соединения.
Установка ПО
После выбора необходимой платы нужно установить бесплатную среду разработки Arduino IDE, которую можно найти на официальном сайте, а также, по необходимости, драйвер CH340.
Недавно открылась облачная платформа Arduino Create, которая покрывает большинство этапов разработки (от идеи до сборки). Вам не нужно ничего устанавливать на свой компьютер, всё необходимое платформа берёт на себя. В первую очередь — онлайн редактор кода.
В Arduino Create имеется доступ к обучающим материалам, проектам. Вы сможете общаться с профессионалами и помогать новичкам.
Среда разработки Arduino IDE
Особенности программирования на платформе Arduino
Термины
Программный код для Arduino принято называть скетчами (англ. sketches). У скетчей есть два основных метода: setup() и loop() . Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод loop() вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.
Порты — неотъемлемая часть любого микроконтроллера. Через них происходит взаимодействие микроконтроллера с внешними устройствами. С программной стороны порты называются пинами. Любой пин может работать в режиме входа (для дальнейшего считывания напряжения с него) или в режиме выхода (для дальнейшей установки напряжения на нём).
Любой пин работает с двумя логическими состояниями: LOW и HIGH , что эквивалентно логическому нулю и единице соответственно. У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ. PWM), что позволяет устанавливать аналоговое напряжение на выходе. Обычно функциональные возможности пина указываются на маркировке самой платы.
Основные функции
Для базовой работы с платой в библиотеке Arduino есть следующие функции:
- pinMode(PIN, type) — указывает назначение конкретного пина PIN (значение type INPUT — вход, OUTPUT — выход);
- digitalWrite(PIN, state) — устанавливает логическое состояние на выходе PIN ( state LOW — 0, HIGH — 1);
- digitalRead(PIN) — возвращает логическое состояние со входа PIN ( LOW — 0, HIGH — 1);
- analogWrite(PIN, state) — устанавливает аналоговое напряжение на выходе PIN ( state в пределах от 0 до 255);
- analogRead(PIN) — возвращает значение аналогового уровня сигнала со входа PIN (пределы зависят от разрядности встроенного АЦП. Обычно разрядность составляет 10 бит, следовательно, возвращаемое значение лежит в пределах от 0 до 1023);
- delay(ms) — приостанавливает исполнение скетча на заданное количество миллисекунд;
- millis() — возвращает количество миллисекунд после момента запуска микроконтроллера.
В остальном процесс программирования на Arduino такой же, как на стандартном C++.
Пишем первую программу
Вместо всем привычных Hello World’ов в Arduino принято запускать скетч Blink, который можно найти в Файл→Примеры→01.Basics→Blink. Там же можно найти множество других учебных скетчей на разные темы.
Почти на всех платах размещён светодиод, номер пина которого содержится в переменной LED_BUILTIN . Его можно использовать в отладочных целях. В следующем скетче будет рассмотрен пример управления таким светодиодом.
Рассмотрим скетч Blink:
// Эта функция запускается при старте микроконтроллера void setup() < // Назначаем пин выходом. На пине LED_BUILTIN находится встроенный светодиод, размещённый на плате pinMode(LED_BUILTIN, OUTPUT); >// Эта функция вызывается циклически void loop() < digitalWrite(LED_BUILTIN, HIGH); // Включаем светодиод (подаём на него логическую 1 — напряжение питания микроконтроллера) delay(1000); // Ждём секунду digitalWrite(LED_BUILTIN, LOW); // Выключаем светодиод (подаём на него логический 0 — напряжение земли) delay(1000); // Ждём секунду >
Прошивка
После написания необходимо «залить» скетч на микроконтроллер. Как уже говорилось, платформа Arduino берёт весь процесс прошивки микроконтроллера на себя — вам лишь необходимо подключить плату к компьютеру.
Перед прошивкой микроконтроллера нужно выбрать вашу плату из списка в IDE. Делается это во вкладке Инструменты→Плата. Большинство существующих плат уже там есть, но при необходимости можно добавлять другие через Менеджер Плат.
После этого нужно подключить плату Arduino к любому USB-порту вашего компьютера и выбрать соответствующий порт во вкладке Инструменты→Порт.
Теперь можно приступать к прошивке микроконтроллера. Для этого достаточно нажать кнопку Загрузка, либо зайти на вкладку Скетч→Загрузка. После нажатия начнётся компиляция кода, и в случае отсутствия ошибок компиляции начнётся прошивка микроконтроллера. Если все этапы выполнены правильно, на плате замигает светодиод с периодом и интервалом в 1 сек.
Обмен данными с компьютером
У всех плат Arduino есть возможность обмена информацией с компьютером. Обмен происходит по USB-кабелю — никаких дополнительных «плюшек» не требуется. Нам нужен класс Serial , который содержит все необходимые функции. Перед работой с классом необходимо инициализировать последовательный порт, указав при этом скорость передачи данных (по умолчанию она равна 9600). Для отправки текстовых данных в классе Serial существуют небезызвестные методы print() и println() . Рассмотрим следующий скетч:
void setup() < Serial.begin(9600); // Инициализируем последовательный порт на скорости 9600 бод >void loop() < Serial.println(«T for Tproger»); // Отправляем сообщение по последовательному порту и переводим на новую строку delay(1000); // Ждём секунду >
В Arduino IDE есть Монитор порта. Запустить его можно через Инструменты→Монитор порта.
После его открытия убедитесь, что Монитор работает на той же скорости, которую вы указали при инициализации последовательного порта в скетче. Это можно сделать в нижней панели Монитора. Если всё правильно настроено, то ежесекундно в Мониторе должна появляться новая строка « T for Tproger ». Обмен данными с компьютером можно использовать для отладки вашего устройства.
Информацию на стороне компьютера можно не только получать, но и отправлять. Для этого рассмотрим следующий скетч:
void setup() < Serial.begin(9600); // Инициализируем последовательный порт на скорости 9600 pinMode(LED_BUILTIN, OUTPUT); // Инициализируем порт со светодиодом как выход >void loop() < if (Serial.available() >0) // Если в буфере есть байт для чтения, то. switch (Serial.read()) < // Считываем байт с буфера case ‘1’: digitalWrite(LED_BUILTIN, HIGH); // Если байт равен ‘1’ — включаем светодиод break; case ‘0’: digitalWrite(LED_BUILTIN, LOW); // Если байт равен ‘0’ — выключаем светодиод break; case ‘T’: Serial.println(«proger»); // Если байт равен ‘T’ — отправляем по серийному порту текст «proger» >>
Прошиваем микроконтроллер и возвращаемся в Монитор порта. Вводим в верхнее поле 1 и нажимаем Отправить. После этого на плате должен загореться светодиод. Выключаем светодиод, отправив с Монитора 0 . Если же отправить символ T , в ответ мы должны получить строку « proger ».
Таким способом можно пересылать информацию с компьютера на Arduino и обратно. Подобным образом можно реализовать связь между двумя Arduino.
А как подключать модули?
Для работы с датчиками и модулями их изготовители создают специальные библиотеки. Они служат для простой интеграции модулей в вашу систему. Подключение библиотеки возможно с zip файла или с помощью Менеджера Библиотек.
Однако большое количество датчиков являются бинарными, т. е. считывать информацию с них можно простой функцией digitalRead() .
Источник: tproger.ru
Знакомство со средой Arduino IDE
- Микроконтроллер. Микроконтроллер является «сердцем» платы. В него прошиваются (загружаются) программы (скетчи).
- Mini USB. Разъём USB используется для связи контроллера с ПК и его прошивки. Также разъём можно использовать для подключения питания.
- Выводы питания:
- Vin— напряжение от внешнего источника питания (6.5 В — 12 В);
- GND — минус напряжения питания / общий вывод / земля;
- 5V — напряжение 5 В;
- 3.3V — напряжение 3.3 В (на выход);
- RST — разъём для плат расширения. Используется для перезагрузки микроконтроллера.
- Колодка аналоговых выводов:
- А0-А7 — 8 выводов, поддерживающих работу с аналоговыми датчиками. Выводы A0-A5 можно использовать и как цифровые (14-19);
- Выводы А4и А5также являются выводами SDAи SCL. Они необходимы для подключения
оборудования по шине I2C (подробнее о ней мы поговорим в следующих уроках). - Светодиод питания. Индикация наличия питания на плате.
- Колодки цифровых выводов:
- Цифровые выводы 0-13 — 14 выводов, используемых для подключения / управления различных устройств. Значения сигнала ближе к 5 В представляются как логическая 1, значения ближе к 0 В — как логический 0.
- Выводы с поддержкой ШИМ (широтно-импульсная модуляция) — выводы 3, 5, 6, 9, 10, 11 — позволяют выдавать значения в виде ШИМ-сигнала (этот сигнал используется для управления яркостью и скоростью вращения). Подробнее о ШИМ-сигнале мы также поговорим немного позже.
- Светодиод, подключенный к 13 выводу. При наличии логической 1 на 13 выводе светодиод горит, при логическом 0 — гаснет.
- Светодиоды RX и TX — индикация приёма / передачи данных по USB.
- Кнопка RESET используется для принудительной перезагрузки микроконтроллера.
Отлично, теперь Вы знаете, как устроен контроллер. Следующий шаг — научиться загружать в него программы для того, чтобы он выполнял действия, на которые Вы его запрограммируете.
Первый запуск программы Arduino IDE
Arduino IDE — программная среда, благодаря которой Вы будете общаться с микроконтроллером — писать и загружать программы. Скачать последнюю версию программы Вы всегда можете на официальном сайте Arduino (подробную инструкцию по установке Вы найдёте у нас в Wiki). Обратите внимание, что в разных версиях программы интерфейс может несколько отличаться. В наборе используется Arduino IDE версии 1.8.13.
Итак, Вы запустили программу, и теперь на экране появилось следующее окно:
- Пункты меню. Через пункты меню Вы можете получить доступ ко всем функциям Arduino IDE.
- Проверить скетч (компилировать).Проверка кода программы на ошибки.
- Загрузить скетч в Arduino. Компиляция кода и его загрузка в плату.
- Вкладка с названием текущего скетча. Имя Вашего скетча.
- Создать новый скетч.Новое окно с чистой рабочей областью.
- Открыть скетч. Список программ из папки со скетчами.
- Сохранить скетч. Сохранение скетча в указанную Вами папку.
- Номера строк. Количество и номера строк, которые занимает Ваш код (если у Вас не отображаются номера строк,не волнуйтесь, — чуть позже мы их включим).
- Монитор последовательного порта. Окно для обмена сообщениями с платой через COM-порт.
- Управление вкладками. Переключение между вкладками с разными скетчами.
- Область вкладок. Область вкладок для быстрого переключения между скетчами.
- Рабочая область скетча. Текстовый редактор для написания кода программы.
- Область уведомлений. Область, информирующая пользователя обо всех событиях при записи или проверке кода. В том числе, здесь будут появляться и сообщения об ошибках.
- Название платы.Модель выбранной платы.
- Номер порта. COM-порт, к которому подключена плата.
Подготовка к работе
Подключите Arduino Nano к USB порту компьютера.
Прежде чем Вы начнёте писать свой первый скетч, необходимо настроить программу для работы с платой. Для этого следуйте инструкциям, указанным ниже.
«Инструменты». Войдите в меню и наведите курсор на строку «Плата»
«Плата». При наведении курсора на подменю справа отобразится список поддерживаемых плат.
Необходимо выбрать строку с надписью «Arduino Nano».
«Инструменты». Войдите в меню и наведите курсор на строку «Порт».
«Порт». При наведении курсора на подменю справа отобразится список портов. Выберите тот, который появится после подключения платы к ПК.
Также рекомендуем включить нумерацию строк — так будет удобнее ориентироваться в скетче. Для этого зайдите в «Файл» -> «Настройки» и установите галочку «Показать номера строк».
Источник: robotraffik.ru