Содержание

Плата Arduino Uno – описание, схема, распиновка

Arduino Uno – плата от компании Arduino, построенная на микроконтроллере ATmega 328.

Плата имеет на борту 6 аналоговых входов, 14 цифровых выводов общего назначения (могут являться как входами, так и выходами), кварцевый генератор на 16 МГц, два разъема: силовой и USB, разъем ISCP для внутрисхемного программирования и кнопку горячей перезагрузки устройства. Для стабильной работы плату необходимо подключить к питанию либо через встроенный USB Разъем, либо подключив разъем питания к источнику от 7 до 12В. Через переходник питания плата также может работать и от батареи формата Крона.

Основное отличие платы от предыдущих – для взаимодействия по USB Arduino Uno использует отдельный микроконтроллер ATmega8U2. Прошлые версии Arduino использовали для этого микросхему программатора FTDI.

Несложно догадаться, что благодаря своему итальянскому происхождению, слова “Arduino” и “Uno” взяты именно из этого языка. Компания назвалась “Arduino” в честь короля Италии 11 века Ардуина, а Уно переводится с итальянского как “первый”.

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

Длина и ширина платы составляют 69 мм x 53 мм.

Силовой и USB разъемы выступают за границы печатной платы на 2 мм.

Расстояние между выводами соответствует стандарту 2.54 мм, однако расстояние между 7 и 8 контактами составляет 4 мм.

Плата Arduino Uno имеет на борту 3 способа подключения питания: через USB, через внешний разъем питания и через разъем Vin, выведенный на одну из гребенок сбоку. Платформа имеет на борту встроенный стабилизатор, позволяющий не только автоматически выбирать источник питания, но и выравнивать ток до стабильных 5 вольт, необходимых контроллеру для работы.

Внешнее питание можно подавать как напрямую от USB порта компьютера, так и от любого AC/DC блока питания через разъем питания или USB.

На плате предусмотрено несколько выводов, позволяющих запитывать от нее подключенные датчики, сенсоры и актуаторы. Все эти выводы помечены:

  • Vin – вход питания, используется для получения питания от внешнего источника. Через данных вывод происходит только подача питания на плату, получить оттуда питание для внешних устройств невозможно. На вход Vin рекомендуется подавать напряжение в диапазоне от 7В до 20В, во избежании перегрева и сгорания встроенного стабилизатора.
  • 5V – источник пятивольтового напряжения для питания внешних устройств. При получении питания платой из любых других источников (USB, разъем питания или Vin) на этом контакте вы всегда сможете получить стабильное напряжение 5 вольт. Его можно вывести на макетную плату или подать напрямую на необходимое устройство.
  • 3V3 – источник 3.3 вольтового напряжения для питания внешних устройств. Работает по такому-же принципу, что и контакт 5V. С данной ножки также можно вывести напряжение на макетную плату, либо подать на необходимый датчик/сенсор напрямую.
  • GND – контакт для подключения земли. Необходим для создания замкнутой цепи при подключении к контактам Vin, 5V или 3V3. Во всех случаях ножку GND необходимо выводить как минус, иначе цепь не будет замкнута и питание (что внешнее, что внутреннее) не подасться.

Платформа Arduino Uno имеет на борту микроконтроллер ATmega328, который обладает Flash, SRAM и EEPROM памятью.

  • FLASH – 32kB, из которых 0.5kB используется для хранения загрузчика
  • SRAM (ОЗУ) – 2kB
  • EEPROM – 1kB (доступна с помощью библиотеки EEPROM)

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

Функция pinMode служит для задания режима работы контакта, будет-ли он работать на выход или на вход. В данной функции задается номер контакта, которым мы в дальнейшем собираемся управлять.

digitalRead()

Функция считывает текущее значение с заданного контакта – его значение может быть HIGH или LOW.

digitalWrite()

Функция передает определенное значение на заданный контакт – оно может быть HIGH или LOW.

Все выводы обладают пятивольтовой логикой, то есть выдают логическую единицу как напряжение 5В.

Каждый вывод платы имеет нагрузочный резистор номиналом 20-50 кОм и может пропускать до 40 мА, но по умолчанию все они отключены.

Также, на контактных площадках Arduino Uno выведены специальные интерфейсы подключения различных цифровых устройств:

Arduino Uno имеет на своей платформе 6 аналоговых входов с разрешением 10 Бит на каждый вход. Данное разрешение говорит нам о том, что сигнал, приходящий на него, можно оцифровать в диапазоне от 0 до 1024 условных значений.

Считывать значения с данных контактов можно функцией analogRead(), а передавать значения – функцией analogWrite().

Так как Arduino Uno обладает пятивольтовой логикой, то и значение будет находиться в диапазоне от 0 до 5 вольт, однако при помощи функции analogReference() можно изменять верхний предел.

Данные выводы используются для обмена данными по протоколу UART. Контакт RX используется для получения данных, а контакт TX – для их отправки. Эти выводы подключены к соответствующим контактам последовательной шины схемы ATmega8U2 USB-to-TTL, выступающей в данном контексте в роли программатора.

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

Вызов прерывания может быть задан по-разному:

  • на младшем значении
  • на переднем или заднем фронте
  • при изменении значения

Более подробно прерывания описаны в отдельной статье нашей Вики.

С помощью данных контактов происходит подключение периферии, работающей через интерфейс SPI. Для работы с данным интерфейсом в среде Arduino IDE предусмотрена отдельная библиотека с одноименным названием.

При помощи данных контактов к Arduino можно подключать внешние цифровые устройства, умеющие общаться по протоколу I2C. Для реализации интерфейса в среде Arduino IDE присутствует библиотека Wire.

Для проверки вашего кода по ходу его написания, самый удобный способ индикации – встроенный светодиод. Подав значение HIGH на 13 контакт, он загорается на плате красным цветом, тем самым показывая, что условие вашей программы выполнилось (или наоборот, что-то пошло не так). 13 контакт удобно использовать в коде программы для проверки ошибок и отладки.

