Отладочными платами называют печатные платы с микроконтроллером, специально разработанные для целей прототипирования и образования. У таких устройств нет какого-то конкретного назначения, они используются инженерами для проверки работоспособности различных схем.
Пожалуй, самая популярная отладочная плата — это Arduino Uno и её различные модификации. Что же в ней такого особенного, что каждый любитель знает о ней?
Во-первых, сама плата разработана как законченное устройство. Чтобы начать с ней работать достаточно подключить её к обычному USB порту компьютера. Никаких программаторов не требуется.
Во-вторых, кроме самой платы Arduino её разработчики создали ещё и очень доступную среду разработки — Arduino IDE. Вместе: плата и среда, позволяют программировать микроконтроллер даже человеку без специального технического образования! Это большое достижение в области популяризации микроэлектроники, за что разработчикам следует выразить огромную благодарность.
В-третьих, с момента создания этой платы в далёком 2010 году в интернете накопилось бескрайнее море примеров кода, различных проектов и обсуждений. С таким объёмом информации делать новые проекты становится гораздо легче.
Из чего состоит Arduino Uno?
Самым главным элементом отладочной платы безусловно является микроконтроллер. В разных версиях Arduino Uno применяется МК Atmega328 разных модификаций (p-pu, p-au). В случае использования микросхемы в выводном DIP корпусе на плате устанавливается специальный сокет (кроватка), которая позволяет вытащить микроконтроллер из платы, например, в случае его повреждения.
USB-UART — второй по важности элемент, который нужен для того, чтобы можно было загружать программы через обычный USB-порт. В оригинальной версии платы в качестве моста используется другой, более простой микроконтроллер из семейства Atmega. А вот в аналогичных платах часто применяют специализированную микросхему, например, CH340.
Разъём USB — применяется для подключения платы к компьютеру с помощью USB кабеля. В разных версиях этот разъём может быть разным: USB-B (как у принтера), Mini-USB, Micro-USB, Type-C.
Контакты GPIO. Все важные контакты микроконтроллера выведены в разъёмы по бокам платы. Шаг разъёмов — 2,54 мм. К этим разъёмам удобно подключать вилку типа Dupont.
Разъём питания 5.5/2.1 служит для подключения источников питания с напряжением от 6 до 12 В.
На плате имеется также несколько светодиодных индикаторов:
- индикатор питания — зажигается когда на плату подаётся питание;
- индикатор D13 — подключен к GPIO контакту D13 и может управляться программой;
- индикаторы состояния передачи данных по UART.
Кнопка сброса позволяет перезагрузить микроконтроллер и запустить выполнение программы с начала.
Микроконтроллер Atmega328
На оригинальной плате Arduino Uno R3 установлен микроконтроллер Atmega328p-pu. Данная модификация микросхемы имеет выводной корпус DIP-28.
Характеристики Atmega328
- напряжение питания: 5 В;
- макс. ток на выводах: 20 мА;
- макс. ток на линии 3,3В: 30 мА;
- ПЗУ Flash: 32 Кб (0.5 Кб занимает загрузчик);
- ПЗУ EEPROM: 1 Кб;
- ОЗУ: 2 Кб;
- тактовая частота: 16 МГц;
- размеры: 68,6 x 53,4 мм.
Периферия
- цифровых входов/выходов (GPIO): 14;
- ШИМ выходов: 6;
- аналоговых входов: 6;
- интерфейс UART: 1;
- интерфейс I2C: 1;
- интерфейс SPI: 1.
Схема контактов Arduino Uno
На отладочной плате имеется два ряда контактов для питания и для подключения различных электронных устройств. На схеме разные функции контактов обозначены разным цветом.
- Чёрный — общий контакт, он же — земля;
- Красный — питание;
- Желтый — служебные функции, например, сброс;
- Тёмно-серый — номер контакта на микросхеме;
- Светло-жёлтый — порты микроконтроллера;
- Белый — функции низкого уровня (таймеры, прерывания);
- Светло-серый — номер контакта в среде Arduino IDE;
- Зелёный — аналоговые входы/выходы;
- Розовый — выходы ШИМ;
- Голубой — последовательные интерфейсы (I2C, UART, SPI);
- Коричневый — номер контакта в среде Arduino IDE.
Платы-аналоги Arduino UNO
Сегодня имеется множество плат совместимых с Arduino UNO. Например, UNO2 от RobotClass или RedBoard от Sparkfun:
Платы могут отличаться различными дополнительными функциями, но основные возможности и расположение контактов в них, как правило совпадают.
Например, у платы UNO2 от RobotClass для связи с компьютером используется более современный разъём USB Type-C. Добавлен разъём QIIC для быстрого подключения устройств, работающих по шине I2C.
Первый опыт
Напишем для Arduino Uno первую программу, которая будет всего на всего мигать встроенным светодиодом на контакте D13.
Используем среду разработки Arduino IDE. Как её установить и использовать читаем в нашей инструкции:
Открываем среду и выбираем в списке доступных плат — Arduino Uno. Также выбираем доступный COM-порт, который ей назначил Windows.
Далее в текстовом редакторе пишем исходный код нашей программы:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
Жмём в редакторе кнопку «Загрузить на плату». После завершения загрузки светодиод D13 начнёт мигать с периодом 1 секунда.