Платки Леонардо Ардуино

леонардо
платки
Arduino Leonardo с конектори - изглед отпредArduino Leonardo - изглед отзад
платки
Arduino Leonardo без конектори - изглед отпред

Главна информация

Arduino Leonardo е устройство, базирано на микроконтролера ATmega32U4 (лист с данни). Той включва всичко необходимо за работа с този микроконтролер: 20 цифрови входа / изхода (7 от които могат да работят като PWM изходи, 12 като аналогови входове), 16 MHz кристален резонатор, микро-USB конектор, конектор за захранване, ICSP (In-Circuit Serial Programming) конектор и бутон за нулиране. За да започнете с Leonardo, просто включете AC / DC адаптера или батерията или го свържете към компютър чрез USB кабел.

Leonardo се различава от всички предишни платки по това, че неговият USB контролер е вграден директно в микроконтролера ATmega32U4, което елиминира нуждата от допълнителен процесор. Поради това, когато е свързан към компютър, Leonardo може да се определи не само като виртуален (CDC) COM порт, но и като обикновена мишка или клавиатура. В допълнение, тази архитектура също влияе върху поведението на дъската; вижте страницата Първи стъпки за повече информация.

Характеристики:

микроконтролерATmega32u4
Работно напрежение5V
Захранващо напрежение (препоръчително)7-12V
Захранващо напрежение (лимит)6-20V
Цифрови входове/изходи20
ШИМ канали7
Аналогови входове12
Максимален ток на един изход40 mA
Максимален изходен ток 3.3V50 mA
Флаш памет32 KB (ATmega32u4), от които 4 KB се използват от буутлоудъра
SRAM2,5 KB (ATmega32u4)
EEPROM1 KB (ATmega32u4)
Тактова честота16 MHz

Схема и оригинален проект

Arduino Leonardo може да се захранва от micro USB или от външен източник на захранване - типът източник се избира автоматично.

Външен AC/DC адаптер или батерия/батерия може да се използва като външен източник на захранване (не USB). Щепселът на адаптера (диаметър - 2,1 мм, централен щифт - положителен) трябва да бъде поставен в съответния захранващ конектор на платката. В случай на захранване от батерия/батерия, нейните проводници трябва да бъдат свързани към клемите Gnd и Vin на конектора POWER.

Напрежението на външното захранване може да бъде в диапазона от 6 до 20 V. Въпреки това, намаляването на захранващото напрежение под 7V води до намаляване на напрежението на 5V извода, което може да доведе до нестабилност на устройството. Използването на напрежение над 12V може да доведе до прегряване на регулатора на напрежението и повреда на платката. Като се има предвид това, препоръчително е да се използва захранване с напрежение в диапазона от 7 до 12V.

Следните са захранващите щифтове, разположени на платката:

  • VIN. Напрежение, подавано към Arduino директно от външно захранване (не е свързано с 5V от USB или друго регулирано напрежение). Чрез този изход можете едновременно да доставяте външно захранване и да консумирате ток, ако устройството се захранва от външен адаптер.
  • 5V. Стабилизирано напрежение от 5V, захранващо микроконтролера и други компоненти на платката. Може да действа каторегулатор на напрежение VIN, и от USB или друг стабилизиран 5V източник.
  • 3V3. 3.3V идва от регулатора на напрежението на платката. Максималният изходен ток, изтеглен от този щифт, е 50 mA.
  • GND. Заземяващи щифтове.
  • IOREF. Работно напрежение на цифровите входове/изходи на платката (еквивалентно на VCC напрежение на платката). В Леонардо това напрежение е 5V.

Размерът на програмната памет в микроконтролера ATmega32U4 е 32 KB (от които 4 KB са запазени за буутлоудъра). Освен това има 2,5 KB SRAM и 1 KB EEPROM (за взаимодействие с които се използва EEPROM библиотеката).

Входове и изходи

Използвайки функциите pinMode(), digitalWrite() и digitalRead(), всеки от 20-те цифрови пина може да се използва като вход или изход. Работното напрежение на изходите е 5V. Максималният ток, който един изход може да достави или консумира, е 40 mA. Всички щифтове са сдвоени с вътрешни издърпващи резистори (деактивирани по подразбиране) от 20-50 kΩ. В допълнение към основните, някои щифтове на Arduino могат да изпълняват допълнителни функции:

  • Сериен интерфейс: щифтове 0 (RX) и 1 (TX). Използва се за получаване (RX) и предаване (TX) на серийни данни чрез хардуерния трансивър, вграден в ATmega32U4. Обърнете внимание, че в Arduino Leonardo класътSerial отговаря за прехвърлянето на данни през USB (CDC) връзката; за да прехвърлите данни през пинове 0 и 1, трябва да използвате класаSerial1.
  • TWI: Изводи 2 (SDA) и 3 (SCL). Използвайки библиотеката Wire, тези изводи могат да комуникират през TWI интерфейса.
  • Външни прекъсвания: щифтове 3(прекъсване 0), 2 (прекъсване 1), 0 (прекъсване 2), 1 (прекъсване 3) и 7 (прекъсване 4). Тези щифтове могат да бъдат конфигурирани като източници на прекъсване за различни условия: ниско, нарастващо, спадащо или променящо се. Вижте функцията attachInterrupt() за повече информация.
  • ШИМ: Пинове 3, 5, 6, 9, 10, 11 и 13. С функцията analogWrite(), 8-битови аналогови стойности могат да бъдат изведени като ШИМ сигнал.
  • SPI интерфейс: ICSP заглавни щифтове. Използвайки SPI библиотеката, тези щифтове позволяват SPI комуникация. Моля, имайте предвид, че SPI линиите се насочват само към ICSP хедъра и не са свързани към щифтовете на платката, както при Arduino Uno. Следователно, онези SPI разширителни платки, които нямат 6-пинов ICSP конектор за свързване към Leonardo, няма да работят.
  • LED: щифт 13. Вграден светодиод, свързан към щифт 13. Когато се изпрати HIGH, светодиодът се включва, когато се изпрати LOW, той се изключва.
  • Аналогови входове: A0 - A5, A6 - A11 (на цифрови пинове 4, 6, 8, 9, 10 и 12). Arduino Leonardo има 12 аналогови входа (A0 - A11), всеки от които може да се използва като нормален цифров изход. Аналоговите входове A0 - A5 са разположени по същия начин, както на Arduino Uno; и входове A6 - A11 - съответно на цифрови изводи 4, 6, 8, 9, 10 и 12. Всеки от входовете може да представи аналоговото напрежение като 10-битово число (1024 различни стойности). По подразбиране измерването на напрежението е спрямо диапазона от 0 до 5 V. Горната граница на този диапазон обаче може да бъде променена с помощта на щифта AREF и функцията analogReference().