Кстати, хотим заметить, что последовательно к 13-ому контакту подключен резистор на 220 Ом, поэтому не стоит использовать его для вывода питания ваших устройств. 

Помимо всех вышеперечисленных, на платформе Uno имеется еще 2 дополнительных контакта.

AREF

Данный контакт отвечает за определение опорного напряжения аналоговых входов платформы. Используется только с функцией analogReference().

RESET

Данный контакт необходим для аппаратной перезагрузки микроконтроллера. При подаче сигнала низкого уровня (LOW) на контакт Reset, происходит перезагрузка устройства.

Данный контакт обычно соединен с аппаратной кнопкой перезагрузки, установленной на плате.

Для осуществления связи с внешними устройствами (компьютером и другими микроконтроллерами) на плате существует несколько дополнительных устройств.

На контактах 0 (RX) и 1 (TX) контроллер ATmega328 поддерживает UART – последовательный интерфейс передачи данных. ATmega8U2, выполняющий на плате роль программатора, транслирует этот интерфейс через USB, позволяя платформе общаться с компьютером через стандартный COM-порт. Прошивка, установленная в контроллер ATmega8U2, имеет на борту стандартные драйверы USB-COM, поэтому для подключения не потребуется никаких дополнительных драйверов.

Внимание! На платах китайского производства, вместо контроллера ATmega8U2 используется другой программатор – Ch440G, который не распознается Windows в автоматическом режиме. Для него необходимо установить дополнительный драйвер, о чем подробно написано в нашем блоге – Установка драйверов микросхемы Ch440G для Arduino.

При помощи мониторинга последовательной шины, называемого Serial Monitor, среда Arduino IDE посылает и получает данные от Arduino. При обмене данными на плате видно мигание светодиодов RX и TX. При использовании UART-интерфейса через контакты 0 и 1, светодиоды не мигают.

Плата может взаимодействовать по UART-интерфейсу не только через аппаратным, но и через программным способом. Для этого в среде Arduino IDE предусмотрена библиотека SoftwareSerial.

Также, на плате предусмотрены выводы основных интерфейсов взаимодействия с периферией: SPI и I2C (TWI).

Платформа Arduino Uno, как и все другие Arduino-совместимые платформы, программируется в среде Arduino IDE. Для работы с ней в настройках программы необходимо выбрать нужную платформу. Это можно сделать в верхнем меню -> Tools -> Boards -> Arduino UNO.

Выбор микроконтроллера зависит от того, какой стоит именно на вашей плате. Обычно это ATmega328.

Плата как правило поставляется уже прошитая необходимым загрузчиком и должна определяться системой в автоматическом режиме (за исключением плат на основе программатора Ch440G). Связь микроконтроллера с компьютером осуществляется стандартным протоколом STK500.

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

Обычно, в микроконтроллерах перед загрузкой кода предусмотрен вход платы в специальный режим загрузки, однако Arduino Uno избавлена от данного действия для упрощения загрузки в нее программ. Стандартно, перед загрузкой каждый микроконтроллер получает сигнал DTR (digital reset), но в данной плате вывод DTR подключен к микроконтроллеру ATmega8U2 через 100 нФ конденсатор и программатор сам управляет процессом загрузки новой прошивки в контроллер. Таким образом, загрузка прошивки происходит моментально после нажания кнопки Upload в среде Arduino IDE.

Эта функция имеет еще одно интересное применение. Каждый раз при подключении платформы к компьютеру с OC Windows, MacOS или Linux, происходит автоматическая перезагрузка платы и в следующие полсекунды на плате работает загрузчик. Таким образом, для избежания получения некорректных данных, во время загрузки прошивок происходит задержка первых нескольких байтов информации.

Arduino Uno поддерживает отключение автоматической перезагрузки. Для этого необходимо разорвать линию RESET-EN. Еще один способ отключения автоматической перезагрузки – подключение  между линиями RESET-EN и линией питания 5V резистора номиналом 110 Ом.

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

voltiq.ru

Arduino UNO

5V

8-bit

16 MHz

AVR

Arduino/Genuino Uno – это устройство на основе микроконтроллера ATmega328 (datasheet). В его состав входит все необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем для внутрисхемного программирования (ICSP) и кнопка сброса. Для начала работы с уcтройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля.

“Uno” (в переводе с итальянского – “один”) назван по случаю предстоящего выпуска Arduino IDE 1.0. Совместно с Arduino IDE 1.0 данные устройства будут базовыми версиями Ардуино. Uno – эталонная модель платформы Arduino и является последней в серии USB-плат.

Технические характеристики
Микроконтроллер
ATmega328P
Рабочее напряжение
5 В
Входное напряжение (рекомендованное)
7-12 В
Входное напряжение (предельное)
6-20 В
Цифровых входов / выходов
14 (6 из которых с поддержкой ШИМ)
ШИМ входов / выходов
6
Аналоговых входов / выходов
6
Максимальный ток одного вывода
20 мА
Максимальный выходной ток вывода 3.3В
50 мА
Flash-память
32 Кбайт (0.5 Кбайт из которых выделены под bootloader)
Энергозависимая память (SRAM)
2 Кбайт
Энергонезависимая память (EEPROM)
1 Кбайт
Частота процессора
16 МГц
Встроенный светодиод
на 13 порту
Длина
68.6 мм
Ширина
53.4 мм
Вес
25 г

Документация
Программирование

Arduino Mini программируется с помощью программного обеспечения Arduino IDE (скачать).

ATmega328 в Arduino Uno выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 (описание, заголовочные файлы C).

Тем не менее, микроконтроллер ATmega328 можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик; информацию о распиновке разъема ICSP для прошивки Mini через загрузчик смотри на соответствующей странице. Инструкции по использованию внешнего программатора для прошивки контроллера смотри здесь.

