Контроллер Arduino Uno R3 ОРИГИНАЛ!

Arduino Uno R3, ОРИГИНАЛЬНЫЙ модуль

  • Микроконтроллер: ATmega328P
  • Тактовая частота: 16 МГц
  • Флеш-память: 32 Кб, из которых 0.5 Кб используются для загрузчика
  • ОЗУ-память: 2 Кб
  • EEPROM-память: 1 Кб
  • Рабочее напряжение: 5 В
  • Входное напряжение (рекомендуемое): 7-12 В
  • Входное напряжение (предельное): 6-20 В
  • Цифровые входы/выходы: 20
  • ШИМ выходы: 6
  • Аналоговые входы: 6, 10-бит
  • Максимальный постоянный ток через вход/выход: 40 мА, рекомендуемый: 20мА
  • Максимальный постоянный ток для вывода 3.3 В: 50 мА
  • Кнопка ручного перезапуска "Reset"
  • USB-разъём: USB, тип-B
  • Световая индикация событий: обмен данными RX,TX, питание платы, цифровой вывод 13

UNO - первая!

Оригинальный модуль ARDUINO UNO R3 - одна из лучших плат в семействе Arduino. Если вам ранее не доводилось пробовать программировать микроконтроллеры и создавать на их основе разнообразные конструкции, ARDUINO UNO R3 станет настоящим помощником в обучающем процессе при создании простых, а в будущем и более сложных "умных" устройств. Учитывая, что UNO была первой самостоятельной разработкой, она наделена всеми основными функциями, на основе которых вырос целый спектр разновидностей и модификаций плат Arduino.

UNO без сомнения очень популярна: ею часто комплектуются стартовые наборы, выпускаемые сторонними разработчиками для начинающих с азов разработчиков. Зачастую, её используют в своих проектах как любители, так и профессионалы. На основе UNO разработано и создано просто огромное количество разнообразных полезных проектов, примеры которых распространены на просторах Интернета. Arduino обладает поддержкой в лице дружелюбного сообщества пользователей, активно общающихся между собой на форумах, и охотно помогающих в возникающих трудностях. Доступность, лёгкость в понимании при изучении и надёжность в использовании - вот её конек.

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

  • датчики звука, капель и дождя, расстояния, обнаружения газов, температуры или освещённости;
  • беспроводные радиопередатчики GSM/GPRS, RFid, WiFi и Bluetooth;
  • символьные и графические дисплеи;
  • сервомоторы;
  • модули с кнопками или светодиодами;
  • часы реального времени;
  • Ethernet модули;
  • модули с реле разнообразных конфигураций;
  • картридеры SD и микро-SD карт памяти;
  • MP3-проигрыватели, звуковые усилители, FM-приёмники;
  • гироскопы, акселерометры, магнитометры и многие другие.

Если говорить обобщённо, Arduino - это комплекс, состоящий из микроконтроллерной платы и программы-редактора на основе упрощённой версии языка С++ для написания пользовательского исполняемого кода с возможностью последующей прошивки контроллера.

UNO не имеет своей операционной системы - полная доступность ресурсов находится под контролем пользователя. Единственное программное обеспечение, предварительно записанное в микросхему ATmega328, называется "Загрузчик", которое инициализирует систему, управляет доступом к встроенной памяти при загрузке в микроконтроллер нового кода, а также запуском исполняемых программ.

Основные шаги в создании проектов

  1. Разработка проекта "на бумаге" на основе вашей идеи;
  2. Предварительная "черновая" сборка электрической схемы;
  3. Написание программного кода и его прошивка в микроконтроллер;
  4. Анализ полученного результата, при необходимости - отладка отдельных частей проекта;
  5. Сборка законченного варианта конструкции.

Обзор платы

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

Сердцем платы является 8-битная AVR микросхема контроллера ATmega328P, выполненная в корпусе PDIP-28. Она установлена в припаянный к плате специальный пластиковый DIP-разъём. Несомненно, такое исполнение крайне удобно, хотя и существуют другие малоразмерные аналоги контроллера. Если по какой-либо причине был повреждён или вышел из строя главный контроллер платы, или требуется его замена, достаточно вынуть нерабочую микросхему из специального разъёма и установить на её место новый.

