Что такое плата ардуино
Перейти к содержимому

Что такое плата ардуино

  • автор:

Arduino.ru

Электронный конструктор Ардуино

Arduino – это инструмент для проектирования электронных устройств (электронный конструктор) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Это платформа, предназначенная для «physical computing» с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.

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

Язык программирования Arduino является реализацией Wiring, схожей платформы для «physical computing», основанной на мультимедийной среде программирования Processing.

Разработка электронных устройств Arduino

Почему Arduino?

Существует множество микроконтроллеров и платформ для осуществления «physical computing». Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку. Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

Низкая стоимость – платы Arduino относительно дешевы по сравнению с другими платформами. Самая недорогая версия модуля Arduino может быть собрана в ручную, а некоторые даже готовые модули стоят меньше 50 долларов.

Кросс-платформенность – программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение с возможностью расширения и открытым исходным текстом – ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVR C на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами – микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino. Схемы модулей выпускаются с лицензией Creative Commons, а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания работы.

Оригинальные контроллеры Arduino

Контроллер Ардуино — что-то наподобие главной детали конструктора, который позволяет создать собственное устройство или робота из совместимых модулей и программных библиотек. Платформа Arduino завоевала популярность, потому что подходит для тех, кто не обладает знаниями в электронике.

Arduino Uno

Сердце мира Arduino: компьютер размером с ладонь на базе процессора с частотой 16 МГц и памятью 32 КБ

Arduino Mega 2560 R3

Arduino Mega 2560 R3 Расширенная версия Arduino с гораздо большим количеством контактов, памяти и serial-портов

Arduino Nano RP2040 Connect

Arduino Nano RP2040 Connect Микроконтроллер на чипе RP2040 с Wi-Fi, Bluetooth, микрофоном и инерциальным датчиком на борту

Arduino MKR Zero

Arduino MKR Zero Ремейк Arduino M0 в форм-факторе MKR

Arduino MKR GSM 1400

Arduino MKR GSM 1400 Микроконтроллер ARM Cortex M0+ c модулем связи 3G/GSM

Arduino MKR Vidor 4000

Arduino MKR Vidor 4000 Микроконтроллер ARM Cortex M0+ в связке с ПЛИС (FPGA) Intel Cyclone 10CL016 на одной плате

Arduino Nano Every

Arduino Nano Every Компактная платформа разработки на 8-битном микроконтроллере ATmega4809 семейства megaAVR

Arduino Nano 33 IoT

Arduino Nano 33 IoT Миниатюрная платформа для создания устройств интернета вещей с Wi-Fi и Bluetooth на борту

Arduino Nano 33 BLE

Arduino Nano 33 BLE Миниатюрный контроллер для носимых гаджетов на ARM Cortex-M4 с инерциальным датчиком и Bluetooth BLE

Arduino Nano 33 BLE Sense

Arduino Nano 33 BLE Sense Контроллер на ARM Cortex-M4 с Bluetooth BLE, микрофоном и датчиками температуры, влажности, давления и распознавания жестов

Arduino Uno Wi-Fi Rev2

Arduino Uno Wi-Fi Rev2 Arduino Uno с модулем Wi-Fi, Bluetooth и инерциальным датчиком на борту

Arduino Due

Arduino Due Мощная Arduino с большим числом портов, 32-битным процессором на 84 МГц

Arduino Leonardo

Arduino Leonardo Аналог Arduino Uno с изменённым интерфейсом USB-UART

Arduino MKR Wi-Fi 1010

Arduino MKR Wi-Fi 1010 Микроконтроллер ARM Cortex M0+ и беспроводной модуль U-Blox ESP32 на одной плате

Arduino Micro

Arduino Micro Эквивалент Arduino Leonardo в компактном корпусе

  • Uno / Leonardo и др. — стандартные платы Rev3 размером с ладонь. Самый популярный выбор, т. к. они полностью совместимы с Arduino-шилдами, подключаемыми по принципу «бутерброда».
  • Mini / Micro / Nano и др. — платы уменьшенного размера с полноценной начинкой, аналогичной «большим» версиям. Подключать к ним внешние модули несколько сложнее (понадобится пайка), но они пригодятся, если вам нужно собрать очень компактное устройство.
  • MKR — ещё один вариант, который пришёл на смену Rev3, но остаётся менее распространённым. Он компактнее, совместим с Breadboard’ами и поддерживает специальные MKR-шилды.

В качестве аппаратной основы платформ выступают или 8-битные микроконтроллеры ATMega328p, ATMega32U4, ATmega2560 семейства AVR, или более мощные 32-битные микроконтроллеры типа ARM Cortex-M. Читайте подробные описания различных версий и сравнивайте характеристики, чтобы подобрать подходящую модель для своего проекта!

Обратите внимание, что помимо оригинальных плат Arduino из Италии и США существуют совершенно легальные аналоги: xDuino и семейство контроллеров Iskra, производимых в России. Они являются более доступной альтернативой при сохранении качества и функциональности. В то же время на рынке полно поддельных ардуинок из Китая, притворяющихся брендовыми платами. Читайте, как отличить поддельные Ардуино, чтобы не нарваться на них.

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

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

Полезные ссылки

  • Наборы на базе Arduino
  • Что такое Arduino
  • Начало работы с Arduino
  • Сравнение с Raspberry Pi
  • Как отличить подделку от оригинала

Плата Arduino Uno – описание, схема, распиновка

Arduino Uno – плата от компании Arduino, построенная на микроконтроллере ATmega 328.

Плата имеет на борту 6 аналоговых входов, 14 цифровых выводов общего назначения (могут являться как входами, так и выходами), кварцевый генератор на 16 МГц, два разъема: силовой и USB, разъем ISCP для внутрисхемного программирования и кнопку горячей перезагрузки устройства. Для стабильной работы плату необходимо подключить к питанию либо через встроенный USB Разъем, либо подключив разъем питания к источнику от 7 до 12В. Через переходник питания плата также может работать и от батареи формата Крона.

Основное отличие платы от предыдущих – для взаимодействия по USB Arduino Uno использует отдельный микроконтроллер ATmega8U2. Прошлые версии Arduino использовали для этого микросхему программатора FTDI.

Несложно догадаться, что благодаря своему итальянскому происхождению, слова “Arduino” и “Uno” взяты именно из этого языка. Компания назвалась “Arduino” в честь короля Италии 11 века Ардуина, а Уно переводится с итальянского как “первый”.

Arduino Uno R3 (ATmega 328P)

Arduino Uno R3 (ATmega 328P)

Arduino Uno R3 (ATmega 328P)

Arduino Uno R3 (ATmega 328P)

Размеры и габариты платы

Печатная плата Arduino Uno является Open-Hardware, поэтому все ее характеристики доступны в открытом доступе.

Длина и ширина платы составляют 69 мм x 53 мм.

Силовой и USB разъемы выступают за границы печатной платы на 2 мм.

Расстояние между выводами соответствует стандарту 2.54 мм, однако расстояние между 7 и 8 контактами составляет 4 мм.

Разъемы питания

Плата Arduino Uno имеет на борту 3 способа подключения питания: через USB, через внешний разъем питания и через разъем Vin, выведенный на одну из гребенок сбоку. Платформа имеет на борту встроенный стабилизатор, позволяющий не только автоматически выбирать источник питания, но и выравнивать ток до стабильных 5 вольт, необходимых контроллеру для работы.

Внешнее питание можно подавать как напрямую от USB порта компьютера, так и от любого AC/DC блока питания через разъем питания или USB.

На плате предусмотрено несколько выводов, позволяющих запитывать от нее подключенные датчики, сенсоры и актуаторы. Все эти выводы помечены:

  • Vin – вход питания, используется для получения питания от внешнего источника. Через данных вывод происходит только подача питания на плату, получить оттуда питание для внешних устройств невозможно. На вход Vin рекомендуется подавать напряжение в диапазоне от 7В до 20В, во избежании перегрева и сгорания встроенного стабилизатора.
  • 5V – источник пятивольтового напряжения для питания внешних устройств. При получении питания платой из любых других источников (USB, разъем питания или Vin) на этом контакте вы всегда сможете получить стабильное напряжение 5 вольт. Его можно вывести на макетную плату или подать напрямую на необходимое устройство.
  • 3V3 – источник 3.3 вольтового напряжения для питания внешних устройств. Работает по такому-же принципу, что и контакт 5V. С данной ножки также можно вывести напряжение на макетную плату, либо подать на необходимый датчик/сенсор напрямую.
  • GND – контакт для подключения земли. Необходим для создания замкнутой цепи при подключении к контактам Vin, 5V или 3V3. Во всех случаях ножку GND необходимо выводить как минус, иначе цепь не будет замкнута и питание (что внешнее, что внутреннее) не подасться.

Характеристики памяти

Платформа Arduino Uno имеет на борту микроконтроллер ATmega328, который обладает Flash, SRAM и EEPROM памятью.

  • FLASH – 32kB, из которых 0.5kB используется для хранения загрузчика
  • SRAM (ОЗУ) – 2kB
  • EEPROM – 1kB (доступна с помощью библиотеки EEPROM)

Arduino Uno распиновка

Arduino Uno распиновка

Принципиальная схема Arduino Uno R3

Принципиальная схема Arduino Uno R3

Контакты ввода-вывода и интерфейсы

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

Функция pinMode служит для задания режима работы контакта, будет-ли он работать на выход или на вход. В данной функции задается номер контакта, которым мы в дальнейшем собираемся управлять.

digitalRead()

Функция считывает текущее значение с заданного контакта – его значение может быть HIGH или LOW.

digitalWrite()

Функция передает определенное значение на заданный контакт – оно может быть HIGH или LOW.

Все выводы обладают пятивольтовой логикой, то есть выдают логическую единицу как напряжение 5В.

Каждый вывод платы имеет нагрузочный резистор номиналом 20-50 кОм и может пропускать до 40 мА, но по умолчанию все они отключены.

Также, на контактных площадках Arduino Uno выведены специальные интерфейсы подключения различных цифровых устройств:

Аналоговые входы: контакты A0, A1, A2, A3, A4, A5

Arduino Uno имеет на своей платформе 6 аналоговых входов с разрешением 10 Бит на каждый вход. Данное разрешение говорит нам о том, что сигнал, приходящий на него, можно оцифровать в диапазоне от 0 до 1024 условных значений.

Считывать значения с данных контактов можно функцией analogRead(), а передавать значения – функцией analogWrite().

Так как Arduino Uno обладает пятивольтовой логикой, то и значение будет находиться в диапазоне от 0 до 5 вольт, однако при помощи функции analogReference() можно изменять верхний предел.

Последовательный UART интерфейс: контакты 0 (RX) и 1 (TX)

Данные выводы используются для обмена данными по протоколу UART. Контакт RX используется для получения данных, а контакт TX – для их отправки. Эти выводы подключены к соответствующим контактам последовательной шины схемы ATmega8U2 USB-to-TTL, выступающей в данном контексте в роли программатора.

Внешнее прерывание: контакты 2 и 3

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

Вызов прерывания может быть задан по-разному:

  • на младшем значении
  • на переднем или заднем фронте
  • при изменении значения

Более подробно прерывания описаны в отдельной статье нашей Вики.

ШИМ: контакты 3, 5, 6, 9, 10, и 11

Любой из контактов 3, 5, 6, 9, 10, и 11, может генерировать сигнал Широтно-импульсной модуляции (ШИМ, PWM) с разрешением 8 Бит. Для этого в коде программы используется функция analogWrite().

SPI интерфейс: контакты 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

С помощью данных контактов происходит подключение периферии, работающей через интерфейс SPI. Для работы с данным интерфейсом в среде Arduino IDE предусмотрена отдельная библиотека с одноименным названием.

I2C интерфейс: контакты 4 (SDA) и 5 (SCL)

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

Встроенный светодиод: контакт 13

Для проверки вашего кода по ходу его написания, самый удобный способ индикации – встроенный светодиод. Подав значение HIGH на 13 контакт, он загорается на плате красным цветом, тем самым показывая, что условие вашей программы выполнилось (или наоборот, что-то пошло не так). 13 контакт удобно использовать в коде программы для проверки ошибок и отладки.

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

Дополнительные контакты: AREF и RESET

Помимо всех вышеперечисленных, на платформе Uno имеется еще 2 дополнительных контакта.

AREF

Данный контакт отвечает за определение опорного напряжения аналоговых входов платформы. Используется только с функцией analogReference().

RESET

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

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

Связь с внешним миром

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