Исходный код прошивки микроконтроллера ATmega16U2 (или 8U2 на платах версии R1 и R2) находится в свободном доступе. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:

  • На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.
  • На платах версий R2 и выше – для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.

После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel’s FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант – прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется. Для получения более подробной информации смотри эти инструкции, составленные пользователями официального портала.

Защита USB

В Arduino Uno встроен самовосстанавливающийся предохранитель (автомат), защищающий порт USB компьютера от токов короткого замыкания и сверх токов. Хотя практически все компьютеры имеют подобную защиту, тем не менее, данный предохранитель обеспечивает дополнительный барьер. Предохранитель срабатывает при прохождении тока более 500 мА через USB порт и размыкает цепь до тех пока нормальные значения токов не будут восстановлены.

Отличия

В отличие от всех предыдущих плат Arduino, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI.

Питание

Arduino Uno может быть запитан от USB либо от внешнего источника питания – тип источника выбирается автоматически.

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр – 2.1мм, центральный контакт – положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Ниже перечислены выводы питания, расположенные на плате:

  • VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
  • 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 – 12В), от USB (5В) или через вывод VIN (7 – 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
  • GND. Выводы земли.
  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Arduino. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.
Память

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

Ввод / вывод

Смотрите также соответствие выводов Arduino и ATmega328. Распиновка для микроконтроллеров ATmega8, 168 и 328 идентична.

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Рекомендуемый ток 20 мА. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм.

Помимо этого, некоторые выводы Arduino Uno могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
  • Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах. Для получения дополнительной информации смотри функцию attachInterrupt().
  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). С применением библиотеки SPI данные выводы могут осуществлять связь по интерфейсу SPI.
  • Светодиод: Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW – выключается.
  • TWI: вывод A4 или SDA и вывод A5 или SCL. С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