В отличии от предыдущих версий UNO, в которых за связь между USB-портом и главным контроллером ATmega328 отвечал микроконтроллер ATmega8U2, новая и последняя версия содержит в себе чип ATmega16U2, позволивший увеличить скорость передачи данных и объём памяти.

В обновлённой UNO Rev3, рядом с контактом AREF, были добавлены выводы SDA и SCL интерфейса IIC/I2C. Появились контакты IOREF. Для более удобного использования кнопка "Reset" перемещена на угол платы.

Питание

Подать питание плате Arduino UNO R3 можно проводным соединением через USB-порт или используя внешний источник питания. Определение и переключение на активный источник питания происходит в автоматическом режиме.

К внешним (не USB) источникам относятся стационарные блоки питания, преобразующие переменное напряжение в постоянное, или батареи. Адаптеры питания могут подключаться к разъёму внешнего источника питания, имеющего размеры: внешний "минусовой" контакт 5,5мм, центральный штырьевой "плюсовой" контакт 2,1мм. Батареи можно соединять с выводами Vin (+) и GND (-).

Напряжение внешнего источника питания рекомендуется в интервале от 7 до 12 вольт. Питание платы напряжением менее 7 вольт может привести к нестабильной работы системы в целом. Питание с напряжением более 12 вольт приведёт к перегреву компонентов и выходу из строя всего модуля.

Назначение выводов 8-контактной группы "Питание":

  • Vin - входящее напряжение внешнего источника питания;
  • 5V - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 5 вольт. Основное рабочее напряжение всей цепи модуля. Используется для питания подключаемых внешних модулей;
  • 3V3 - исходящее напряжение, отрегулированное встроенным понижающим регулятором до 3.3 вольт. Используется для питания подключаемых внешних модулей;
  • GND - общий вывод, заземление;
  • RESET - служит для управляемого аппаратного сброса микроконтроллера. Физическая кнопка "Reset" позволяет выполнить сброс вручную;
  • IOREF - вывод соединён с контактом 5V. Полноразмерные модули, установленные на плату и имеющие аналогичный ответный контакт, смогут определить рабочее напряжение контроллера, и, при необходимости, самостоятельно выбрать нужный им источник питания: 5 вольт, 3.3 вольта или дополнительный внешний.
  • Крайний 8-й вывод не задействован. Возможно, ему определят назначение в новых версиях платы.

Защита USB

Arduino UNO R3 имеет встроенный самовосстанавливающийся предохранитель, ограничивающий нагрузку на USB-порт вашего компьютера, защищает от короткого замыкания. Максимальный возможный ток всей схемы через USB-подключение составляет 500 миллиампер. Превышение порогового значение приведёт к временному разрыву питающей цепи, которое восстановиться при устранении сверхнагрузки или короткого замыкания.

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

Плата UNO обладает цифровыми выводами (контакты 0-13), работающими с логикой напряжений "1" и "0". Под единицей подразумевается входящее/исходящее напряжение +5 вольт, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение 0 вольт, называемое низким сигналом. Каждый вывод имеет нагрузочный резистор (20-50 кОм), отключенный по умолчанию. Рекомендуемый ток отдельного вывода составляет 20 миллиампер, предельный ток - 40 миллиампер. Обращение к выводам в программном коде осуществляется операторами pinMode(), digitalWrite() и digitalRead().

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

