Arduino Leonardo — это плата схожая по характеристикам с Arduino Uno, но с несколько отличающимся микроконтроллером и его обвязкой.
В качестве микроконтроллера используется ATmega32u4. Он же используется и в качестве USB-UART преобразователя для прошивки. Этим Arduino Leonardo выделяется среди остальных плат Arduino, где для коммуникации используется дополнительный микроконтроллер. Это имеет следующие последствия:
- Arduino Leonardo смотрит в сторону USB через виртуальный serial-порт, не через аппаратный. Это означает, что 0-й и 1-й контакты аппаратного порта остаются свободными и вы можете использовать их одновременно с коммуникацией с компьютером. Виртуальный serial-порт доступен через класс Serial, а аппаратный — через класс Serial1.
- При сбросе микроконтроллера его соединение с компьютером теряется и поднимается заново. Это усложняет процесс прошивки, но не должно являться особой проблемой, т.к. Arduino IDE поддерживает этот процесс.
- При открытии serial-соединения с компьютера загруженный скетч не перезагружается. Это означает, что если вы отсылаете данные по serial до реального открытия соединения, они уйдут в никуда и вы не сможете их увидеть.
- С точки зрения компьютера Arduino 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.
Если вы новичок и сомневаетесь в выборе между Arduino Leonardo и Arduino Uno — берите Arduino Uno, с ним проще работать, а уровень совместимости с другими железками выше.
Сравнительная таблица
|
Uno
|
Leonardo
|
|
Микроконтроллер
|
ATmega328p
|
ATmega32u4
|
|
Количество цифровых входов/выходов
|
20
|
20
|
|
…из них ШИМ поддерживают
|
6
|
7
|
|
Количество аналоговых входов
|
6
|
12
|
|
Количество контактов для аппаратного прерывания
|
2
|
5
|
|
Объём Flash-памяти (кБ)
|
32
|
32
|
|
Объём SRAM-памяти (кБ)
|
2
|
2,5
|
|
Объём EEPROM-памяти (кБ)
|
1
|
1
|
|
Тактовая частота (МГц)
|
16
|
16
|
|
Количество аппаратных serial-портов
|
1
|
1
|
|
USB-разъём
|
Type B
|
micro-USB
|
|
Архивная модель |
Нет |
Цена от |
Нет |