В Arduino Uno есть 6 аналоговых входов (A0 – A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference().

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения
Связь

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

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Uno.

В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Arduino IDE входит библиотека Wire, позволяющая упростить работу с шиной I2C. Для получения более подробной информации смотрите документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

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

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Uno спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2/16U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Arduino IDE. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

Однако эта система может приводить и к другим последствиям. При подключении Uno к компьютерам, работающем на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Uno активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Arduino, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino, осуществляет отправку спустя секунду после установки соединения.

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

Для получения более подробной информации смотри соответствующую ветку форума на официальном сайте.

Ревизии
  • Относительно 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый – IOREF – позволяет платам расширения подстраиваться под рабочее напряжение Arduino. Данный вывод предусмотрен для совместимости плат расширения как с 5В Arduino на базе микроконтроллеров AVR, так и с 3.3В платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
  • Улучшена помехоустойчивость цепи сброса.
  • Микроконтроллер ATmega8U2 заменен на ATmega16U2.

arduino.on.kg

Arduino UNO R3: схема, распиновка портов

Arduino UNO R3 – флагманская плата для разработки проектов на базе микроконтроллера ATmega328. Arduino UNO самая популярная платформа для начинающих изобретателей.

Arduino/Genuino UNO — это флагманская плата для разработки собственных проектов, построения простых систем автоматики и робототехники на базе микроконтроллера ATmega328 с бесплатным программным обеспечением и открытой архитектурой. Arduino UNO R3 является сегодня самой популярной платформой для начинающих изобретателей, любителей мастерить своими руками, студентов и школьников.

Arduino UNO: распиновка платы

Что такое Arduino UNO Ch440 мы уже рассказывали, поэтому перейдем сразу к характеристикам и описанию платы Ардуино УНО. Распиновка и принципиальная схема платформы представлена на фото далее. Как мы уже говорили, вся линейка плат имеет полностью открытую архитектуру системы, что позволяет любому стороннему производителю копировать и модернизировать платы Arduino Genuino UNO.

Arduino UNO распиновка платы на русском, ICSP

UNO является лучшим вариантом для знакомства с микроконтроллерами. Плата имеет удобный размер и все необходимое для начала работы: 14 цифровых входов/выходов (6 портов могут работать в режиме ШИМ), 6 аналоговых входов для датчиков, разъем USB для программирования и разъем питания Arduino UNO от блока питания или кроны. Но главное — это огромное множество уроков и инструкций в Интернете.

Характеристики платы Arduino UNO

  • Микроконтроллер: ATmega328
  • Тактовая частота: 16 МГц
  • Напряжение логических уровней: 5 В
  • Входное напряжение питания: 7–12 В
  • Портов ввода-вывода общего назначения: 20
  • Максимальный ток с порта ввода-вывода: 40 мА
  • Максимальный выходной ток порта 3.3 В: 50 мА
  • Максимальный выходной ток порта 5 В: 800 мА
  • Портов с поддержкой ШИМ: 6
  • Портов, подключённых к АЦП: 6
  • Разрядность АЦП: 10 бит
  • Flash-память: 32 КБ
  • EEPROM-память: 1 КБ
  • Оперативная память: 2 КБ
  • Габариты: 69×53 мм

Arduino UNO: схема электрическая

Arduino UNO R3 схема принципиальная электрическая

Arduino UNO: порты ввода вывода, питание

Рабочее напряжение — 5 В при подключении через USB с любых устройств (компьютер, ноутбук, зарядка от смартфона и т.д.). При одновременном подключении внешнего адаптера (аккумулятора, кроны, блока питания), питание автоматически переключается, но плату можно по-прежнему программировать через компьютер. Рекомендуемое питание Arduino Uno от батареек или аккумулятора от 7 до 12 В.

Arduino Uno питание от блока питания 12 вольт

Arduino UNO: питание от внешнего источника

5V     – на пин Ардуино подает 5В, его можно использовать для питания устройств
3.3V – на пин подается напряжение 3.3В от внутреннего стабилизатора
GND – вывод земли
VIN  – пин для подачи внешнего напряжения
IREF – пин для информирования о рабочем напряжении платы

Можно питание на микроконтроллер подать через порт VIN с помощью проводов. «Плюс» от внешнего источника подается на порт VIN, а «Минус» на GND (заземление). Подача внешнего напряжения 5 Вольт на пин 5V не допустимо, так как питание Genuino Arduino Uno обходит стороной стабилизатор, что может привести к поломке. Все цифровые порты на плате выдают стабилизированное напряжение в 5 Вольт.

Arduino UNO: прошивка, память

Arduino UNO программирование для начинающих

Программирование платы происходит в бесплатной среде Arduino IDE на русском, которую можно скачать на официальном сайте. Для подключения устройств и модулей используются коннекторы («папа-папа» и «папа-мама»), которые подключаются к портам Ардуино. Чтобы начать работать с платформой, перейдите в раздел Arduino uno r3 «Уроки для начинающих» , где представлены подробные инструкции с примерами.

Плата поддерживает три типа памяти:

Flash – память объемом 32 кБ, используется для хранения программы. Когда контроллер прошивается скетчем через USB, он записывается именно во Flash – память. Чтобы очистить память Arduino UNO следует загрузить пустой скетч.

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

EEPROM — это энергонезависимая память объемом 1кБ. Сюда можно записывать данные, которые при выключении питания не исчезнут. Минус EEPROM в ограничении циклов перезаписи — 100 000 раз по утверждениям производителя.

Описание Ардуино УНО на русском

Рекомендуем вам ознакомиться с другими платами из линейки Arduino-Genuino, например, аналог самой популярной платы UNO — RobotDyn UNO R3 от китайского производителя. Плата по своим характеристикам ничем не уступает официальному производителю, но при этом имеет более демократичную цену и ряд преимуществ. Таких как, более удобный USB-разъем и большее количество аналоговых входов.

xn--18-6kcdusowgbt1a4b.xn--p1ai

микроконтроллер на процессоре Atmega AVR

Arduino Uno – это плата, построенная на базе процессора ATmega AVR. В зависимости от конкретной модели платы используются различные микроконтроллеры, на момент написания статьи самой распространённой является версия R3. Плату используют для обучения, разработки, создания рабочих макетов устройств. Ардуино, по своей сути, – это AVR микроконтроллер с возможностью упрощенного программирования и разработки. Это достигнуто с помощью специально подготовленного загрузчика, прошитого в память МК, и фирменной среды разработки.

Характеристики и строение Arduino Uno R3

В основе платы лежит процессор ATmega 328. Кроме него на плате находится модуль USB для связи с компьютером и прошивки. Этот модуль называется «USB-TTL преобразователь». На фирменных платах Arduino Uno для этой целей используется дополнительный микроконтроллер ATmega16U2.

Особенность этого чипа заключается в аппаратной поддержке USB, что позволяет организовывать связь без дополнительных преобразователей. В то время как ATmega328 не поддерживает такой функции, поэтому 16u2 выступает в роли преобразователя данных из USB в последовательный порт для МК AVR. В него залита программа для выполнения этой задачи.

Однако так происходит не всегда: в более мелких платах, таких как Arduino Nano, используют преобразователи уровней на базе различных микросхем, например FT232, CP21XX, Ch440g и подобных. Это решение является более дешевым и не требует прошивки дополнительного связывающего контроллера, как описано выше.

Интересно! Стоит отметить, что не всё так однозначно: DCcduino UNO r3 на ch440g. В ней как раз и использован более дешевый, чем в оригинале, вариант преобразователя USB-TTL.

На плате есть выход 3.3 В, он нужен для подключения периферии и некоторых датчиков, его пропускная способность по току равна 50 мА.

Микроконтроллер Arduino Uno содержит 32 кб флэш-памяти, из которой пользователю доступно 31.5 кб, потому как 0.5 занимает загрузчик. ОЗУ – 2 кб и 1 кб памяти EEPROM. АТМЕГА 328 работает на частоте 16 МГц. Она фиксирована кварцевым резонатором, который вы можете, по желанию, заменить, тем самым ускорив работу Uno r3.

Важно! После замены кварцевого резонатора функции, связанные со временем, такие как Delay, не будут соответствовать введенным значениям. Это функция задержки времени, по умолчанию её аргументом является требуемое время задержки в мс. Функция прописана в библиотеках Ардуино, с учетом стандартной тактовой частоты в 16 МГц. Поэтому после замены кварца заданное время не будет соответствовать написанному. Для этого нужно либо подбирать опытным путем и устанавливать зависимости, либо править файлы библиотек.

Как осуществляется питание платы?

Чтобы включить плату, нужно на неё подать питание либо от USB порта, можно прямо от ПК, либо от внешнего источника питания – от 7 до 15 Вольт. На плате установлен линейный стабилизатор, типа L7805, или же LDO. Он нужен для того, чтобы на микроконтроллер подавалось стабилизированное напряжение 5 В.

При этом приоритетно выбирается внешний источник питания, а не ЮСБ-порт. Внешнее питание подключается к выводу с пометкой «Vin» в разделе Power на плате.

Расположение выводов (пинов) на плате

Разработчики платы Arduino очень удобно и логично расположили выводы платы. Дело в том, что при разработке на «чистых» МК АВР приходилось обращаться к выводу порта, для этого нужно было запомнить название каждой ножки на чипе. Здесь это гораздо проще. На самой плате указано название каждого из пинов. Удобства добавляет и то, что пины разбиты на 3 группы:

  1. Digital – блок цифровых пинов.
  2. Analog – блок аналоговых пинов.
  3. Power – блок пинов, которые связаны с питанием и работой микросхемы.

При этом в разделе Digital пины, которые могут выдавать ШИМ (PWM)-сигнал, помечены тильдой «~». Для служебных целей и проверки работоспособности контроллера на плате установлен светодиод, который подключен к 13-му выводу, а из среды разработки Arduino IDE к нему можно обращаться через встроенную директиву LED_BUILTIN. Такие схемы расположения пинов называются «Arduino UNO pinout», при этом, вместо UNO, может быть указано название другой платы, которая вас интересует.

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций. Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов. Их тоже можно использовать, как цифровые.

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

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

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

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

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

Платы расширения Arduino Shields что это такое?

В магазинах, специализирующихся на робототехнике и микроконтроллерах, можно встретить слово “шилд”. Это специальная плата, которая напоминает Arduino Uno. Совпадает она с ней не только по форме, но и по количеству выводов.

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

Одним из самых популярных является Arduino Ethernet Shield. Он нужен для связи с Ардуино по обычному сетевому кабелю, витой паре. На нём расположен разъём rj45.

С подобным шилдом можно управлять вашим микроконтроллером по сети через веб-интерфейс, а также считывать параметры с датчиков, не отрываясь от компьютера. Существуют проекты с использованием такого комплекта в домашнем облачном хранилище, с ограничением по скорости, всё-таки Атмега328 слабовата для таких задач, и для этого лучше подойдут одноплатные компьютеры типа Raspberry pi.

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

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

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

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

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

Выводы

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

Это даёт возможность вам без труда повторить плату в домашних условиях, если вы энтузиаст или у вас нет возможности приобрести фирменный экземпляр.

arduinoplus.ru

Arduino Uno Rev3/R3 – описание платы, драйвера

Arduino Uno Rev3 — это плата, основанная на микроконтроллере ATmega328P. Платформа имеет 14 цифровых пинов входа/выхода, 6 из которых могут использоваться как выходы ШИМ, 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат Ардуино, Uno в качестве преобразователя интерфейсов USB-UART использует микроконтроллер ATmega16U2 (ATmega8U2 до версии R2) вместо микросхемы FTDI. На китайских вариантах используется преобразователь интерфейсов USB-UART Ch440G.

На плате Arduino Uno версии R2 для упрощения процесса обновления прошивки добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 8U2.

Изменения на плате версии R3 перечислены ниже:

  • Распиновка 1.0: добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Первый — IOREF — позволяет платам расширения подстраиваться под рабочее напряжение Ардуино. Данный вывод предусмотрен для совместимости плат расширения как с 5 В-Ардуино на базе микроконтроллеров AVR, так и с 3.3 В-платами Arduino Due. Второй вывод ни к чему не подсоединен и зарезервирован для будущих целей.
  • Улучшена помехоустойчивость цепи сброса.
  • Микроконтроллер ATmega8U2 заменен на ATmega16U2.

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


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

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

Arduino Uno Ch440G Rev3

Данная плата обладает всеми свойствами классической платы ARDUINO UNO Rev3. Основные отличия от оригинала связаны с тем, что для уменьшения стоимости платы применяется микроконтроллер ATmega328 в SMD корпусе, а USB мост выполнен на бюджетной микросхеме Ch440G. Все элементы внешних подключений, в том числе имена портов, на этой плате полностью соответствуют принципиальной схеме оригинальной платы, однако следует помнить, что нумерация выводов SMD и DIP корпусов микроконтроллера ATmega328 различная.

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

Для микросхемы USB-моста Ch440G на компьютер необходимо установить драйверы, которые можно скачать здесь.

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

  • USB Plug – разъем для подключения устройств USB;
  • Analog Reference Pin – для определения опорного напряжения АЦП;
  • Digital Ground – земля;
  • Digital I/O Pins (2-13) – цифровые выводы;
  • Serial OUT (TX) – пин передачи данных по UART;
  • Serial IN (RX) – пин приема данных по UART;
  • Reset Button – кнопка перезагрузки микроконтроллера;
  • In-Circuit Serial Programmer (ISCP) – через эти контакты можно перепрограммировать плату;
  • ATmega328P Microcontroller – собственно сам чип Ардуинки, он же микроконтроллер, процессор, мозг и т.д.;
  • Analog In Pins (0-5) – аналоговые входы;
  • Voltage In – вход используется для подачи питания от внешнего источника;
  • Ground Pins – земля;
  • 5 Volt Power Pin – питание 5 В;
  • 3 Volt Power Pin – питание 3.3 В;
  • Reset Pin – вход для перезагрузки;
  • External Power Supply – разъем для подключения внешнего источника питания.

Описание пинов Arduino Uno Rev3

Пины Ардуино используются для подключения внешних устройств и могут работать как в режиме входа, так и в режиме выхода. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 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 Rev3 предназначены для подключения аналоговых устройств и являются входами для встроенного аналого-цифрового преобразователя (АЦП), который в ардуино уно десятиразрядный.

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

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

  • AREF – выдает опорное напряжения для встроенного АЦП. Может управляться функцией analogReference().
  • RESET – Низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.

Питание Arduino Uno Rev3

Платы Arduino Uno R3 может получать питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.

Питать плату можно следующими способами:

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

Выводы питания:

  • 5V – на этот пин ардуино подаёт 5 В, его можно использовать для питания внешних устройств;
  • 3.3V – на этот пин от внутреннего стабилизатора подается напряжение 3.3 В;
  • GND – вывод земли;
  • VIN – пин для подачи внешнего напряжения;
  • IREF – пин для информирования внешних устройств о рабочем напряжении платы.

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

Если вы использовали установщик, 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 завершит установку драйвера.

Выбор платы и порта

Откройте Arduino IDE. Из меню Tools>Board выбирается Arduino/Genuino Uno.

Выберите последовательное устройство платы в меню Tools>Port. Скорее всего, это COM3 или выше (COM1 и COM2 обычно зарезервированы). Чтобы узнать, вы можете отключить свою плату и повторно открыть меню; запись, которая исчезает, должна быть Arduino или Genuino. Подсоедините плату и выберите этот последовательный порт.

Если у вас модель Arduino Uno Ch440G, то лучше использовать программатор Arduino as ISP.

Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы ICSP (внутрисхемное программирование).

Материалы

Принципиальная схема: Arduino_Uno_Rev3-schematic.pdf
Arduino UNO Ch440 Rev3.pdf
Datasheet — UNO_R3(Ch440G).pdf
Arduino Uno | Аппаратная платформа Arduino
Arduino Uno R3

Купить Arduino UNO R3 на AliExpress

micro-pi.ru

ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ

Введение

Робот – это машина, которая способна принимать информацию из внешней среды с помощью системы датчиков, самостоятельно обрабатывать ее и менять характер своих действий в соответствии с этим. Самое главное все эти операции должны происходить без участия человека. Именно по этой причине телеуправляемая модель, даже если она конструктивно сложна и имеет антропоморфный вид, не может считаться роботом, в то время как простой термостат или даже плавкий предохранитель в этом смысле являются простейшими роботами.

Конструирование робототехнической системы – это многоплановая задача, требующая знаний по широкому кругу научных и технических вопросов. Изготовление электромеханических исполнительных узлов, например, ходовой части робота, потребует знаний по общей механике, электротехнике. Создание алгоритма действий для робототехнической системы, требует знаний по информатике, в первую очередь навыков программирования. Для получения информации из внешней среды роботу необходимы различные датчики, использование которых потребует знания физических принципов работы этих датчиков. Создание всей системы в целом невозможно без знания электроники. Таким образом, процесс создания робототехнической системы потребует в процессе работы получения большого объема информации по различным естественно научным и физико-математическим дисциплинам, выходящего далеко за пределы объема школьной программы.

В настоящее время существует несколько основных путей позволяющих приступить к воплощению робототехнической системы. Первый использование готовых наборов для конструирования роботов, такие наборы изготовляет известный производитель конструкторов для детей фирма Lego. Они содержат все необходимые компоненты для изготовления робота: блок микроконтроллера, электродвигатели, датчики. Несомненное достоинство этого пути в том, что сконструировать робота на основе готового набора можно просто и быстро.

Все необходимое программное обеспечение прилагается к роботу и имеет интуитивно понятный интерфейс. Однако стоимость таких наборов неоправданно высока, за не слишком большой набор датчиков и исполнительных механизмов, а также за набор стандартных пластмассовых деталей придется отдать весьма значительную сумму. Таким образом, подобные конструкторы лучше всего подходят для младшей возрастной группы. Если в кружке в основном занимаются старшеклассники, то разумнее средства отпускаемы на оснащение кружка технического творчества, пустить на приобретение измерительных приборов, инструментов, материалов и комплектующих, а не на приобретение подобных наборов.

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

Кроме приведенных выше вариантов, существует и третий путь – использование вычислительной платформы Arduino. Ее основой является специальная плата с микроконтроллером, а также специализированная среда разработки Wiring, созданная на основе языка C++.

Программное обеспечение полностью бесплатное, его можно скачать с официального сайта производителя. Имеются версии для всех основных операционных систем Windows, Linux, MacOS. При разработке программной части комплекса в данной среде от нас скрываются многие рутинные операции, что упрощает разработку. Однако с другой стороны программа пишется на языке высокого уровня, по этому при компиляции в машинные коды, полученная программа не будет оптимальной по размеру и времени выполнения.

Иными словами программа, написанная на языке Ассемблер, будет занимать места меньше, а выполняться быстрее. Если конструируется учебный робот, или бытовое электронное устройство, в большинстве случаев это не столь важно, в самом деле, если сигнализация среагирует на разбитое окно не через 0,1 с, а через 0,2 с, это ничего принципиально не изменит. Однако в ответственных случаях объем памяти требуемый для программы, и особенно, скорость работы могут стать критически важными, по этому среди специалистов по разработке аппаратно-программных комплексов отношение к данной платформе как минимум неоднозначное. Впрочем, в системах жизнеобеспечения, промышленных, авиационных и космических системах использовать Arduino никому и не придет в голову, к тому же любители крайне редко сталкиваются с необходимостью создания подобных систем.

В любительской же среде Arduino фактически стала стандартом. Применение законченных функциональных блоков Arduino очень сильно упрощает и, следовательно, ускоряет изготовление устройств. Нам важно как тот или иной блок реагирует на определенные сигналы и воздействия, но не принципиально его внутренне устройство. Фактически узлы Arduino являются, с точки зрения кибернетики, «черными ящиками». Однако, есть мнение, что Arduino – это своеобразный радиолюбительский фаст фуд, использование которого недостойно настоящего радиолюбителя.

На это можно возразить, что практически любое электронное устройство собирается из деталей заводского изготовления. В конечном счете, что такое любая микросхема, как не «черный ящик», нам важно как микросхема отвечает на тот или иной электронный сигнал, при этом ее внутреннее устройство, как правило, неизвестно, или мы его знаем только приблизительно. Если отрицать использование готовых узлов можно прийти к тому, что настоящий радиолюбитель должен сам делать радиолампы (как изготовить в кустарных условиях транзистор я не представляю) или, вообще, сначала осваивать добычу медной руды, выплавку метала и волочение проволоки.

В общем, Arduino позволяет с одной стороны изучить основы работы с микроконтроллерами и конструировать законченные устройства, с другой объем первоначальных знаний, необходимых для начала работы не слишком велик, и вполне доступен школьнику. 

Описание аппаратной части Arduino

Физически Arduino представляет собой небольшую печатную плату. Самой распространенной на данный момент версией является Arduino UNO с габаритами 75×55 мм.

На плате располагается микроконтроллер ATMega328, этот микроконтроллер имеет 2 кб оперативной памяти и 32 кб памяти флэш-памяти для программ. Пользователю доступно несколько меньшая часть памяти программ, потому что часть памяти программ отведено под программу-загрузчик, которая управляет работой платы при загрузке в нее пользовательской программы. Платы заводского изготовления обычно поставляются уже с записанной в память программой-загрузчиком. Если отдельный микроконтроллер, программируемый на Ассемблере, достаточно легко довести до неработоспособного состояния неверными командами, то с Arduino это сделать несколько сложнее, т.к. программное обеспечение Arduino играет роль «защиты от дурака», защищая микроконтоллер от неверных действий начинающего пользователя. Кварцевый резонатор задает тактовую частоту работы микроконтроллера 16 МГц. Так же в микроконтоллере имеется внутренний кварцевый резонатор на частоту 8 МГц, но его обычно не используют.

Для связи с компьютером на плате имеется разъем USB-BF. На платах разных производителей в этой части возможны существенные различия, кроме USB-BF автору встречались платы с micro-USB, на старых и самодельных платах, скорее всего, будет 9-контактный разъем COM-порта. На плате Arduino UNO установлен специальный преобразователь, поэтому подключенная к компьютеру плата, определяется как новый COM-порт. Одно из преимуществ Arduino состоит в том, что благодаря наличию программы загрузчика и возможности подключения Arduino к персональному компьютеру для ее программирования не нужен отдельный программатор. 

Подключенная к компьютеру плата Arduino питается через USB-порт. Если плата используется отдельно, то необходимо подключить к плате блок питания с выходным постоянным напряжением 7-12 В, разъем питания, вероятно, типа DS-210. На плате имеется стабилизатор напряжения, поэтому к качеству питающего напряжения устройство нетребовательно. Подойдет почти любой малогабаритный блок питания. В автономных условиях подходит 9 В батарея типа «Крона», или две последовательно соединенные батареи типа 3R12 (3336).

На плате располагается 14 цифровых портов ввода-вывода, 6 из которых поддерживают широтно-импульсную модуляцию (помечены на плате знаком «~»).

Кроме цифровых на плате есть 6 аналоговых портов. Аналоговые порты подключены в 10 битному аналогово-цифровому преобразователю, при необходимости их также можно использовать в качестве цифровых портов. 

На плате имеются четыре светодиода – индикатор питания (обозначен, как ON), светодиод, подключенный к 13 порту (L), два светодиода индикации обмена данными через последовательный порт (TX и RX). Также на плате имеется кнопка для перезагрузки микроконтроллера. 

Одним из достоинств Arduino является то, что кроме основной платы производится дополнительные платы, расширяющие возможности основного устройства. Такие платы расширения называют Shield, что дословно можно перевести как «щит» или «экран», обычно в русскоязычной литературе используется англицизм «шилд». Шилды позволяют подключать к Arduino электродвигатели, обеспечивают выход в компьютерные сети по протоколу Ethernet или WiFi, передачу информации по сети сотовой связи GSM, и выполняют многие другие функции. Для работы с такими платами существуют готовые программные библиотеки.

Плата Arduino UNO

Плата Arduino UNO хорошо подходит для отладки программ на стадии разработки и настройки конструкций. Но для множества практических приложений возможности Arduino UNO избыточны, ее размер для установки в готовые изделия может оказаться слишком большим. Кроме этого к Arduino UNO внешние устройства подключаются без пайки – с помощью разъемов. Со временем разъем может выпасть от вибрации или его контакты окислятся, что нарушит нормальный контакт, с очевидными последствиями для изготовленного устройства.

Для использования в готовых изделиях выпускаются платы ArdinoNano и ArdinoMini, они имеют меньшие физические размеры, и несколько меньшую стоимость. Эти платы совместимы программно с Arduino UNO, но не позволяют непосредственно подключать к ним шилды. ArdinoNano – плата уменьшенного размера, имеет разъем для непосредственной связи с компьютером, выводы позволяют использовать более надежное паяное соединение. ArdinoMini – еще более уменьшена, по сравнению с ArdinoNano, на плате отсутствует разъем для прямого подсоединения к компьютеру, для программирования требуется специальный переходник.

Если возможностей Arduino UNO недостаточно, можно применить расширенную версию ArdinoMega. Эта плата имеет расширенные возможности 54 цифровых порта из них 15 поддерживают ШИМ,16 — аналоговых портов, 128 кб (в поздних версиях 256 кб) — флэш-памяти для программ, 8 кб оперативной памяти.

Перечень различных вариантов аппаратной реализации Ardino этим платами не ограничивается, но подобные устройства ориентированы на специалиста достаточно высокой квалификации и для первоначального изучения подходят мало. Более подробно различные варианты плат описаны тут.

Основной стандарт плат Arduino, тоже изменялся со временем. Более подробно с различными версиями плат можно познакомиться на сайте разработчика. На данный момент самым современным вариантом является Arduino Leonardo. Однако на данный момент Arduino UNO распространена наиболее широко, так что в дальнейшем остановим свое внимание именно на Arduino UNO.

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

Вообще проект Ардуино полностью открытый, авторским правом охраняется только сам термин «Arduino», поэтому множество сторонних производителей выпускают свои конструкции: Freeduino, Japanino, Seeeduino, CraftDuino, Diavolino и т.п. Существуют платы, как полностью повторяющие оригинальные, так и собственные разработки, часть из которых совместима с Arduino только программно, из-за того, что платы имеют отличную конфигурацию. В целом, на современном уровне производства электронных устройств, платы Arduino не содержат в себе каких-то действительно высоких технологий, поэтому приемлемый для любителя уровень качества способны обеспечить не только производители оригинальных устройств, но и малоизвестные фирмы, которые предлагают аналогичные конструкции по существенно более низким ценам.

Если плата заявлена как копия Arduino UNO, то, скорее всего, все сказанное о Arduino UNO будет относиться и к ней, хотя конечно за конкретного китайского производителя поручиться нельзя. Собственно конкретная плата, которая использовалась автором, обозначена просто UNO, слово «Arduino» отсутствует, так что это плата безвестного азиатского производителя, который уважает авторское право разработчиков оригинального проекта. Не смотря на сомнительное происхождение, ни каких нареканий к качеству самой платы автор предъявить не может. С вами был Denev.

   Форум по Ардуино

   Обсудить статью ARDUINO UNO ДЛЯ НАЧИНАЮЩИХ




radioskot.ru

Arduino — описание выводов на примере Arduino UNO

Arduino — это полноценная система, позволяющая управлять различными системами и считывать данные из разных источников. Основным преимуществом Arduino — это стандартизированное распределение выводов, позволяющее применять готовые к использованию решения, расширяющие возможности системы.

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

На рисунке ниже приведены платы Arduino UNO и Arduino MEGA:

Arduino MEGA совместима с версией UNO в области основных выводов. Дополнительные выводы MEGA расположены отдельно, что позволяет сохранить совместимость с Arduino UNO.

Распиновка Arduino Uno

Рядом с USB разъемом есть кнопка «RESET». Он позволяет вернуться к исходному состоянию программы, которое бывает при включении питания. После нажатия кнопки «RESET» данные в ОЗУ микроконтроллера сбрасываются и Arduino начинает выполнять программу с самого начала.

Интерфейс USB позволяет программировать Arduino и взаимодействовать и поддерживать связь с Serial монитором. Кроме того, непосредственно через USB вы можете запитать плату.

Следует, однако, помнить, что USB имеет небольшую выходную мощность и не может обеспечить должным питанием элементы, требующие большей мощности, такие как двигатели постоянного тока, шаговые двигатели или сервоприводы. Решить эту проблему можно применив мощный внешний источник питания.

Для этого в Arduino имеет разъем для подключения внешнего источника питания. Напряжение питания может составлять от 5 до 20 В. Фактически, оптимальное напряжение должно находиться в диапазоне 7-12 В.

Если напряжение питания будет меньше 7В, то напряжение на выходе встроенного стабилизатора будет меньше 5 В. Если же входное напряжение питания будет больше 12 В, то это приведет к значительному нагреву стабилизатора напряжения.

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

Arduino оснащена одним или двумя шестиконтактными разъемами, которые используются для программирования микроконтроллера. Разъемы обозначаются как ICSP1 и ICSP2. Разъем ближе к основному микроконтроллеру позволяет загружать BOOTLOADER, а разъем ближе к USB-порту позволяет загружать программу USB-UART преобразователя. Второй разъем используется только в платах Arduino, где в качестве USB-UART преобразователя используется микроконтроллер Atmega. Если установлен FT232, то второй разъем на плате отсутствует.

Плата Arduino оснащена группой, по крайней мере, из 4 светодиодов. Два из них помечены как «RX» и «TX» расположены рядом с микросхемой FT232 или Atmega. Они сигнализируют о последовательной передаче данных между компьютером и контроллером. Эти светодиоды полезны при программировании и тестировании программы, которая взаимодействует с компьютером. По их свечению вы можете визуально определить, происходит ли передача данных (программирование) или нет.

Еще один светодиод, обозначенный как «ON», является индикатором питания платы. Последний светодиод, как правило, — это светодиод, анод которого подключен к выводу 13, а катод к минусу питания. Поэтому высокий логический уровень на выводе 13 приведет к включению светодиода, в то время как низкий уровень приведет к его выключению.

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

Левая часть (POWER) обеспечивает доступ к питанию и управлению:

  • IOREF — указывает каким напряжением питается процессор Arduino (это важно для некоторых шилдов)
  • RESET — сброс Arduino
  • 3V3 – система питание модулей, требующих 3,3 В
  • 5V — система питания TTL
  • GND – масса
  • GND — масса
  • VIN — напряжение питания от внешнего источника

Правая часть (ANALOG IN) обеспечивает считывание аналоговые сигналов. Аналого-цифровой преобразователь (АЦП) позволяет считывать значения напряжения от 0 до AREF или 0…5 В.

Считанное значение может быть 8-битным или 10-битным. Аналоговые входы подписаны как A0, A1, A2, A3, A4, A5. Несмотря на их основное предназначение, выводы A0 — A5 так же могут быть использованы как цифровые входы или выходы.

Верхний ряд контактов также разделен на две части. Правая часть пронумерована от 0 до 7, левая от 8 до 13. Этот ряд содержит контакты цифрового входа/выхода.

Контакты 0 и 1 являются специальными выводами, на которые дополнительно выведены линии последовательного порта (RX и TX). Их можно использовать для последовательной связи с другой платой.

Контакты 3, 5, 6, 9, 10, 11 обозначаются как «~» или PWM. Они могут работать в режиме ШИМ, иногда называемым аналоговым выходом. Конечно же, это не реальные аналоговые выходы. Они только позволяют контролировать ширину импульса, которая часто используется в цифровой электронике для изменения «аналогового» сигнала.

И последние два вывода — это GND и AREF, которые используется для подключения внешнего опорного напряжения для аналого-цифрового преобразователя.

В итоге Arduino UNO имеет 14 цифровых линий входа/выхода и 6 аналоговых входов (которые могут служить в качестве цифровых входов/выходов).

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

Допустимое входное напряжение не должно превышать 5В или 3,3В (у плат с питанием от 3,3В). В случае если необходимо обработать сигнал напряжением больше 5В (3,3В для Arduino Pro Mini), то следует воспользоваться делителем напряжения.

Нагрузочная способность выходов при питании от 5 В составляет 40мА, при питании от 3,3 В — 50 мА. Это означает, что к одному выходному контакту можно подключить, например, до двух светодиодов, предполагая, что рабочий ток каждого из них составляет 20 мА.

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

www.joyta.ru

alexxlab

leave a Comment