Некоторые выводы наделены аналоговым функционалом (А0-А5), позволяющим определять входящее напряжение в диапазоне от 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;
     
    Примечание! Для ATmega16U2 реализован независимый ICSP-разъём с интерфейсом SPI.
     
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11 с разрядностью 8-бит;
  • Внешние прерывания: 2 (INT0) и 3 (INT1). Каждый контакт можно настроить на генерацию прерывания по низкому уровню, по восходящему или спадающему фронту (задержка программы для предотвращения ложного прерывания в момент подачи питания), или на любое изменение уровня на входе вывода прерывания. Оперирует прерываниями программная функция attachInterrupt();
  • Светодиод L13: отображает наличие сигнала высоко уровня (значение HIGH) для цифрового вывода 13. Гаснет при сигнале низкого уровня (значение LOW);
  • AREF - опорное напряжение, устанавливаемое оператором analogReference();
  • Reset - передача сигнала низкого уровня (LOW) приведёт к перезапуску микроконтроллера.

Группа контактов ICSP

Разъём ICSP (внутрисистемное последовательное программирование) разработан для непосредственного программирования центрального микроконтроллера ATmega328P или вспомогательного ATmega16U2 с помощью внешних программаторов (AVR-ISP, STK500 или другой с поддержкой интерфейса SPI) без использования внутреннего загрузчика. Данный способ применяется в тех случаях, когда требуется полный объём доступной флэш-памяти, или же использование USB-соединения нецелесообразно или неудобно.

Распиновка (цоколёвка) контактов UNO R3

Распиновка (цоколевка) Arduino UNO R3

Принципиальная схема платы.

Память

  1. Энергонезависимая флеш-память объёмом 32 КБ, из которых 0.5 кБ выделено под загрузчик. Основная область для хранения исполняемого программного кода, записываемого в микроконтроллер при его прошивке;
  2. ОЗУ-память (SRAM) размером 2 КБ, предназначена для хранения переменных, создаваемых в процессе выполнения исполняемого пользовательского кода. ОЗУ-память зависит от питающего напряжения, при его отсутствии все данные удаляются;
  3. EEPROM-память объёмом 1 КБ. Относиться к разряду энергонезависимой памяти, доступной пользователю для хранения данных, независящих от основного кода.

Связь и коммуникация

Arduino/Genuino UNO обладает рядом возможностей для коммуникации с компьютером, другой платой Arduino/Genuino, или другими микроконтроллерами. С этой задачей справляется встроенный чип ATmega16U2, преобразующий входящие сигналы от USB-порта в TTL-уровни интерфейса UART, и создающий обычный виртуальный COM-порт, по которому и происходит общение с платой. Микропрограмма 16U2 использует стандартные USB-драйверы операционной системы вашего компьютера, поэтому дополнительный драйвер не потребуется. Для связи с аналогичными устройствами служат UART TTL (5В) выводы 0 (RX) и 1 (TX). Светодиоды RX и TX будут мигать, когда данные передаются через микросхему USB-в-TTL при соединении с компьютером через USB-порт (но не для последовательной связи на контактах 0 и 1).

Первое подключение

ARDUINO UNO стала первой и эталонной в серии USB ARDUINO. Теперь нет необходимости в поиске и установке программного обеспечения для связи платы с компьютерами, работающими под управлением ОС Linux или ОС MAC. Для ОС Windows необходим inf-файл, который присутствует в оболочке программирования ARDUINO IDE.

UNO R3 имеет все необходимые компоненты для подключения, просто соедините её USB-кабелем с компьютером. Произойдет автоматическая установка драйвера и на экране появиться сообщение

Установка драйвера ARDUINO UNO завершена

На плате загорится зеленый светодиод "ON", информирующий вас о том, что UNO подключена к питанию.

Программирование

Если вы ранее не программировали контроллеры ARDUINO, то вам необходимо загрузить бесплатный редактор ARDUINO IDE с сайта разработчика и установить его на ваш компьютер. Загрузить сейчас.
Теперь вы можете приступать к программированию UNO.

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

Выбор ARDUINO UNO

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

Выбор порта ARDUINO UNO

Теперь все настроено для загрузки скетча в вашу UNO.

Воспользуемся для демонстрации кодом простого скетча, позволяющего "помигать" светодиодом 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).

В завершении добавим, что редактор ARDUINO IDE имеет немалую ознакомительную библиотеку примеров. Найти их можно в основном меню "Файл / Примеры".

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2019г https://compacttool.ru