Arduino Uno R3. Описание, характеристики, распиновка, подключение

Arduino Uno R3 - это устройство на основе микроконтроллера ATmega328. Плата существует в разных версиях, таких как R1, R2 и R3. Эти версии практически не отличаются по своим возможностям, поэтому мы будем рассматривать только последнюю версию Arduino Uno R3. Плата имеет на борту 6 аналоговых входов, 14 цифровых выводов общего назначения (могут являться как входами, так и выходами), кварцевый генератор на 16 МГц, два разъема: разъем питания и USB, разъем ISCP для внутрисхемного программирования и кнопку горячей перезагрузки устройства (кнопка reset).

Arduino UNO

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

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

Технические характеристики

  • Микроконтроллер: ATmega328P (PDIP-28)
  • Рабочее напряжение: 5В
  • Напряжение питания (рекомендуемое): 7-12В
  • Напряжение питания (предельное): 6-20В
  • Цифровые входы/выходы: 14 (из них 6 могут использоваться в качестве ШИМ-выходов)
  • Аналоговые входы: 6
  • Разрядность АЦП: 10-бит
  • Максимальный ток одного вывода/вывода: 40 мА (рекомендуемый: 20мА)
  • Максимальный выходной ток вывода 3.3V: 50 мА
    Flash-память: 32 КБ (ATmega328) из которых 2КБ используются загрузчиком
  • SRAM: 2 КБ (ATmega328
  • EEPROM: 1 КБ (ATmega328)
  • Тактовая частота: 16 МГц
  • Размеры платы: 69 мм x 53 мм.

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

Память

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

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

Оперативная SRAM память объемом 2 кБ - здесь по-умолчанию хранятся переменные и объекты, создаваемые в ходе работы скетча. Память эта энерго-зависимая, при отключении питания все данные хранящиеся в этой памяти просто напросто сотрутся.

Энергонезависимая память (EEPROM) объемом 1кБ - здесь можно хранить данные которые использует скетч (настройки программы), которые не сотрутся при отключении питания платы Ардуино. Но процедура записи и считывания EEPROM требует использования дополнительной Ardiono библиотеки EEPROM, которая доступна в Arduino IDE по-умолчанию. Также нужно помнить об ограничении циклов перезаписи (порядка не более 10000 циклов записи/перезаписи), присущих технологии памяти EEPROM.

Питание

Arduino Uno содержит всё необходимое для работы с микроконтроллером; для того, чтобы начать работу с ней, просто подключите ее к компьютеру с помощью USB кабеля или подайте питание от блока питания напряжением: 7-12В (Если используется питание более 12В, то регулятор напряжения может перегреться и повредить плату!), либо через пин питания +5В (Будьте внимательны! На этот пин нужно подавать ровно +5В), а так же плата может работать от батареи формата Крона напряжением +9В, но для этого надо будет использовать переходник питания. Плата может питаться через разъем питания (7 - 12В), через USB разъем (5В) или через вывод Vin на плате (7 - 12В).

Vin - вход питания платы при использовании внешнего источника питания (используется при отсутствии 5В от USB подключения или от другого регулируемого источника питания). Вы можете подать питание через этот вывод, или, если напряжение питания подается через разъем питания, то это напряжение 5В будет доступно и на этом выводе.

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

3V3 - питание 3,3В вольта, выдаваемое регулятором напряжения на плате. Максимальный выходной ток на данном выводе составляет не более 50 мА. Подключение повышенной нагрузки на данный вывод может так же повредить плату.

GND - земля. Необходим для создания замкнутой цепи при подключении к контактам Vin, 5V или 3V3. Во всех случаях вывод GND необходимо выводить как минус, иначе цепь не будет замкнута и питание (что внешнее, что внутреннее) не подасться.

IOREF - этот вывод предоставляет платам расширения (шилдам) информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.

AREF - опорное напряжение для аналоговых входов (АЦП).

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

Подключение к компьютеру через USB порт

Для взаимодействия с компьютером по USB-UART (эмулятор COM порта) Ардуино использует отдельный микроконтроллер ATmega16U2 (ATmega8U2 до версии R2). Прошлые версии Arduino использовали для этого микросхему программатора FTDI. В китайских копиях обычно используется дешовая микросхема CH340G. Светодиоды RX и TX будут мигать, когда данные передаются через преобразователь USB-в-TTL при соединении с компьютером через USB-порт.

Arduino UNO usb

Микроконтроллер ATmega16U2 использует стандартные USB-драйверы операционной системы вашего компьютера, поэтому дополнительный драйвер не потребуется. На платах китайского производства, вместо контроллера ATmega8U2 используется другой программатор - CH340G, который не распознается Windows в автоматическом режиме и для него необходимо установить дополнительный USB-драйвер.

Для работы с платой обычно используют программу для разработки кода Arduino IDE, однако можно использовать и другий программы. Чтобы настроить Arduino IDE на работу с Arduino Uno, нам необходимо узнать, какой номер COM-порта присвоил компьютер Arduino Uno. Номер COM-порта можно найти в "Диспетчер устройств" в ОС Windows, в разделе "Порт (COM и LPT)". Если подключить к компьютеру другую плату Ардуино, то операционная система назначит ей другой номер (COM порт). Стандартная скорость работы COM порта обычно составляет 9600 бод.

Входы и выходы

Arduino Uno предоставляет пользователю 14 цифровых и 6 аналоговых выводов.

Arduino UNO pinout

Цифровые двухнаправленные выводы - выводы имеют обозначения D0-D13, и способны работать в двух направлениях, т.е. каждый из них может быть как входом, так и выходом. Помимо этого, для каждого цифрового пина имеется возможность программно включить подтягивающий резистор (pull up resistor), соединённый с плюсом питания микроконтроллера. Номинал подтягивающего резистора лежит в диапазоне 20-50кОм.

Аналоговые выводы - выводы имеют обозначения А0-А5. Каждый из них соединён со встроенным 10-битным АЦП микроконтроллера ATMega328. Это означает, что мы можем одновременно измерять 6 напряжений и получать по 1024 значения для каждого канала. По умолчанию диапазон измеряемого напряжения равен 0-5В, т.е. при 0В значение АЦП будет равно 0, а при 5В значение АЦП станет равным 1023. Этот диапазон можно изменить подачей на вывод AREF своего опорного напряжения, которое станет верхней границей измерения. Если в аналоговых выводах нет необходимости, они без проблем могут использоваться как цифровые.

UART порт - последовательный интерфейс использует цифровые выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART. Внешние прерывания - (Прерываение - когда программа останавливает выполнение основного кода и производит выполнение кода прерывания) - для внешний прерываний используются цифровые выводы 2 и 3. Выводы могут конфигурироваться на вызов различных прерываний: на переднем или заднем фронте, при изменении значения, на младшем значении.

I2C интерфейс - (I2C - низкоскоростной последовательный протокол связи, подходящий для передачи данных на короткие расстояния) использует аналогоэ выводы A4 и A5 - контакты I2C (SDA и SCL соответственно).

Встроенный светодиод - (build led) - использует цифровый вывод 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается.

Интерфейс SPI - (англ. Serial Peripheral Interface, SPI bus - последовательный периферийный интерфейс, шина SPI) использует цифровые выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.

ШИМ Arduino Uno

ШИМ - расшифровывается как Широтно-импульсная модуляция (ШИМ, англ. pulse-width modulation (PWM)) — процесс управления выходной мощностью методом пульсирующего включения и выключения ключа. В ШИМ в качестве ключевых элементов использует транзисторы (могут быть применены и др. полупроводниковые приборы) которые работают ключевом режиме, то есть транзистор всё время либо разомкнут (выключен), либо замкнут (находится в состоянии насыщения). Для генерации ШИМ используется Широтно-импульсный модулятор, который генерирует последовательность импульсов со скважностью, пропорциональной уровню сигнала на его входе. ШИМ поддерживают следующие цифровые выводы платы 3, 5, 6, 9, 10 и 11 и они могут генерировать 8-битные аналоговые значения в виде ШИМ-сигнала.

Выводы

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