Освой Arduino играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

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

Выполнена на базе процессора ATmega328p с тактовой частотой 16 МГц.

3 7

Arduino Uno может питаться как от USB подключения, так и от внешнего источника: батарейки или обычной электрической сети. Источник определяется автоматически.

Порт USB имеет тип B, соответственно нужен кабель с нужным типом (часто такой кабель идёт в комплекте с принтером). Тип устарел, поэтому довольно дешёв для применения на плате.

USB on Arduino

USB on Arduino

Платформа может работать при наличии напряжения от 6 до 20 В. Однако при напряжении менее 7 В работа может быть неустойчивой, а напряжение более 12 В может привести к перегреву и повреждению. Поэтому рекомендуемый диапазон: 7−12 В (оптимальный 9). Arduino заберёт необходимые 5 В, а ещё небольшой запас пригодится для других компонентов.

Arduino Uno обладает предохранителем, защищающим USB-порты вашего компьютера от перенапряжения и коротких замыканий. Хотя большинство компьютеров обладают собственными средствами защиты, предохранитель даёт дополнительную уверенность. Он разрывает соединение, если на USB-порт подаётся более 500 мА, и восстанавливает его после нормализации ситуации. Внешний источник питания также должен иметь подобные характеристики в диапазоне от 500мА до 1 А. Обычно надпись на вилке выглядит как: OUTPUT: 9V DC 1000mA, INPUT: 100V-240V 50/60HZ. Обратите внимание на обозначение положительного центра.

Блок питания

Через USB-порт можно подавать питание и загружать прошивки на плату. Если требуется только питание, то используется другой разъём.

External power jack

Для подключения используется штекер 2,1 мм с положительным центром. В качестве батареи часто используется стандартный элемент типа "Крона". Также есть вилки с подобным штекером.

Штекер

Блок питания

Электрическая цепь должна быть замкнута, ток течёт от "+" к "-". В качестве плюса используются пины "3.3V" и "5V".

При подключении должен загореться встроенный светодиод ON (обычно зелёным цветом). Так визуально вы можете увидеть, что плата находится в рабочем состоянии.

3 LED ON

Питание

На Arduino доступны следующие контакты для доступа к питанию:

  • Vin предоставляет тот же вольтаж, что используется для питания платформы. При подключении через USB будет равен 5 В. Служит для подачи питания на плату, минуя USB или разъём питания. Например, если в вашем проекте используется источник или батарейный отсек и вы не хотите использовать громоздкие адаптеры или USB-разъёмы
  • 5V предоставляет 5 В вне зависимости от входного напряжения. На этом напряжении работает процессор. Максимальный допустимый ток, получаемый с этого контакта — 800 мА.
  • 3.3V предоставляет 3,3 В. Максимальный допустимый ток, получаемый с этого контакта — 50 мА.
  • GND — земля. Используется в качестве "-"

Память

Платформа оснащена 32 кБ flash-памяти, 2 кБ из которых отведено под так называемый bootloader. Он позволяет прошивать Arduino с обычного компьютера через USB. Эта память постоянна и не предназначена для изменения по ходу работы устройства. Её предназначение — хранение программы и сопутствующих статичных ресурсов.

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

Ещё имеется 1 кБ EEPROM-памяти для долговременного хранения данных. По своему назначению это аналог жёсткого диска для Arduino.

Порты

На платформе расположены 14 контактов (0-13), которые могут быть использованы для цифрового входа и выхода. Какую роль исполняет каждый контакт, зависит от вашей программы. Все они работают с напряжением 5 В, и рассчитаны на ток до 40 мА - этого достаточно для светодиодов, но не совсем для управления электромотором и другим мощным устройством. Никогда не подавайте питание от батареи "Крона" (9В) напрямую на выводы, вы просто спалите плату!

3 Digital

Также каждый контакт имеет встроенный, но отключённый по умолчанию резистор на 20-50 кОм. Некоторые контакты обладают дополнительными ролями:

  • Serial: 0-й и 1-й. Используются для приёма и передачи данных по USB. Без необходимости не используйте их для подключения своих датчиков.
  • Внешнее прерывание: 2-й и 3-й. Эти контакты могут быть настроены так, что они будут провоцировать вызов заданной функции при изменении входного сигнала.
  • PWM: 3-й, 5-й, 6-й, 9-й, 10-й и 11-й. Могут являться выходами с широтно-импульсной модуляцией (pulse-width modulation, ШИМ) с 256 градациями. Помечены значком тильда (~)
  • LED: 13-й. К этому контакту подключён встроенный в плату светодиод. Если на контакт выводится 5 В, светодиод зажигается; при нуле — светодиод гаснет.

Аналоговые выводы

Помимо контактов цифрового ввода/вывода на Arduino имеется 6 контактов аналогового вывода A0-A5, каждый из которых предоставляет разрешение в 1024 градации (10 бит) через аналогово-цифровой преобразователь (АПЦ). По умолчанию значение меряется между землёй и 5 В, однако возможно изменить верхнюю границу, подав напряжение требуемой величины на специальный контакт AREF.

3 Analog

Контакты A4 и A5 используются для работы I2C-шины.

Предназначен для чтения данных с аналоговых датчиков. При нехватке цифровых выходов можно использовать аналоговые в качестве цифровых.

По умолчанию все порты работают на вход. С помощью метода pinMode() можно установить режим на выход.

ICSP

Также имеются два блока портов ICSP (In Circuit Serial Programming), которые используются для обновления прошивок или переустановки загрузчика. Для опытных разработчиков.

3 ICSP

Reset

Кроме этого на плате имеется входной контакт Reset (пример). Его установка в логический ноль приводит к сбросу процессора. А также есть отдельная кнопка Reset. Кнопка используется, если вы хотите заново перезапустить прошивку, не загружая её с компьютера. Также кнопку Reset можно использовать для проверки загрузчика - подключите плату и нажмите кнопку. В течение короткого времени трижды должен поморгать светодиод.

3 Reset

Взаимодействие

Arduino Uno обладает несколькими способами общения с другими Arduino, микроконтроллерами и обычными компьютерами. Платформа позволяет установить последовательное (Serial UART TTL) соединение через контакты 0 (RX) и 1 (TX). Установленный на платформе чип ATmega16U2 транслирует это соединение через USB: на компьютере становится доступен виртуальный COM-порт. Программная часть Arduino включает утилиту, которая позволяет обмениваться текстовыми сообщениями по этому каналу.

Встроенные в плату светодиоды от выходов RX и TX светятся, когда идёт передача данных между чипом ATmega162U и USB компьютера.

3 RX TX

Отдельная библиотека позволяет организовать последовательное соединение с использованием любых других контактов, не ограничиваясь штатными 0-м и 1-м.

С помощью отдельных плат расширения становится возможной организация других способов взаимодействия, таких как ethernet-сеть, радиоканал, Wi-Fi.

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

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

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

Габариты

Размер платы составляет 6,9 × 5,3 см. Гнёзда для внешнего питания и USB выступают на пару миллиметров за обозначенные границы. Расстояние между контактами составляет 0,1″ (2,54 мм), но в случае 7-го и 8-го контакта — расстояние: 0,16″.

На плате предусмотрены места для крепления на шурупы или винты.

3 HOLES

Ревизии

Платы иногда меняются. Если сравнить современную плату с самыми первыми, то можно заметить небольшие изменения. Менялись микроконтроллеры и другие детали. Кроме того, китайцы и другие производители могут вносить собственные изменения. Например, на одной китайской плате я обнаружил в левом верхнем углу новые выводы SDA и SCL, которых не было на оригинальной плате, купленной несколько лет назад.

Реклама