







Arduino UNO R3 PRO
Арт. 13445
440 ₽
более 500 шт.
Описание
Плата разработчика UNO R3 PRO-версия, Arduino-совместимая
- Микроконтроллер: ATmega328
- Тактовая частота: 16МГц
- Флеш-память: 32Кб, из которых 0.5Кб используются для загрузчика
- ОЗУ-память: 2Кб
- EEPROM-память: 1Кб
- Рабочее напряжение: 5В
- Входное напряжение (рекомендуемое): 7-12В
- Входное напряжение (предельное): 6-20В
- Цифровые входы/выходы: 20
- ШИМ выходы: 6
- Аналоговые входы: 6, 10-бит
- Максимальный постоянный ток через вход/выход: 40мА, рекомендуемый: 20мА
- Максимальный постоянный ток для вывода 3.3 В: 30мА
- Кнопка ручного перезапуска "Reset"
- USB-разъём: USB-B
- Световая индикация событий: обмен данными RX,TX, питание платы, цифровой вывод 13
- Размеры: 68.6 х 53.4 х 12.8мм
- Вес: 25г
Arduino-совместимый модуль Uno R3 является сторонней разработкой, созданный на основе открытого источника проекта Arduino. Плата целиком и полностью повторяет все размеры, параметры и возможности оригинального контроллера Uno R3. Тем не менее, присутствуют небольшие отличия от прародителя, расширяющие возможности:
- Центральный микроконтроллер ATmega328 выполнен в миниатюрном корпусе MLF-32.
- Связь между USB-портом и центральным процессором основана на чипе CH340G, выполняющим роль аппаратного моста и запрограммированным в режим работы преобразователя USB-в-TTL.
- Наличие дополнительный выводов интерфейсов UART, TWI/IIC/I2C и контактов питания 5В, 3.3В для удобства пользователя.
- Наличие дополнительных дублирующих контактов-отверстий для всех групп аналого-цифровых выводов и выводов питания, расположенных по бокам платы. Они предоставляют возможность тестирования каждого вывода в процессе отладки проекта.
Без сомнения, UNO заслужила максимальную популярность: ею часто комплектуются стартовые наборы, выпускаемые сторонними производителями для начинающих с азов разработчиков. Зачастую, её используют в своих проектах как любители, так и профессионалы. На основе UNO разработано и создано просто огромное количество разнообразных полезных проектов, примеры которых распространены на просторах Интернета. Arduino обладает поддержкой в лице дружелюбного сообщества пользователей, активно общающихся между собой на форумах, и охотно помогающих в возникающих трудностях. Доступность, лёгкость в понимании при изучении и надёжность в использовании - это её конёк.
Главное назначение платы - организация связи и взаимодействия между дополнительными функциональными модулями, которые вы без труда можете подключать к модулю. К ним относятся:
- модули с кнопками или светодиодами;
- часы реального времени;
- датчики звука, капель и дождя, расстояния, обнаружения газов, температуры или освещённости;
- часы реального времени;
- MP3-проигрыватели, звуковые усилители, FM-приёмники;
- сервомоторы;
- Ethernet модули;
- модули с реле разнообразных конфигураций;
- картридеры SD и микро-SD карт памяти;
- беспроводные радиопередатчики GSM/GPRS, RFid, WiFi и Bluetooth;
- символьные и графические дисплеи;
- гироскопы, акселерометры, магнитометры и многие другие.
Если говорить обобщённо, Arduino - это полноценный комплекс, состоящий из микроконтроллерной платы и программы-редактора на основе упрощённой версии языка С++ для написания пользовательского исполняемого кода с возможностью последующей прошивки контроллера.
Открытую интегрированную среду ARDUINO IDE, предназначенную для программирования плат ARDUINO, можно бесплатно загрузить по этой ссылке (поддерживаются операционные системы Linux, Mac OS и Windows).
UNO не имеет своей операционной системы - полная доступность ресурсов находится под контролем пользователя. Единственное программное обеспечение, предварительно записанное в микросхему ATmega328, называется "Загрузчик", которое инициализирует систему, управляет доступом к встроенной памяти при загрузке в микроконтроллер нового кода, а также запуском исполняемых программ.
Основные шаги в создании проектов
- Разработка проекта "на бумаге" на основе вашей идеи;
- Предварительная "черновая" сборка электрической схемы;
- Написание программного кода и его прошивка в микроконтроллер;
- Анализ полученного результата, при необходимости - отладка отдельных частей проекта;
- Сборка законченного варианта конструкции.
Обзор платы
В отличии от предыдущих версий UNO, в которых за связь между USB-портом и главным контроллером ATmega328 отвечал микроконтроллер ATmega8U2, данная содержит в себе бюджетный чип CH340.
В обновлённой UNO Rev3, рядом с контактом AREF, были добавлены выводы SDA и SCL интерфейса TWI/IIC/I2C. Появился новый контакт 5V, несущий в себе функцию IOREF. Для более удобного использования кнопка "Reset" из центра перемещена на угол платы.
Память
- Энергонезависимая флеш-память объёмом 32 КБ, из которых 0.5 кБ выделено под загрузчик. Основная область для хранения исполняемого программного кода, записываемого в микроконтроллер при его прошивке;
- ОЗУ-память (SRAM) размером 2 КБ, предназначена для хранения переменных, создаваемых в процессе выполнения исполняемого пользовательского кода. ОЗУ-память зависит от питающего напряжения, при его отсутствии все данные удаляются;
- EEPROM-память объёмом 1 КБ. Относиться к разряду энергонезависимой памяти, доступной пользователю для хранения данных, независящих от основного кода.
Вводы и выводы
Плата UNO обладает цифровыми выводами (контакты 0-13), работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +5 вольт, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение 0 вольт, называемое низким сигналом.
Каждый вывод имеет нагрузочный резистор (20-50 кОм), отключенный по умолчанию. Рекомендуемый ток отдельного вывода составляет 20 миллиампер, предельный ток - 40 миллиампер. Обращение к выводам в программном коде осуществляется операторами pinMode(), digitalWrite() и digitalRead().
Примечание! Избегайте превышения значения максимального тока, способного повредить микроконтроллер.
Некоторые выводы наделены аналоговым функционалом (А0-А5), позволяющим определять входящее напряжение в диапазоне от нуля до напряжения, выбранного в качестве основного (по умолчанию), делящееся в цифровом соотношении на 1024 возможных значения (0..1023). В программном коде обращение к выводам осуществляется оператором analogRead(). Оператор analogReference() позволяет установить границы измеряемого напряжения, возможные варианты:
- DEFAULT: стандартное опорное напряжение 5 вольт;
- INTERNAL: встроенное опорное напряжение 1.1 вольта;
- EXTERNAL: напряжение внешнего источника, подключенного к контакту AREF.
Примечание! При подключенном напряжении на выводе AREF необходимо использовать только тип EXTERNAL. В противном случае существует риск повреждения ATmega328.
В качестве примера: опорное напряжение - 5 вольт, на входе аналогового контакта - 2.5 вольта. Результат сравнения = 512.
В добавок, UNO оснащена шестью специализированными выводами (значок тильда "~"), позволяющие пользователю регулировать исходящее напряжение в диапазоне от 0 до 5 вольт на основе широтно-импульсной модуляции (ШИМ) с градацией цифровых значений в интервале от 0 до 255. Обращение к выводам в программном коде осуществляется оператором analogWrite().
Специальные функции:
- Асинхронный последовательный интерфейс UART: выводы RX0 (приём) и TX1 (передача). Подключение к ним других устройств осуществляется по схеме RX->TX, TX->RX;
- Двунаправленный последовательный интерфейс TWI/I2C: выводы А4 или SDA, A5 или SCL. Связь с другими устройствами поддерживается библиотекой TWI;
- Последовательный периферийный интерфейс SPI: выводы 10 (SS), 11(MOSI), 12 (MISO), 13 (SCK) и на разъёме ICSP, расположенного рядом с микроконтроллером ATmega328. Связь с другими устройствами поддерживается библиотекой SPI;
- ШИМ: выводы 3, 5, 6, 9, 10 и 11 с разрядностью 8-бит;
- Внешние прерывания: вывод 2 (INT0) и вывод 3 (INT1). Каждый контакт можно настроить на генерацию прерывания по низкому уровню, по восходящему или спадающему фронту (задержка программы для предотвращения ложного прерывания в момент подачи питания), или на любое изменение уровня на входе вывода прерывания. Оперирует прерываниями программная функция attachInterrupt();
- Светодиод L: отображает наличие сигнала высоко уровня (значение HIGH) для цифрового вывода 13. Гаснет при сигнале низкого уровня (значение LOW). Также, индицирует процесс прошивки микроконтроллера ATmega328;
- AREF - опорное напряжение, устанавливаемое оператором analogReference();
- Reset - передача сигнала низкого уровня (LOW) приведёт к перезапуску микроконтроллера.
Группа из 6-ти контактов - ICSP
Разъём ICSP (внутрисистемное последовательное программирование) разработан для непосредственного программирования центрального микроконтроллера ATmega328P с помощью внешних программаторов (USBASP, AVRISP STK500 или другой с поддержкой интерфейса SPI) без использования внутреннего загрузчика. Данный способ применяется в тех случаях, когда требуется полный объём доступной флэш-памяти, или же использование USB-соединения нецелесообразно или неудобно.
Питание
Подать питание плате UNO R3 можно проводным соединением через USB-порт или используя внешний источник питания. Определение и переключение на активный источник питания происходит в автоматическом режиме.
К внешним (не USB) источникам относятся стационарные блоки питания, преобразующие переменное напряжение в постоянное, или батареи. Адаптеры питания могут подключаться к разъёму внешнего источника питания, имеющего размеры: внешний "минусовой" контакт 5,5мм, центральный штырьевой "плюсовой" контакт 2,1мм. Батареи можно соединять с выводами Vin (+) и GND (-).
Напряжение внешнего источника питания рекомендуется в интервале от 7 до 12 вольт. Питание платы напряжением менее 7 вольт может привести к нестабильной работы системы в целом. Питание с напряжением более 12 вольт приведёт к перегреву компонентов и выходу из строя всего модуля.
Назначение выводов 8-контактной группы "Питание":
- VIN - входящее напряжение внешнего источника питания;
- 5V - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 5 вольт. Основное рабочее напряжение всей цепи модуля. Используется для питания подключаемых внешних модулей;
- 3.3V - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 3.3 вольт. Используется для питания подключаемых внешних модулей;
- GND - общий вывод, заземление;
- RES - служит для управляемого аппаратного сброса микроконтроллера. Физическая кнопка "Reset" позволяет выполнить сброс вручную;
- 5V(IOREF) - "информационный" вывод, соединённый с контактом 5V. Установленные на плату полноразмерные модули расширений, имеющие аналогичный ответный контакт, смогут определить рабочее напряжение контроллера, и, при необходимости, самостоятельно выбрать нужный им источник питания: 5 вольт, 3.3 вольта или дополнительный внешний.
- Крайний 8-й вывод не задействован. Возможно, ему определят назначение в новых версиях платы.
Примечание! Не запускайте ваш проект (Arduino) при недостаточном питании. Модуль Uno способен самостоятельно перезапуститься, если совмещаются модули с высоким энергопотреблением: серво, моторы, большие экранные модули. Лучшим решением будет подключение таких модулей к внешним источникам напряжения. Простого USB-питания может оказаться не достаточно, особенно, когда сервопривод работает с нагрузкой.
Распиновка (цоколёвка) контактов UNO R3
Связь и коммуникация
Модуль UNO R3 обладает рядом возможностей для коммуникации с компьютером, другой Arduino-платой, или другими микроконтроллерами. С этой задачей справляется встроенный чип СР340, преобразующий входящие сигналы от USB-порта в TTL-уровни интерфейса UART, и создающий обычный виртуальный COM-порт, по которому и происходит общение с платой. Микропрограмма CH340 использует собственные USB-драйверы, которые необходимо предварительно установить в операционную систему вашего компьютера.
Драйвер CH340 можно загрузить по этой ссылке. Поддерживаются ОС Windows: XP, Vista, 7, 8, 8.1, 10.
Для связи с аналогичными устройствами служат UART TTL (5В) выводы 0 (RX) и 1 (TX). Светодиоды RX, TX будут мигать, когда данные передаются через микросхему USB-в-TTL при соединении с компьютером через USB-порт (но не для последовательной связи на контактах 0 и 1).
Первое подключение
Установите драйвер CH340, используя автоматический установщик в соответствии с разрядностью операционной системы вашего компьютера. Модуль UNO R3 имеет все необходимые компоненты для подключения, просто соедините его USB-кабелем со свободным портом компьютера. На плате загорится светодиод "ON", информирующий вас о том, что UNO R3 подключена к питанию. На экране монитора появиться сообщение, подтверждающее назначение виртуального COM-порта. Заглянув в Диспетчер устройств, в разделе "Порты (COM и LPT)" вы увидите

