Содержание
- 1 Плата Arduino Micro
- 2 Пишем первую программу
- 3 Какие бывают платы
- 4 Распиновка Arduino NANO v3
- 5 Чем может управлять Arduino
- 6 Общий вид платы
- 7 Инструкция по настройке
- 8 Использование ацетилена
- 9 Описание пинов Ардуино
- 10 Отличие от других плат
- 11 Нужно ли уметь паять?
- 12 Особенности программирования на платформе Arduino
- 13 Аналоговые, цифровые и шим пины Ардуино
- 14 Варианты питания Ардуино Уно
- 15 Из чего состоит Arduino?
- 16 Программирование для платы Uno
- 17 Плата Arduino Mini
- 18 Обмен данными с компьютером
- 19 Краткие выводы
- 20 Цифровые и аналоговые выводы
Плата Arduino Micro
Arduino Micro представляет собой устройство, основа которого построена на микроконтроллере ATmega 32u4, имеющем встроенный USB-контроллер. Это решение упрощает подключение платы к компьютеру, так как в системе устройство будет определяться как обычная клавиатура, мышь либо COM-порт. Состав устройства следующий:
- количество входов/выходов – 20 (имеется возможность 7 из них использовать как ШИМ-выходы, а 12 – в роли входов аналогового типа); резонатор кварцевый, настроенный на 16 МГц;
- micro-USB-разъём;
- ICSP-разъём, предназначенный для проведения внутреннего программирования;
- кнопка для сброса.
Все цифровые выводы изделия могут работать в качестве как входов, так и выходов благодаря наличию функций digital Read, pin Mode, digital Write. Напряжение на выводах составляет 5 вольт. Максимальная величина потребляемого или отдаваемого тока с одного вывода составляет 40 мА. Выводы сопрягаются с внутренними резисторами, которые по умолчанию находятся в отключенном состоянии. Они имеют номиналы в 20 кОм – 50 кОм. Отдельные выводы arduino micro, кроме основных, способны выполнять и ряд дополнительных функций:
- В последовательном интерфейсе выводы №0 (RX), №1 (TX) применяются для приёма (RX), а также передачи (TX) необходимых данных через встроенный аппаратный приёмопередатчик. Функция актуальна для arduino micro класса Serial. В других случаях связь осуществляется через соединение USB (CDC).
- Интерфейс TWI включает выводы микроконтроллера №2 (SDA) и №3 (SCL). Позволяют использовать данные библиотеки Wire.
- Выводы под номерами 0, 1, 2, 3 могут быть использованы в роли источников возникающих прерываний. К таковым относятся низкий уровень сигнала; прерывания по фронту, по спаду, при изменении уровня сигнала.
- Выводы под номерами 3, 5, 6, 9, 10, 11,13 при использовании функции analog Write способны выводить аналоговый ШИМ-сигнал в 8 бит.
- К SPI-интерфейсу относятся выводы на разъёме ICSP. Они не соединяются с цифровыми выводами на плате.
- Дополнительный вывод RX LED/SS, который соединён со светодиодом. Последний индицирует процесс по передаче данных с использованием USB. Этот вывод может быть использован при работе с интерфейсом SPI для вывода SS.
- Вывод №13 – светодиод, который включается при отправке данных HIGH и выключается при значениях LOW.
- Выводы A0 – A5 (отмечены на плате) и A6 – A11 (соответствуют цифровым выводам за номерами 4, 6, 8, 9, 10,12) являются аналоговыми.
- Вывод AREF позволяет изменять верхнее значение аналогового напряжения на вышеуказанных выводах. При этом используется функция analog Reference.
- С помощью вывода Reset формируется низкий уровень (LOW) и происходит перезагрузка микроконтроллера (кнопка сброса).
Опубликовал: Константин Александров / 14.08.2017
Плата Arduino Uno – центр большой империи Arduino, самое популярное и самое доступное устройство. В ее основе лежит чип ATmega – в последней ревизии Ардуино Уно R3 – это ATmega328 (хотя на рынке можно еще встретить варианты платы UNO с ATmega168). Большинство ардуинщиков начинают именно с платы UNO. В этой статье мы рассмотрим основные особенности, характеристики и устройство платы Arduino Uno ревизии R3, требования к питанию, возможности подключения внешних устройств, отличия от других плат (Mega, Nano).
Пишем первую программу
Вместо всем привычных Hello World’ов в Arduino принято запускать скетч Blink, который можно найти в Файл→Примеры→01.Basics→Blink. Там же можно найти множество других учебных скетчей на разные темы.
Почти на всех платах размещён светодиод, номер пина которого содержится в переменной . Его можно использовать в отладочных целях. В следующем скетче будет рассмотрен пример управления таким светодиодом.
Рассмотрим скетч Blink:
Прошивка
После написания необходимо «залить» скетч на микроконтроллер. Как уже говорилось, платформа Arduino берёт весь процесс прошивки микроконтроллера на себя — вам лишь необходимо подключить плату к компьютеру.
Перед прошивкой микроконтроллера нужно выбрать вашу плату из списка в IDE. Делается это во вкладке Инструменты→Плата. Большинство существующих плат уже там есть, но при необходимости можно добавлять другие через Менеджер Плат.
После этого нужно подключить плату Arduino к любому USB-порту вашего компьютера и выбрать соответствующий порт во вкладке Инструменты→Порт.
Теперь можно приступать к прошивке микроконтроллера. Для этого достаточно нажать кнопку Загрузка, либо зайти на вкладку Скетч→Загрузка. После нажатия начнётся компиляция кода, и в случае отсутствия ошибок компиляции начнётся прошивка микроконтроллера. Если все этапы выполнены правильно, на плате замигает светодиод с периодом и интервалом в 1 сек.
7
Какие бывают платы
По производителю
Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.
На примере самой популярной платы Arduino UNO:
-
Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.
-
Плата от стороннего производителя. Качество хуже, однако цена начинается от 150 рублей. Качество платы может отразиться на её работоспособности в дальнейшем. Хоть это и редкость, но плата и вовсе может не работать «из коробки» — всё зависит от добросовестности изготовителя и продавца. Для работы с подобными платами требуется драйвер CH340, который находится в свободном доступе. Во всём остальном процесс разработки идентичен процессу разработки на оригинальных платах.
По назначению
У платы 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-соединения.
4
Распиновка Arduino NANO v3
Главное отличие этой миниатюрной платы, заключается в отсутствии гнезда для внешнего источника питания, вместо этого используются VIN. Когда речь идет о создании миниатюрного устройства, то размер Arduino Nano v3 ATmega328 / ATmega168 играет решающую роль при выборе платформы. При этом, Ардуино УНО — это более удобная платформа для старта и начала изучения микроконтроллеров.
Arduino Nano распиновка платы на русском, ICSP
Платы могут выпускаться в двух вариантах — с припаянными ножками и без (ножки обычно идут в комплекте). Платы без ножек будет намного удобнее использовать в проектах на Ардуино, припаивая к портам платы провода напрямую. Платы с ножками можно устанавливать на макетных платах, используя для соединения с датчиками и модулями коннекторы (провода «папа-папа» и «папа-мама»).
Чем может управлять Arduino
В итоге такое количество «рук» у Arduino позволяет подключать к нему огромное количество различных периферийных устройств. Среди них, например:
- кнопки,
- светодиоды,
- микрофоны и динамики,
- электродвигатели и сервоприводы,
- ЖК дисплеи,
- считыватели радиометок (RFID и NFC),
- ультразвуковые и лазерные дальномеры,
- bluetooth, WiFi и Ethernet модули,
- считыватели SD карт,
- GPS и GSM модули…
А также десятки различных датчиков:
- освещённости,
- магнитного поля,
- гироскопы и акселерометры,
- датчики дыма и состава воздуха,
- температуры и влажности и многое, многое другое.
Всё это превращает Arduino в универсальное ядро системы, которое может быть сконфигурировано совершенно разнообразными способами. Хотите сделать радиоуправляемую кормушку для питомца? Пожалуйста! Хотите чтобы при начале дождя у вас на лоджии закрывалось окно? Пожалуйста! Хотите управлять яркостью освещения в комнате со смартфона? Запросто!
На фотографии показана лишь крохотная часть периферийных устройств, которые можно подключить к Arduino. На самом деле их гораздо, гораздо больше.
Общий вид платы
На фото можно увидеть как стандартные подписи, нанесённые при изготовлении самой платы, так и добавленные с помощью графического редактора. Дело в том, что для работы в схемах используются все составляющие, но так как не все они были подписаны, пришлось исправить эту несправедливость. Теперь переходим к объяснению схематического рисунка, что за что отвечает на нём. Стоит хорошо рассмотреть Arduino UNO R3, схема этой платы представлена в многих книгах-пособиях, но для полноты статьи публикуется и здесь.
Ниже вся изображенная информация будет представлена в виде схематического рисунка, который весьма сильно отличается от визуального образа платы. Но такие отличия нисколько не влияют на качество работы с печатной платой, необходимо только понять принцип её работы, и вы увидите, что здесь ничего сложного нет.
Инструкция по настройке
Прежде чем работать с самой платой, её необходимо подготовить. Условно можно выделить такие этапы подготовки: покупка кабеля для связи между МК и компьютером, подготовка необходимого софта для работы, установка драйверов и запуск ПО с последующей его настройкой. Общая последовательность действий будет выглядеть таким образом:
- Кабель, который необходим для работы, имеет типы разъемов А-В. Если у вас есть принтер, то вовсе не обязательно идти в магазин, чтобы купить кабель. Последний можно позаимствовать с принтера. В таком устройстве он используется для соединения с компьютером.
- С сайта разработчика скачать последние версии ПО, в том числе и среду разработки. Последние версии рекомендуются потому, что в них исправлены проблемы и баги предыдущих.
- Установить соединение между Arduino UNO R3 и компьютером посредством кабеля. В настройках обозначено, чтобы плата автоматически использовала USB как источник питания для своего функционирования и своей работы.
- Посредством кабеля установить все необходимые драйвера. Операционная система должна попробовать сама установить обновление, но если она не смогла, то положение можно исправить с помощью ручной установки: «Пуск» – «Панель управления» – «Система и безопасность» – «Диспетчер устройств» – «Порты». Далее выбрать плату. Нажать на кнопку обновления вручную, указать компьютеру, где находятся драйвера, и дождаться установки. Выбирать для установки на компьютер необходимо файл arduino.inf, который и является необходимым для работы. Он будет располагаться в директории arduino-1.0 – «Двайвера» — «Драйвер для USB».
- Провести все настройки, необходимость которых определяется актуальностью версии программного обеспечения, и в качестве теста попробовать написать программу, чтобы удостоверится в правильности установки и потом составлять на Arduino UNO R3 проекты различной сложности. Если язык интерфейса не такой, каким хотелось бы видеть, то его можно изменить в настройках. Среди того, что необходимо сделать в первую очередь: указать модель подключенной платы и выбрать последовательный порт, к которому она подключена. Все технические наработки, которые будут сделаны во время работы, сохранятся в папку «Мои документы» того юзера, который использовал программу.
Использование ацетилена
Описание пинов Ардуино
Пины Ардуино используются для подключения внешних устройств и могут работать как в режиме входа (INPUT), так и в режиме выхода (OUTPUT). К каждому входу может быть подключен встроенный резистор 20-50 кОм с помощью выполнения команды pinMode () в режиме INPUT_PULLUP. Допустимый ток на каждом из выходов – 20 мА, не более 40 мА в пике. Для удобства работы некоторые пины совмещают в себе несколько функций:
- Пины 0 и 1 – контакты UART (RХ и TX соответственно) .
- Пины c 10 по 13 – контакты SPI (SS, MOSI, MISO и SCK соответственно)
- Пины A4 и A5 – контакты I2C (SDA и SCL соответственно).
Цифровые пины платы Uno
Пины с номерами от 0 до 13 являются цифровыми. Это означает, что вы можете считывать и подавать на них только два вида сигналов: HIGH и LOW. С помощью ШИМ также можно использовать цифровые порты для управления мощностью подключенных устройств.
Пин ардуино | Адресация в скетче | Специальное назначение | ШИМ |
Цифровой пин 0 | RX | ||
Цифровой пин 1 | 1 | TX | |
Цифровой пин 2 | 2 | Вход для прерываний | |
Цифровой пин 3 | 3 | Вход для прерываний | ШИМ |
Цифровой пин 4 | 4 | ||
Цифровой пин 5 | 5 | ШИМ | |
Цифровой пин 6 | 6 | ШИМ | |
Цифровой пин 7 | 7 | ||
Цифровой пин 8 | 8 | ||
Цифровой пин 9 | 9 | ШИМ | |
Цифровой пин 10 | 10 | SPI (SS) | ШИМ |
Цифровой пин 11 | 11 | SPI (MOSI) | ШИМ |
Цифровой пин 12 | 12 | SPI (MISO) | |
Цифровой пин 13 | 13 | SPI (SCK) |
К выходу также подсоединен встроенный светодиод (есть в большинстве плат Arduino)
Аналоговые пины Arduino Uno
Аналоговые пины Arduino Uno предназначены для подключения аналоговых устройств и являются входами для встроенного аналого-цифрового преобразователя (АЦП), который в ардуино уно десятиразрядный.
Пин | Адресация в скетче | Специальное назначение |
Аналоговый пин A0 | A0 или 14 | |
Аналоговый пин A1 | A1 или 15 | |
Аналоговый пин A2 | A2 или 16 | |
Аналоговый пин A3 | A3 или 17 | |
Аналоговый пин A4 | A4 или 18 | I2C (SCA) |
Аналоговый пин A5 | A5 или 19 | I2C (SCL) |
Дополнительные пины на плате
- AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
- RESET – подача низкого сигнала на этом входе приведет к перезагрузке устройства.
Отличие от других плат
Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы Nano и Mega. Первая пойдет для проектов, в которых важен размер. Вторая – для проектов, где у схема довольно сложна и требуется множество выходов.
Отличия Arduino Uno от Arduino Nano
Современные платы Arduino Uno и Arduino Nano версии R3 имеют, как правило, на борту общий микроконтроллер: ATmega328. Ключевым отличием является размер платы и тип контактных площадок. Габариты Arduino Uno: 6,8 см x 5,3 см. Габариты Arduino Nano: 4,2 см x 1,85 см. В Arduino UNO используются коннекторы типа «мама», в Nano – «гребень» из ножек, причем у некоторых моделей контактные площадки вообще не припаяны. Естественно, больший размер UNO по сравнению с Nano в некоторых случаях является преимуществом, а в некоторых – недостатком. С платой большого размера гораздо удобнее производить монтаж, но она неудобна в реальных проектах, т.к. сильно увеличивает габариты конечного устройства.
На платах Arduino Uno традиционно используется разъем TYPE-B (широко применяется также для подключения принтеров и МФУ). В некоторых случаях можно встретить вариант с разъемом Micro USB. В платах Arduino Nano стандартом является Mini или Micro USB.
Естественно, различия есть и в разъеме питания. В плате Uno есть встроенный разъем DC, в Nano ему просто не нашлось места.
Кроме аппаратных, существуют еще небольшие отличия в процессе загрузки скетча в плату. Перед загрузкой следует убедиться, что вы выбрали верную плату в меню «Инструменты-Плата».
Отличия от Arduino Mega
Плата Mega в полном соответствии со своим названием является на сегодняшний день самым большим по размеру и количеству пинов контроллеров Arduino. По сравнению с ней в Uno гораздо меньше пинов и памяти. Вот список основных отличий:
- Плата Mega использует иной микроконтроллер: ATMega 2560. Но тактовая частота его равна 16МГц, так же как и в Уно.
- В плате Mega большее количество цифровых пинов – 54 вместо 14 у платы Uno. И аналоговых – 16 / 6.
- У платы Mega больше контактов, поддерживающих аппаратные прерывания: 6 против 2. Больше Serial портов – 4 против 1.
- По объему памяти Uno тоже существенно уступает Megа. Flash -память 32/256, SRAM – 2/8, EEPROM – 4/1.
Исходя из всего этого можно сделать вывод, что для больших сложных проектов с программами большого размера и активным использованием различных коммуникационных портов лучше выбирать Mega. Но эти платы дороже Uno и занимают больше места, поэтому для небольших проектов, не использующих все дополнительные возможности Mega, вполне сойдет Uno – существенного прироста скорости при переходе на “старшего” брата вы не получите.
Нужно ли уметь паять?
Знания в области электромонтажа приветствуются, но совсем не обязательны. Простые устройства на базе Arduino часто выполняются в виде макета. Для этого используется беспаечная макетная плата (англ. breadboard), на которой происходит коммутация модулей с платой Arduino с помощью перемычек.
Макетная плата на 400 отверстий (имеются шины питания по бокам). Источник
Также существуют наборы, в которые входят сразу плата Arduino (оригинальная или от стороннего производителя), макетная плата, перемычки и различные радиоэлементы, датчики, модули. Например, такой:
Набор для изучения Arduino. Источник
3
Особенности программирования на платформе Arduino
Термины
Программный код для Arduino принято называть скетчами (англ. sketches). У скетчей есть два основных метода: и . Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.
Порты — неотъемлемая часть любого микроконтроллера. Через них происходит взаимодействие микроконтроллера с внешними устройствами. С программной стороны порты называются пинами. Любой пин может работать в режиме входа (для дальнейшего считывания напряжения с него) или в режиме выхода (для дальнейшей установки напряжения на нём).
Любой пин работает с двумя логическими состояниями: и , что эквивалентно логическому нулю и единице соответственно. У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ. PWM), что позволяет устанавливать аналоговое напряжение на выходе. Обычно функциональные возможности пина указываются на маркировке самой платы.
Основные функции
Для базовой работы с платой в библиотеке Arduino есть следующие функции:
- — указывает назначение конкретного пина PIN (значение — вход, — выход);
- — устанавливает логическое состояние на выходе ( — 0, — 1);
- — возвращает логическое состояние со входа PIN ( — 0, — 1);
- — устанавливает аналоговое напряжение на выходе ( в пределах от 0 до 255);
- — возвращает значение аналогового уровня сигнала со входа (пределы зависят от разрядности встроенного АЦП. Обычно разрядность составляет 10 бит, следовательно, возвращаемое значение лежит в пределах от 0 до 1023);
- — приостанавливает исполнение скетча на заданное количество миллисекунд;
- — возвращает количество миллисекунд после момента запуска микроконтроллера.
В остальном процесс программирования на Arduino такой же, как на стандартном C++.
6
Аналоговые, цифровые и шим пины Ардуино
Все пины можно разделить на несколько видов, различие будет только в количестве данных выводов на различных платах. Например, на Arduino Mega 2560 цифровых и аналоговых портов, значительно больше, чем на Uno или Nano из-за большего размера платы и производительности микроконтроллера. В остальном характеристики и способы программирования пинов не отличаются друг от друга.
- Power Pins — порты питания, режим их работы нельзя запрограммировать или изменить. Они выдают стабилизированное напряжение 5V или 3,3V, Vin выдает напряжение от источника питания, а GND — это заземление (общий минус);
- PWM Pins — порты с ШИМ модуляцией, которые можно запрограммировать, как цифровой выход/вход. Данные порты обозначены на плате знаком тильда (˜);
- Analog In — порты, принимающие аналоговый сигнал от датчиков, работают на вход. Данные порты тоже можно запрограммировать, как цифровой вход/выход. Данные пины не поддерживают ШИМ модуляцию.
Режим пинов назначается в процедуре void setup с помощью pinMode(), например:
void setup() { pinMode(10, OUTPUT); // объявляем пин 10 как выход pinMode(A2, OUTPUT); // объявляем пин A2 как выход pinMode(12, INPUT); // объявляем пин 12 как вход pinMode(A1, INPUT); // объявляем пин A1 как вход }
Пояснения к коду:
- к выходу 10 и A2 можно подключить светодиод, который будет включаться и выключаться при вызове команды в программе;
- пин 10 может использоваться для ШИМ сигнала, например, чтобы плавно включить светодиод, а пин A2 может выдавать только цифровой сигнал (0 или 1);
- к входу 12 и A1 можно подключить цифровой датчик и микроконтроллер будет проверять наличие сигнала на этих пинах (логический нуль или единицу);
- к входу A1 можно подключить аналоговый датчик тогда микроконтроллер будет получать не только сигнал но и узнавать характеристику сигнала.
Мы не случайно разделили пины с ШИМ модуляцией (PWM Pins) и аналоговые. PWM пины создают аналоговый сигнал, к ним подключают сервопривод, шаговый двигатель и другие устройства, где требуется подавать сигнал с разными характеристиками. Аналоговые пины (Analog In) используются для подключения аналоговых датчиков, с них входящий сигнал преобразуется в цифровой с помощью встроенного АЦП.
Ардуино Uno пины: шим, аналоговые, цифровые
Arduino UNO распиновка платы на русском
ШИМ (PWM) порты (Analog Out) |
3, 5, 6, 9, 10, 11 |
Аналоговые порты (Analog In) |
A0, A1, A2, A3, A4, A5 на некоторых платах: A6, A7 |
Цифровые порты (Digital In/Out) |
все порты со 2 по 13 пин можно использовать: A0 — A7 |
Из таблицы видно, какие пины на Arduino UNO поддерживают шим. Аналоговые пины (Analog In) используют, как цифровые если недостаточно портов общего назначения, например, вы хотите подключить к плате 15 светодиодов. Кроме того, на плате Arduino Uno и Nano порты A4 и A5 используются для I2C протокола (SDA и SCL пины) — они работают параллельно с пинами A4 и A5. Об этом мы расскажем чуть позже.
Ардуино Nano пины: шим, аналоговые, цифровые
Arduino Nano распиновка платы на русском
ШИМ (PWM) порты (Analog Out) |
3, 5, 6, 9, 10, 11 |
Аналоговые порты (Analog In) |
A0, A1, A2, A3, A4, A5 на некоторых платах: A6, A7 |
Цифровые порты (Digital In/Out) |
все порты со 2 по 13 пин можно использовать: A0 — A7 |
Если вы заметили, то пины на Arduino Nano и Uno имеют одинаковое количество и назначение. Платы отличаются лишь своими габаритами. Nano — более компактная и удобная плата, для экономии места на нее не ставят разъем питания, для этого используются пины Vin и GND на которое подается питание от источника.
Ардуино Mega пины: шим, аналоговые, цифровые
Схема распиновки платы Arduino Mega 2560 r3
ШИМ (PWM) порты (Analog Out) |
все порты со 2 по 13 пин дополнительно: 44, 45, 46 пин |
Аналоговые порты (Analog In) |
с A0 до A15 |
Цифровые порты (Digital In/Out) |
все порты со 2 по 13, со 22 по 52 пин можно использовать: A0 — A15 |
Пины коммуникации нежелательно использовать, как обычные цифровые порты. Особенно при таком количестве портов общего назначения, как на Mega 2560. Более подробную информацию о рассмотренных платах, а также о других микроконтроллерах семейства Arduino (Pro Mini, Leonardo, Due и пр.): характеристики, описание пинов, габариты и т.д. можно узнать в разделе Микроконтроллеры на нашем сайте.
Варианты питания Ардуино Уно
Рабочее напряжение платы Ардуино Уно – 5 В. На плате установлен стабилизатор напряжения, поэтому на вход можно подавать питание с разных источников. Кроме этого, плату можно запитывать с USB – устройств. Источник питания выбирается автоматически.
- Питание от внешнего адаптера, рекомендуемое напряжение от 7 до 12 В. Максимальное напряжение 20 В, но значение выше 12 В с высокой долей вероятности быстро выведет плату из строя. Напряжение менее 7 В может привести к нестабильной работе, т.к. на входном каскаде может запросто теряться 1-2 В. Для подключения питания может использоваться встроенный разъем DC 2.1 мм или напрямую вход VIN для подключения источника с помощью проводов.
- Питание от USB-порта компьютера.
- Подача 5 В напрямую на пин 5V. В этом случае обходится стороной входной стабилизатор и даже малейшее превышение напряжения может привести к поломке устройства.
Пины питания
- 5V – на этот пин ардуино подает 5 В, его можно использовать для питания внешних устройств.
- 3.3V – на этот пин от внутреннего стабилизатора подается напряжение 3.3 В
- GND – вывод земли.
- VIN – пин для подачи внешнего напряжения.
- IREF – пин для информирования внешних устройств о рабочем напряжении платы.
Из чего состоит Arduino?
На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства AVR.
Платы имеют на борту всё необходимое для комфортной работы, но их функциональности часто бывает недостаточно. Чтобы сделать свой проект более интерактивным, можно использовать различные модули и платы расширений, совместимые с платформой Arduino. Сюда входят датчики (температуры, освещения, влаги, газа/дыма, атмосферного давления), устройства ввода (клавиатуры, джойстики, сенсорные панели) и вывода (сегментные индикаторы, LCD/TFT дисплеи, светодиодные матрицы).
На программном уровне платформа Arduino представляет собой бесплатную среду разработки Arduino IDE. Микроконтроллеры надо программировать на языке C++, с некоторыми отличиями и облегчениями, созданными для быстрой адаптации начинающих. Компиляцию программного кода и прошивку микроконтроллера среда разработки берёт на себя.
Существует также s4a.cat — сервис, базирующийся на Scratch, позволяющий более наглядно вести разработку на Arduino. Он подойдёт для обучения детей, а также если вы разово хотите создать простое устройство без изучения языка программирования Arduino и различных документаций. Для остальных же случаев лучше придерживаться традиционного процесса разработки.
2
Программирование для платы Uno
Для написания программ (скетчей) для контроллер Ардуино вам нужно установить среду программирования. Самым простым вариантом будет установка бесплатной Arduino IDE, скачать ее можно с официального сайта.
После установки IDE вам нужно убедиться, что выбрана нужная плата. Для этого у Arduino IDE в меню “Инструменты” и подпункте “Плата” следует выбрать нашу плату (Arduino/Genuino Uno). После выбора платы автоматически изменятся параметры сборки проекта и итоговый скетч будет скомпилирован в формат, который поддерживает плата. Подключив контроллер к компьютеру через USB, вы сможете в одно касание заливать на него вашу программу,используя команду “Загрузить”.
Сам скетч чаще всего представляет собой бесконечный цикл, в котором регулярно опрашиваются пины с присоединенными датчиками и с помощью специальных команд формируется управляющее воздействие на внешние устройства (они включаются или выключаются). У программиста Ардуино есть возможность подключить готовые библиотеки, как встроенные в IDE, так и доступные на многочисленных сайтах и форумах.
Написанная и скомпилированная программа загружается через USB-соединение (UART- Serial). Со стороны контролера за этот процесс отвечает bootloader.
Более подробную информацию о том, как устроены программы для платы Ардуино можно найти в нашем разделе, посвященном программированию.
Плата Arduino Mini
Является одной из самых простых и удобных устройств Arduino.
Используется микроконтроллер ATmega 168 с рабочим напряжением на 5 вольт с частотой в 16 МГц. Максимальное напряжение питания в моделях составляет 9 вольт. Значение максимального тока на выводах составляет 40 mA.
Плата содержит:
- 14 цифровых выводов (из них 6 могут быть использованы в качестве ШИМ-выходов), могут применяться в качестве как входа, так и выхода;
- 8 аналоговых входов (4 из них оснащены выводами);
- 16 МГц – кварцевый генератор.
Пины устройства Arduino Mini имеют следующее предназначение:
- Два вывода, посредством которых осуществляется питание платы «плюс»: RAW, VCC.
- Вывод контакта «минус» – пин GND.
- Выводы под номерами 3, 5, 6, 9, 10, 11 используются для ШИМ при применении функции analog Write.
- К выводам №0, №1 можно подключать другие устройства.
- Аналоговые входы №0 – №3 с выводами.
- Аналоговые входы №4 – №7 не имеют выводов и требуют пайки при необходимости.
- Вывод AREF, который предназначен для изменения верхнего напряжения.
- Вывод Reset – перезагрузка микроконтроллера.
Расположение выводов в различных версиях arduino mini могут различаться.
Обмен данными с компьютером
У всех плат Arduino есть возможность обмена информацией с компьютером. Обмен происходит по USB-кабелю — никаких дополнительных «плюшек» не требуется. Нам нужен класс , который содержит все необходимые функции. Перед работой с классом необходимо инициализировать последовательный порт, указав при этом скорость передачи данных (по умолчанию она равна 9600). Для отправки текстовых данных в классе существуют небезызвестные методы и . Рассмотрим следующий скетч:
В Arduino IDE есть Монитор порта. Запустить его можно через Инструменты→Монитор порта. После его открытия убедитесь, что Монитор работает на той же скорости, которую вы указали при инициализации последовательного порта в скетче. Это можно сделать в нижней панели Монитора. Если всё правильно настроено, то ежесекундно в Мониторе должна появляться новая строка «». Обмен данными с компьютером можно использовать для отладки вашего устройства.
Информацию на стороне компьютера можно не только получать, но и отправлять. Для этого рассмотрим следующий скетч:
Прошиваем микроконтроллер и возвращаемся в Монитор порта. Вводим в верхнее поле 1 и нажимаем Отправить. После этого на плате должен загореться светодиод. Выключаем светодиод, отправив с Монитора . Если же отправить символ , в ответ мы должны получить строку «».
Таким способом можно пересылать информацию с компьютера на Arduino и обратно. Подобным образом можно реализовать связь между двумя Arduino.
8
Краткие выводы
Arduino Uno – отличный вариант платы для создания своих первых проектов и умных устройств. 14 цифровых и 6 аналоговых пинов позволяют подключать разнообразные датчики, светодиоды, двигатели и другие внешние устройства. USB-разъем поможет подключиться к компьютеру для перепрошивки скетча без дополнительных внешних устройств. Встроенный стабилизатор позволяет использовать различные элементы питания с широким диапазоном напряжения, от 6-7 до 12-14 В. В Arduino Uno достаточно удобно реализована работа с популярными протоколами: UART, SPI, I2C. Есть даже встроенный светодиод, которым можно помигать в своем первом скетче. Чего еще желать начинающему ардуинщику?
Цифровые и аналоговые выводы
Не все выводы у Arduino одинаковые. Есть выводы цифровые, а есть аналоговые. Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая «1» (TRUE, от 3 до 5 вольт), либо логический «0» (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах — диапазон от логической 1 до 0 разбит на множество мелких участков.
Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую «1», то светодиод загорится с максимальной яркостью; если подать «0» — светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики.