Плата Arduino Uno R3: схема, описание, подключение устройств

Плата Arduino Uno – центр большой империи Arduino, самое популярное и самое доступное устройство. В ее основе лежит чип ATmega – в последней ревизии Ардуино Уно R3 – это ATmega328 (хотя на рынке можно еще встретить варианты платы UNO с ATmega168). Большинство ардуинщиков начинают именно с платы UNO. В этой статье мы рассмотрим основные особенности, характеристики и устройство платы Arduino Uno ревизии R3, требования к питанию, возможности подключения внешних устройств, отличия от других плат (Mega, Nano).

Плата Arduino Uno

Контроллер Uno является самым подходящим вариантом для начала работы с платформой: она имеет удобный размер (не слишком большой, как у Mega и не такой маленький, как у Nano), достаточно доступна из-за массового выпуска всевозможных клонов, под нее написано огромное количество бесплатных уроков и скетчей.

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

МикроконтроллерATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое)7-12В
Напряжение питания (предельное)6-20В
Цифровые входы/выходы14 (из них 6 могут использоваться в качестве ШИМ-выходов)
Аналоговые входы6
Максимальный ток одного вывода40 мА
Максимальный выходной ток вывода 3.3V50 мА
Flash-память32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком
SRAM2 КБ (ATmega328)
EEPROM1 КБ (ATmega328)
Тактовая частота16 МГц

Изображения плат Ардуино Уно

Оригинальная плата выглядит следующим образом:


Оригинальный и официальный Arduino Uno

Многочисленные китайские варианты выглядят вот так:


Плата – клон Arduino Uno

Еще примеры плат:

Где купить Arduino Uno

Минимальные цены на платы UNO можно найти в китайских электронных магазинах. Если у вас есть несколько недель на ожидание, вы можете существенно сэкономить, купив дешево (в районе 200-300 рублей) с бесплатной доставкой. Причем можно найти как самые простые варианты, так и официальные или “почти оригинальные” платы на базе оригинального микроконтроллера. Еще одна группа товаров – необычные платы со встроенными WiFi (на базе ESP8266 или ESP32), дополнительными разъемами для более удобного подключения периферии. Вот некоторые варианты, которые можно купить у проверенных поставщиков на Алиэкспрессе:

Arduino UNO R3 (CH340G) MEGA328P. Типичный представитель плат Ардуино на Aliexpress с ценой ниже 250 рублейКачественная плата Arduino UNO R3 на CH340G. Комплект без кабеля с минимальной ценой около 220 рублейArduino оптом – 10 плат контроллера UNO R3 с MEGA328P ATMEGA16U2 на борту
Официальный Arduino UNO R3 MEGA328P на базе ATMEGA16U2 – максимальное качествоПлата MegaPower Uno на базе оригинальных ATmega328 R3, FTDI FT232RLОригинальный Arduino UNO R3 (плата на базе оригинальных микросхем MEGA и ATMEGA16U2) с USB кабелем в картонной коробке
Два в одном! Arduino UNO со встроенным Sensor Shield (Atmega328P Atmega16U2 плюс Sensor I/O Shield)Arduino Uno и WiFi под одной крышей: R3 ATmega328P+ESP8266 (32Mb memory)Отличный вариант от KeyeStudio – UNO R3 MEGA328P ATMEGA16U2 с совмещенным Sensor Shield

Если вы интересуетесь наборами Ардуино, то более подробный обзор доступных вариантов вы можете найти на нашем сайте.

Автоматический (программный) сброс

Для того, чтобы не приходилось каждый раз перед загрузкой программы нажимать кнопку сброс, на плате UNO реализована аппаратная функция сброса, инициируемая с подключенного компьютера. Один из сигналов управления потоком данных (DTR) микросхемы ATmega16U2 подключен к выводу сброса микроконтроллера ATmega328 через конденсатор емкостью 0,1 мкФ. Когда сигнал DTR переходит в низкое состояние, формируется импульс сброса микроконтроллера. Это решение позволяет загружать программу одним нажатием кнопки из интегрированной среды программирования Arduino (IDE).

Вопрос эксперту

Есть ли недостатки у функции автоматического сброса?

При подключении платы UNO к компьютеру с операционной системой Mac Os X или Linux, микроконтроллер будет сбрасываться при каждом соединении программы с платой. В течение половины секунды на плате UNO будет запущен загрузчик. Несмотря на то, что программа загрузчика игнорирует посторонние данные, она может принять несколько байтов из пакета сразу после установки соединения.

Если в программе на плате Ардуино предусмотрено получение каких-либо данных при первом запуске, необходимо отпралять данные с задержкой примерно на 1 секунду после соединения. На модуле UNO существует дорожка, которую можно перерезать для отключения функции автоматического сброса. Дорожка маркирована надписью ”RESET-EN”. Автоматический сброс также можно запретить, подключив резистор сопротивлением 110 Ом между линией питания 5 В и выводом RESET.

Схема и распиновка платы

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

Распиновка платы на базе ATMEGA 328

Принципиальная схема:

Описание элементов платы Arduino Uno R3

Распиновка микроконтроллера ATMega 328

Сфера применения

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

  • система «умный дом»;
  • всевозможные датчики;
  • робототехника;
  • автоматические вентиляторы;
  • светофоры;
  • охранные системы;
  • мини метеостанции;
  • мультитестеры;
  • квадрокоптеры.

Преимущества

  • Открытые схемы оборудования и спецификации. Arduino Uno выполнен на популярных микропроцессорах Amtel и ATMEGA. Квалифицированные специалисты могут спроектировать на основе имеющихся схем собственный вариант модуля для определенных задач.
  • Открытый код программы. Кодирование программы может расширяться на платформе С++.
  • Простая и удобная среда программирования. Оболочка программы является легкой в применении для начинающих программистов, однако имеет достаточную гибкость для работы профессионалов. Она наиболее удобна для среды обучения студентов, которым легко будет разобраться в работе этой платформы.
  • Программирование, подключение и питание выполняется одним USB-кабелем, либо кабелем, имеющим адаптер на микросхеме.
  • Возможность функционирования на различных видах систем. Программное обеспечение успешно функционирует на Линукс, Макинтош, Ява и других системах, так как имеет открытый код. Однако наиболее популярной системой для Ардуино стала система Windows.
  • Приемлемая цена. В больших городах Arduino Uno можно приобрести по цене менее 1000 рублей. Это цена за готовое законченное устройство, не требующее вспомогательного оборудования, дорогих программаторов, платных программ.


Преимущества и недостатки.

Недостатки

Слишком простая оболочка программы. Это очень неудобный редактор кода. Для программирования придется переходить на более удобный редактор, но кодовый редактор Arduino IDE все равно необходимо оставлять открытым. Малая частота микропроцессора. Нет возможности ее изменить. Малый объем памяти для сохранения программ.

Будет интересно➡ Что такое Ардуино: информация для начинающих

Описание пинов Ардуино

Пины Ардуино используются для подключения внешних устройств и могут работать как в режиме входа (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. С помощью ШИМ также можно использовать цифровые порты для управления мощностью подключенных устройств.

Пин ардуиноАдресация в скетчеСпециальное назначениеШИМ
Цифровой пин 00RX
Цифровой пин 11TX
Цифровой пин 22Вход для прерываний
Цифровой пин 33Вход для прерыванийШИМ
Цифровой пин 44
Цифровой пин 55ШИМ
Цифровой пин 66ШИМ
Цифровой пин 77
Цифровой пин 88
Цифровой пин 99ШИМ
Цифровой пин 1010SPI (SS)ШИМ
Цифровой пин 1111SPI (MOSI)ШИМ
Цифровой пин 1212SPI (MISO)
Цифровой пин 1313SPI (SCK)
К выходу также подсоединен встроенный светодиод (есть в большинстве плат Arduino)

Аналоговые пины Arduino Uno

Аналоговые пины Arduino Uno предназначены для подключения аналоговых устройств и являются входами для встроенного аналого-цифрового преобразователя (АЦП), который в ардуино уно десятиразрядный.

ПинАдресация в скетчеСпециальное назначение
Аналоговый пин A0A0 или 14
Аналоговый пин A1A1 или 15
Аналоговый пин A2A2 или 16
Аналоговый пин A3A3 или 17
Аналоговый пин A4A4 или 18I2C (SCA)
Аналоговый пин A5A5 или 19I2C (SCL)

Дополнительные пины на плате

  • AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
  • RESET – подача низкого сигнала на этом входе приведет к перезагрузке устройства.

Взаимодействие

Arduino Uno обладает несколькими способами общения с другими Arduino, микроконтроллерами и обычными компьютерами. Платформа позволяет установить последовательное (Serial UART TTL) соединение через контакты 0 (RX) и 1 (TX). Установленный на платформе чип ATmega16U2 транслирует это соединение через USB: на компьютере становится доступен виртуальный COM-порт. Программная часть Arduino включает утилиту, которая позволяет обмениваться текстовыми сообщениями по этому каналу.

Встроенные в плату светодиоды RX и TX светятся, когда идёт передача данных между чипом ATmega162U и USB компьютера.

Отдельная библиотека позволяет организовать последовательное соединение с использованием любых других контактов, не ограничиваясь штатными 0-м и 1-м.

С помощью отдельных плат расширения становится возможной организация других способов взаимодействия, таких как ethernet-сеть, радиоканал, Wi-Fi.

Подключение устройств

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

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

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

Видео с инструкциями:

Варианты питания Ардуино Уно

Рабочее напряжение платы Ардуино Уно – 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 – пин для информирования внешних устройств о рабочем напряжении платы.

Главный Глупый Вопрос

У новичков в электронике, которые не знают закон Ома, очень часто возникают вопросы вида: “а каким током можно питать Ардуино“, “какой ток можно подать на Ардуино“, “не сгорит ли моя Ардуина от от блока питания 12V 10A“, “сколько Ампер можно подавать на Arduino” и прочую чушь. Запомните: вы не можете подать Амперы, вы можете подать только Вольты, а устройство возьмёт столько Ампер, сколько ему нужно. В случае с Arduino – голая плата возьмёт 20-22 мА, хоть от пина 5V, хоть от Vin. Ток, который указан на блоке питания, это максимальный ток, который БП может отдать без повреждения/перегрева/просадки напряжения. Беспокоиться стоит не об Arduino, а об остальном железе, которое стоит в схеме и питается от блока питания, а также о самом блоке питания, который может не вывезти вашу нагрузку (мотор, светодиоды, обогреватель). Общий ток потребления компонентов не должен превышать возможностей источника питания, вот в чём дело. А будь блок питания хоть на 200 Ампер – компоненты возьмут ровно столько, сколько им нужно, и у вас останется “запас по току” для подключения других. Если устройство питается напряжением, то запомните про максимальный ток источника питания очень простую мысль: кашу маслом не испортишь.

Память Arduino Uno R3

Плата Uno по умолчанию поддерживает три типа памяти:

  • Flash – память объемом 32 кБ. Это основное хранилище для команд. Когда вы прошиваете контроллер своим скетчем, он записывается именно сюда. 2кБ из данного пула памяти отводится на bootloader- программу, которая занимается инициализацией системы, загрузки через USB и запуска скетча.
  • Оперативная SRAM память объемом 2 кБ. Здесь по-умолчанию хранятся переменные и объекты, создаваемые в ходе работы программы. Память эта энерго-зависимая, при выключении питания все данные, разумеется, сотрутся.
  • Энергонезависимая память (EEPROM) объемом 1кБ. Здесь можно хранить данные, которые не сотрутся при выключении контроллера. Но процедура записи и считывания EEPROM требует использования дополнительной библиотеки, которая доступна в Arduino IDE по-умолчанию. Также нежно помнить об ограничении циклов перезаписи, присущих технологии EEPROM.

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

Из чего состоит

На аппаратном уровне это серия смонтированных плат, мозгом которых являются микроконтроллеры семейства AVR. Платы имеют на борту всё необходимое для комфортной работы, но их функциональности часто бывает недостаточно. Чтобы сделать свой проект более интерактивным, можно использовать различные модули и платы расширений, совместимые с платформой Arduino. Сюда входят датчики (температуры, освещения, влаги, газа/дыма, атмосферного давления), устройства ввода (клавиатуры, джойстики, сенсорные панели) и вывода (сегментные индикаторы, LCD/TFT дисплеи, светодиодные матрицы).

Как обозначаются конденсаторы на схеме.

Читать далее

Как отличается параллельное и последовательное соединение резисторов.

Читать далее

Масляные трансформаторы – что это такое, устройство и принцип работы.

Читать далее

На программном уровне платформа Arduino представляет собой бесплатную среду разработки Arduino IDE. Микроконтроллеры надо программировать на языке C++, с некоторыми отличиями и облегчениями, созданными для быстрой адаптации начинающих. Компиляцию программного кода и прошивку микроконтроллера среда разработки берёт на себя. Существует также — сервис, базирующийся на Scratch, позволяющий более наглядно вести разработку на Arduino. Он подойдёт для обучения детей, а также если вы разово хотите создать простое устройство без изучения языка программирования Arduino и различных документаций. Для остальных же случаев лучше придерживаться традиционного процесса разработки.

Интересно почитать: Что такое триггер в физике.

Программирование для платы Uno

Для написания программ (скетчей) для контроллер Ардуино вам нужно установить среду программирования. Самым простым вариантом будет установка бесплатной Arduino IDE, скачать ее можно с официального сайта.

После установки IDE вам нужно убедиться, что выбрана нужная плата. Для этого у Arduino IDE в меню “Инструменты” и подпункте “Плата” следует выбрать нашу плату (Arduino/Genuino Uno). После выбора платы автоматически изменятся параметры сборки проекта и итоговый скетч будет скомпилирован в формат, который поддерживает плата. Подключив контроллер к компьютеру через USB, вы сможете в одно касание заливать на него вашу программу,используя команду “Загрузить”.

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

Написанная и скомпилированная программа загружается через USB-соединение (UART- Serial). Со стороны контролера за этот процесс отвечает bootloader.

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

Установка драйверов

Если вы использовали установщик, Windows — от XP до 10 — автоматически установит драйверы, как только вы подключите свою плату.

Если вы загрузили и распаковали Zip архив или по какой-то причине плата неправильно распознана, выполните приведенную ниже процедуру.

  • Нажмите на меню «Пуск» и откройте панель управления.
  • Перейдите в раздел «Система и безопасность» (System and Security). Затем нажмите «Система» (System). Затем откройте диспетчер устройств (Device manager).
  • Посмотрите под Порты (COM и LPT) (Ports (COM & LPT)). Вы должны увидеть открытый порт с именем «Arduino UNO (COMxx)». Если раздел COM и LPT отсутствует, просмотрите раздел «Другие устройства», «Неизвестное устройство».
  • Щелкните правой кнопкой мыши по порту Arduino UNO (COMxx) и выберите опцию «Обновить драйверы…».
  • Затем выберите опцию «Выполнить поиск драйверов на этом компьютере».
  • Наконец, найдите файл драйвера с именем «arduino.inf», который находится в папке «Drivers» программы Arduino (а не подкаталог «FTDI USB Drivers»). Если вы используете старую версию IDE (1.0.3 и старше), выберите файл драйвера Uno с именем «Arduino UNO.inf».
  • После этого Windows завершит установку драйвера.

Отличие от других плат

Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы 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 – существенного прироста скорости при переходе на “старшего” брата вы не получите.

Как преодолеть аппаратные ограничения

Большинство распространённых плат имеют аналогичные характеристики, среди них:

  • Uno;
  • Nano;
  • Pro mini;
  • и подобные.

Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.

С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.

Ардуино Uno R3 – отличная плата для большинства проектов, которая служит для изучения устройств цифровой электроники.

Краткие выводы

Arduino Uno – отличный вариант платы для создания своих первых проектов и умных устройств. 14 цифровых и 6 аналоговых пинов позволяют подключать разнообразные датчики, светодиоды, двигатели и другие внешние устройства. USB-разъем поможет подключиться к компьютеру для перепрошивки скетча без дополнительных внешних устройств. Встроенный стабилизатор позволяет использовать различные элементы питания с широким диапазоном напряжения, от 6-7 до 12-14 В. В Arduino Uno достаточно удобно реализована работа с популярными протоколами: UART, SPI, I2C. Есть даже встроенный светодиод, которым можно помигать в своем первом скетче. Чего еще желать начинающему ардуинщику?

Работа в комплексе с другими системами

Самое первое, с чем вы можете познакомиться, даже без приобретения дополнительных устройств для разработки – это связь по последовательному порту. Он активируется по команде Serial.begin (скорость, например 9600). Подробно о каждой команде вы можете прочитать в обучающем разделе на официальном сайте проекта Arduino.ru. Вы можете обмениваться с компьютером информацией. Плата, в зависимости от программного кода, может вам присылать данные, а вы их, через монитор портов в Arduino IDE, можете читать.

Кроме последовательного порта, в ардуино UNO реализована поддержка таких интерфейсов:

  • I2C;
  • SPI.

Через них можно осуществлять «общение» между несколькими платами, а также подключать разную периферию: датчики и дисплеи.

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]