Цена:
Плата разработчика UNO R3 PRO-версия, Arduino-совместимая
Arduino-совместимый модуль Uno R3 является сторонней разработкой, созданный на основе открытого источника проекта Arduino. Плата целиком и полностью повторяет все размеры, параметры и возможности оригинального контроллера Uno R3. Тем не менее, присутствуют небольшие отличия от прародителя, расширяющие возможности:
Несомненно, UNO заслужила максимальную популярность: ею часто комплектуются стартовые наборы, выпускаемые сторонними производителями для начинающих с азов разработчиков. Зачастую, её используют в своих проектах как любители, так и профессионалы. На основе UNO разработано и создано просто огромное количество разнообразных полезных проектов, примеры которых распространены на просторах Интернета. Arduino обладает поддержкой в лице дружелюбного сообщества пользователей, активно общающихся между собой на форумах, и охотно помогающих в возникающих трудностях. Доступность, лёгкость в понимании при изучении и надёжность в использовании - это её конёк.
Главное назначение платы - организация связи и взаимодействия между дополнительными функциональными модулями, которые вы без труда можете подключать к модулю. К ним относятся:
Если говорить обобщённо, 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" из центра перемещена на угол платы.
Память
Вводы и выводы
Плата UNO обладает цифровыми выводами (контакты 0-13), работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +5 вольт, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение 0 вольт, называемое низким сигналом.
Каждый вывод имеет нагрузочный резистор (20-50 кОм), отключенный по умолчанию. Рекомендуемый ток отдельного вывода составляет 20 миллиампер, предельный ток - 40 миллиампер. Обращение к выводам в программном коде осуществляется операторами pinMode(), digitalWrite() и digitalRead().
Примечание! Избегайте превышения значения максимального тока, способного повредить микроконтроллер.
Некоторые выводы наделены аналоговым функционалом (А0-А5), позволяющим определять входящее напряжение в диапазоне от нуля до напряжения, выбранного в качестве основного (по умолчанию), делящееся в цифровом соотношении на 1024 возможных значения (0..1023). В программном коде обращение к выводам осуществляется оператором analogRead(). Оператор analogReference() позволяет установить границы измеряемого напряжения, возможные варианты:
Примечание! При подключенном напряжении на выводе AREF необходимо использовать только тип EXTERNAL. В противном случае существует риск повреждения ATmega328.
В качестве примера: опорное напряжение - 5 вольт, на входе аналогового контакта - 2.5 вольта. Результат сравнения = 512.
В добавок, UNO оснащена шестью специализированными выводами (значок тильда "~"), позволяющие пользователю регулировать исходящее напряжение в диапазоне от 0 до 5 вольт на основе широтно-импульсной модуляции (ШИМ) с градацией цифровых значений в интервале от 0 до 255. Обращение к выводам в программном коде осуществляется оператором analogWrite().
Специальные функции:
Группа из 6-ти контактов - ICSP
Разъём ICSP (внутрисистемное последовательное программирование) разработан для непосредственного программирования центрального микроконтроллера ATmega328P с помощью внешних программаторов (USBASP, AVRISP STK500 или другой с поддержкой интерфейса SPI) без использования внутреннего загрузчика. Данный способ применяется в тех случаях, когда требуется полный объём доступной флэш-памяти, или же использование USB-соединения нецелесообразно или неудобно.
Питание
Подать питание плате UNO R3 можно проводным соединением через USB-порт или используя внешний источник питания. Определение и переключение на активный источник питания происходит в автоматическом режиме.
К внешним (не USB) источникам относятся стационарные блоки питания, преобразующие переменное напряжение в постоянное, или батареи. Адаптеры питания могут подключаться к разъёму внешнего источника питания, имеющего размеры: внешний "минусовой" контакт 5,5мм, центральный штырьевой "плюсовой" контакт 2,1мм. Батареи можно соединять с выводами Vin (+) и GND (-).
Напряжение внешнего источника питания рекомендуется в интервале от 7 до 12 вольт. Питание платы напряжением менее 7 вольт может привести к нестабильной работы системы в целом. Питание с напряжением более 12 вольт приведёт к перегреву компонентов и выходу из строя всего модуля.
Назначение выводов 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 получаю ошибку обращения к порту или ошибку инициализации порта.
Ответ. Попробуйте сделать следующее (каждый шаг может решить проблему):
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой!
© Все права защищены 2015 - 2025г https://compacttool.ru