В допълнение към изброените на таблото има още няколкоизводи:

  • AREF. Референтно напрежение за аналогови входове. Може да се използва с функцията analogReference().
  • Нулиране. Образуването на ниско ниво (LOW) на този щифт ще нулира микроконтролера. Обикновено този щифт се използва за работа с бутона за нулиране на разширителни платки.

Arduino Leonardo предоставя редица опции за комуникация с компютър, друг Arduino или други микроконтролери. ATmega32U4 има UART трансивър, който позволява серийна комуникация чрез цифрови пинове 0 (RX) и 1 (TX). Микроконтролерът 32U4 поддържа серийна (CDC) комуникация чрез USB и, когато е свързан към компютър, може да бъде дефиниран като виртуален COM порт. В същото време микросхемата използва стандартни USB-COM драйвери и може да работи в режим USB 2.0 Full Speed ​​​​. На платформата Windows е необходим само съответният .inf файл. Софтуерният пакет Arduino включва специална програма, която ви позволява да четете и изпращате прости текстови данни към Arduino. Когато прехвърляте данни към компютър чрез USB, светодиодите RX и TX на платката ще мигат. (Серийната комуникация чрез пинове 0 и 1 не свети тези светодиоди.)

Библиотеката SoftwareSerial ви позволява да реализирате серийна комуникация на всякакви цифрови пинове на Leonardo.

Микроконтролерът ATmega32U4 също поддържа I2C (TWI) и SPI серийни интерфейси. Софтуерът Arduino включва библиотеката Wire, която улеснява работата с I2C шината; вижте документацията за повече подробности. За да работите със SPI интерфейса, използвайте SPI библиотеката.

Леонардо може да се определи като нормална клавиатура илимишка и с помощта на библиотеките за клавиатура и мишка могат да бъдат програмирани да управляват тези входни устройства.

Програмиране

Arduino Leonardo се програмира с помощта на софтуера Arduino (изтегляне). За да направите това, от менютоИнструменти > Board трябва да изберете "Arduino Leonardo" с микроконтролера, който отговаря на вашата платка. Вижте помощ и примери за повече информация.

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

Въпреки това, микроконтролерът може да бъде флашнат и през ICSP (In-Circuit Serial Programming) конектор, без да се обръща внимание на буутлоудъра; вижте съответните инструкции за повече подробности.

Автоматично (софтуерно) нулиране и стартиране на буутлоудъра

За да се избегне необходимостта от натискане на бутона за нулиране всеки път преди изтегляне на програмата, Leonardo е проектиран по такъв начин, че да може да се нулира програмно от свързан компютър. Нулирането се задейства след затваряне на виртуалния COM порт, който преди това е бил отворен при 1200 бода. Когато това условие се задейства, процесорът ще се нулира, прекъсвайки USB връзката с компютъра (и виртуалният COM порт ще изчезне). След рестартиране на процесора стартира буутлоудъра, като остава активен за около 8 секунди. Освен това можете да стартирате буутлоудъра, като натиснете бутона за нулиране на платката на Leonardo. Моля, имайте предвид, че когато за първи път включите устройството, вместо да стартира буутлоудъра, контролерът незабавно ще премине към изпълнение на потребителската програма (ако има такава).

Поради особеностите на механизма за нулиране на Leonardo, се препоръчва на софтуера Arduino да се даде възможност за нулиране, преди да изтеглите програмата, особено ако сте свикнали да натискате бутона за нулиране, когато флашвате други платки. Ако софтуерът не успее да нулира устройството, винаги можете да стартирате буутлоудъра, като натиснете ръчно бутона за нулиране.

USB защита от претоварване

Arduino Leonardo има възстановими предпазители, които предпазват USB порта на компютъра от късо съединение и претоварване. Въпреки че повечето компютри имат собствена защита, тези предпазители осигуряват допълнителен слой защита. Ако повече от 500 mA се изтеглят от USB порта, предпазителят автоматично ще прекъсне връзката, докато причината за късото съединение или претоварването не бъде коригирана.

физически характеристики

Максималната дължина и ширина на печатната платка на Leonardo са съответно 6,9 см и 5,4 см, включително USB конектора и конектора за захранване, стърчащи от платката. Четирите монтажни отвора ви позволяват да прикрепите платката към повърхност или шаси. Имайте предвид, че разстоянието между цифровите щифтове 7 и 8 не е кратно на традиционните 2,54 mm и е 4 mm.