Плата разработчика ATMega32U4 (Leonardo)
Arduino Leonardo имеет стандартный набор контактов и интерфейсов, характерный для всех контроллеров ATmega32u4: 20 цифровых портов общего пользования (GPIO) (7 из которых могут использоваться как выходы ШИМ и 12 как аналоговые входы), кварцевый генератор на 16 МГц, разъем микро-USB, силовой разъем, разъем ICSP и кнопку перезагрузки.
Питание платы может осуществляться как от USB, так и от внешнего блока питания (9/12B). Рабочее напряжение всех цифровых контактов входа-выхода составляет 5B.
Leonardo — это плата схожая по характеристикам с Uno, но с несколько отличающимся микроконтроллером и его обвязкой.
В качестве микроконтроллера используется ATmega32U4 Он же используется и в качестве USB-UART преобразователя для прошивки. Этим Leonardo выделяется среди остальных плат, где для коммуникации используется дополнительный микроконтроллер. Это имеет следующие последствия:
- Leonardo смотрит в сторону USB через виртуальный serial-порт, не через аппаратный. Это означает, что 0-й и 1-й контакты аппаратного порта остаются свободными и вы можете использовать их одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через класс Serial, а аппаратный — через класс Serial1.
- При сбросе микроконтроллера его соединение с компьютером теряется и поднимается заново. Это усложняет процесс прошивки, но не должно являться особой проблемой, т.к. Arduino IDE поддерживает этот процесс.
- При открытии serial-соединения с компьютера загруженный скетч не перезагружается. Это означает, что если вы отсылаете данные по serial до реального открытия соединения, они уйдут в никуда и вы не сможете их увидеть.
- С точки зрения компьютера Leonardo является HID устройством (вроде клавиатуры или мыши), поэтому сделать на основе Arduino Leonardo новый компьютерный эмулятор проще, чем с другими платами
Кроме того, в сравнении с Arduino Uno есть различия в распиновке:
- SPI-интерфейс присутствует только на ICSP-контактах и не продублирован на цифровых контактах. Это означает, что если плата расширения использует SPI и не имеет снизу ICSP-разъёма ответного к этим штырькам на Arduino, она работать не будет.
- TWI / I²C контакты номинально находятся на контактах 2 (SDA) и 3 (SCL). Это означает, что если плата расширения работает через TWI и для коммуникации использует не специальные TWI-контакты, появившиеся начиная с версий плат Rev 3, а напрямую контакты A4 и A5, она работать не будет.
- Контакты 4, 6, 8, 9, 10 и 12 подключены к АЦП, а следовательно могут быть использованы как аналоговые входы (A6-A11) в дополнение к обычным A0-A5
По габаритам и допустимому вольтажу плата идентична Arduino Uno.