Программирование
Если вы ранее не программировали контроллеры ARDUINO, то вам необходимо загрузить бесплатную интегрированную среду с сайта разработчика и установить ееё на ваш компьютер. Загрузить ARDUINO IDE. Теперь вы можете приступать к программированию UNO.
Любая программа, написанная для ARDUINO, называется "скетч". Прежде, чем вы загрузите первый скетч, необходимо провести небольшую настройку редактора:
Выберите в меню "Инструменты(Tools) / Плата(Boards)" тип вашего устройства "ARDUINO / Genuine Uno".

Следующим шагом необходимо указать порт компьютера, к которому подключен ваш USB кабель. В ОС Windows порты могут быть COM2, COM3 и т.д. На ОС MAC наименование порта может выглядеть как /dev/tty.usbserial-A6006hSc

Теперь все настроено для загрузки скетча в вашу UNO R3.
Воспользуйтесь приведённым ниже демонстрационным кодом простого скетча, позволяющего "помигать" светодиодом L. Скопируйте или наберите текст программы в окно редактора.
int ledPinL = 13; // Указываем номер контакта светодиода L
void setup()
{
pinMode(ledPinL, OUTPUT); // Задаём контакту режим "вывод информации".
}
void loop()
{
digitalWrite(ledPinL, HIGH); // Устанавливаем светодиод L в положение включен
delay(1000); // Ждем 1 секунду
digitalWrite(ledPinL, LOW); // Устанавливаем светодиод L в положение выключен
delay(1000); // Ждем 1 секунду
}
После того, как вы нажмете кнопку "Загрузить" на панели управления ARDUINO IDE, на плате замигают светодиоды, показывающие передачу данных, и на экране компьютера появиться сообщение "Загрузка завершена" (Done Uploading). Спустя доли секунды, AVR-микроконтроллер приступит к выполнению новой программы.
Удобный способ программирования контроллера через подключение по USB не является единственным. Существует возможность прямого программирования контроллера через ICSP-разъём с применением внешнего программатора. Написание кода для контроллеров с архитектурой AVR можно осуществлять в разных приложениях, одно из подобных - BASCOM-AVR. Тот же пример мигания светодиодом L, написанный для редактора BASCOM-AVR выглядит так:
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Portb.5 = Output
Portb.5 = 0
Do
Portb.5 = 1
Waitms 500
Portb.5 = 0
Waitms 500
Loop
End
Изучив назначение портов микроконтроллера ATmega328 (на картинке с распиновкой), определяем, что светодиод L подключен к 17 ножке чипа, соответствующей порту B.5. Инициализируем порт B.5 в режим вывода информации. Единичкой и нулем с небольшой задержкой включаем и выключаем светодиод.
В приложения ARDUINO IDE и BASCOM-AVR включены ознакомительные библиотеки с примерами, предназначенные для изучения основных функций среды разработки.
Часто задаваемые вопросы
Вопрос: Плата перестала прошиваться, в ARDUINO IDE получаю ошибку обращения к порту или ошибку инициализации порта.
Ответ. Попробуйте сделать следующее (каждый шаг может решить проблему):
- Отсоедините шнур от USB-разъёма вашего компьютера и соедините снова;
- Откройте "Диспетчер устройств", найдите ваше устройство в разделе "Порты (COM и LPT)", щёлкните на нём правой кнопкой и выберите "Свойства". В открывшемся окне, в закладке "Параметры порта" установите другой, неиспользуемый ранее номер порта. Повторите шаг 1;
- Откройте "Диспетчер устройств", найдите ваше устройство в разделе "Порты (COM и LPT)", щёлкните на нём правой кнопкой и выберите "Удалить". Повторите шаг 1. Вашему устройству будет определён новый свободный COM-порт;
- Возможно, повреждён или утерян загрузчик для ATmega328. Файл дампа памяти для UNO c загрузчиком и примером программы, мигающей светодиодом, можно загрузить по ссылке.
- Возможно, неисправен встроенный USB-в-TTL преобразователь уровней. Для программирования контроллера используйте самостоятельные USB-в-TTL адаптеры, подключив их к выводам RX0, TX1, GND, RST(DTR), VCC. Или воспользуйтесь внешними AVR-программаторами.