На контактах 0 (RX) и 1 (TX) контроллер ATmega328 поддерживает UART – последовательный интерфейс передачи данных. ATmega8U2, выполняющий на плате роль программатора, транслирует этот интерфейс через USB, позволяя платформе общаться с компьютером через стандартный COM-порт. Прошивка, установленная в контроллер ATmega8U2, имеет на борту стандартные драйверы USB-COM, поэтому для подключения не потребуется никаких дополнительных драйверов.

Внимание! На платах китайского производства, вместо контроллера ATmega8U2 используется другой программатор – CH340G, который не распознается Windows в автоматическом режиме. Для него необходимо установить дополнительный драйвер, о чем подробно написано в нашем блоге – Установка драйверов микросхемы CH340G для Arduino.

При помощи мониторинга последовательной шины, называемого Serial Monitor, среда Arduino IDE посылает и получает данные от Arduino. При обмене данными на плате видно мигание светодиодов RX и TX. При использовании UART-интерфейса через контакты 0 и 1, светодиоды не мигают.

Плата может взаимодействовать по UART-интерфейсу не только через аппаратным, но и через программным способом. Для этого в среде Arduino IDE предусмотрена библиотека SoftwareSerial.

Также, на плате предусмотрены выводы основных интерфейсов взаимодействия с периферией: SPI и I2C (TWI).

Среда программирования Arduino IDE

Платформа Arduino Uno, как и все другие Arduino-совместимые платформы, программируется в среде Arduino IDE. Для работы с ней в настройках программы необходимо выбрать нужную платформу. Это можно сделать в верхнем меню -> Tools -> Boards -> Arduino UNO.

Выбор микроконтроллера зависит от того, какой стоит именно на вашей плате. Обычно это ATmega328.

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

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

Программная перезагрузка Arduino

Обычно, в микроконтроллерах перед загрузкой кода предусмотрен вход платы в специальный режим загрузки, однако Arduino Uno избавлена от данного действия для упрощения загрузки в нее программ. Стандартно, перед загрузкой каждый микроконтроллер получает сигнал DTR (digital reset), но в данной плате вывод DTR подключен к микроконтроллеру ATmega8U2 через 100 нФ конденсатор и программатор сам управляет процессом загрузки новой прошивки в контроллер. Таким образом, загрузка прошивки происходит моментально после нажания кнопки Upload в среде Arduino IDE.

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

Arduino Uno поддерживает отключение автоматической перезагрузки. Для этого необходимо разорвать линию RESET-EN. Еще один способ отключения автоматической перезагрузки – подключение между линиями RESET-EN и линией питания 5V резистора номиналом 110 Ом.

Защита USB разъема от перенапряжения

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

Плата Arduino Uno R3

Плата Arduino Uno R3

Arduino Uno — плата на базе микроконтроллера ATmega328P с частотой 16 МГц. На плате есть все необходимое для удобной и быстрой работы с контроллером. Подробнее о микроконтроллере, плате и работе с ней расскажу далее в этой статье.

Купить 70.05 ₽ Arduino Uno R3

Arduino Uno — это базовая и самая популярная версия платы микроконтроллеров. С ней очень удобно работать благодаря тому, что пины распаяны однорядными коннекторами типа «мама». Обычно эту плату используют для прототипирования проектов, а собирают готовое устройство на базе более мелких плат ардуино, таких как Arduino Nano. Это легко сделать так как прошивки совместимы и в большинстве случаев номера пинов не отличаются. Для Arduino Uno существует множество плат расширения (шилдов), таких как Ethernet shield, motor shield, servo shield и другие.

Эта ардуинка бывает в двух разных вариантах: DIP и SMD. Отличаются они тем, что сам микроконтроллер может быть DIP исполнения (прямоугольный и ножками) и вставлен в колодку, или просто распаян на плате если это SMD версия (квадратный). Отличий в производительности, назначении пинов или их количестве в этих версиях нет.

На плате Arduino Uno R3 установлены: контроллер ATmega328P с тактовой частотой 16 МГц, порт USB, разъем питания, кварцевый резонатор, стабилизаторы напряжения на 5 вольт и на 3.3 вольта, светодиоды и кнопка перезагрузки.

Расположение основных элементов на плате Arduino UNO R3

Распиновка (pinout) Arduino Uno R3

Распиновка Arduino Uno

Принципиальная схема Ардуино Уно

Монтажная схема

Монтажная схема Arduino Uno

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *