Power
Arduino Leonardo kan forsynes med strøm via mikro-USB-forbindelsen eller med en ekstern strømforsyning. Strømkilden vælges automatisk.
Ekstern (ikke-USB) strømforsyning kan enten komme fra en AC-to-DC-adapter (wall-wart) eller et batteri. Adapteren kan tilsluttes ved at sætte et 2,1 mm center-positivt stik i kortets strømstik. Ledninger fra et batteri kan sættes ind i Gnd- og Vin-stifthovederne på POWER-stikket.
Spændingsstifterne er som følger:
- VIN. Indgangsspændingen til Arduino-kortet, når det bruger en ekstern strømkilde (i modsætning til 5 volt fra USB-forbindelsen eller en anden reguleret strømkilde). Du kan levere spænding gennem denne pin, eller, hvis du leverer spænding via strømforsyningsstikket, få adgang til den gennem denne pin.
- 5V. Den regulerede strømforsyning, der bruges til at forsyne mikrocontrolleren og andre komponenter på kortet. Den kan enten komme fra VIN via en indbygget regulator eller leveres fra USB eller en anden reguleret 5V-forsyning.
- 3V3. En 3,3 V-forsyning, der genereres af den indbyggede regulator. Maksimalt strømforbrug er 50 mA.
- GND. Jordstifter.
- IOREF. Den spænding, som i/o-stifterne på kortet fungerer ved (dvs. VCC for kortet). Dette er 5V på Leonardo.
Hukommelse
Atmega32u4 har 32 KB (med 4 KB brugt til bootloaderen). Den har også 2,5 KB SRAM og 1 KB EEPROM (som kan læses og skrives med EEPROM-biblioteket).
Input og Output
Hver af de 20 digitale i/o-stifter på Leonardo kan bruges som input eller output ved hjælp af funktionernepinMode(), digitalWrite() og digitalRead(). De fungerer ved 5 volt. Hver pin kan levere eller modtage maksimalt 40 mA og har en intern pull-up-modstand (som standard er frakoblet) på 20-50 kOhms. Desuden har nogle pins specialiserede funktioner:
- Seriel: 0 (RX) og 1 (TX). Bruges til at modtage (RX) og transmittere (TX) TTL-serielle data ved hjælp afATmega32U4-hardwareserielle kapacitet. Bemærk, at på Leonardo henviser Serial-klassen til USB (CDC)-kommunikation; for TTL-seriel på pins 0 og 1 skal du bruge Serial1-klassen.
- TWI: 2 (SDA) og 3 (SCL). Understøtter TWI-kommunikation ved hjælp af Wire-biblioteket.
- External Interrupts: 3 (afbrydelse 0), 2 (afbrydelse 1), 0 (afbrydelse 2), 1 (afbrydelse 3) og 7 (afbrydelse 4). Disse pins kan konfigureres til at udløse en interrupt ved en lav værdi, en stigende eller faldende flanke eller en ændring i værdien. Se funktionen attachInterrupt() for nærmere oplysninger.
- PWM: 3, 5, 6, 9, 10, 11 og 13. Giver 8-bit PWM-udgang med funktionen analogWrite().
- SPI: på ICSP-headeren. Disse pins understøtter SPI-kommunikation ved hjælp af SPI-biblioteket. Bemærk, at SPI-stifterne ikke er forbundet med nogen af de digitale I/O-stifter, som de er på Uno, De er kun tilgængelige på ICSP-stikket. Det betyder, at hvis du har et skjold, der bruger SPI, men IKKE har et 6-pin ICSP-stik, der tilsluttes Leonardos 6-pin ICSP-header, vil skjoldet ikke fungere.
- LED: 13. Der er en indbygget LED tilsluttet til digital pin 13. Når pin’en er HIGH-værdi, er LED’en tændt, når pin’en er LOW-værdi, er den slukket.
- Analogindgange: A0-A5, A6 – A11 (på de digitale stifter 4, 6, 8, 9, 10 og 12). Leonardo har 12 analoge indgange, mærket A0 til A11, som alle også kan bruges som digital i/o. Pins A0-A5 vises på de samme steder som på Uno; indgangene A6-A11 er på henholdsvis de digitale i/o pins 4, 6, 8, 9, 10 og 12. Hver analog indgang har en opløsning på 10 bit (dvs. 1024 forskellige værdier). Som standard måler de analoge indgange fra jord til 5 volt, men det er dog muligt at ændre den øvre ende af deres område ved hjælp af AREF-pinden og analogReference()-funktionen.
Der er et par andre pins på boardet:
- AREF. Referencespænding for de analoge indgange. Bruges sammen med analogReference().
- Reset. Bring denne linje LOW for at nulstille mikrocontrolleren. Bruges typisk til at tilføje en reset-knap til skjolde, der blokerer den på kortet.
Se også mapping mellem Arduino-pins og ATmega32u4-porte.
Kommunikation
Leonardoen har en række faciliteter til at kommunikere med en computer, en anden Arduino eller andre mikrocontrollere. ATmega32U4 giver mulighed for UART TTL (5V) seriel kommunikation, som er tilgængelig på de digitale pins 0 (RX) og 1 (TX). 32U4 giver også mulighed for seriel (CDC) kommunikation via USB og fremstår som en virtuel com-port for software på computeren. Chippen fungerer også som en USB 2.0-enhed med fuld hastighed ved hjælp af standard USB COM-drivere. På Windows kræves der en .inf-fil. Arduino-softwaren indeholder en seriel monitor, som gør det muligt at sende enkle tekstdata til og fra Arduino-kortet. RX- og TX-lysdioderne på kortet blinker, når der overføres data via USB-forbindelsen til computeren (men ikke ved seriel kommunikation på pins 0 og 1). Et SoftwareSerial-bibliotek giver mulighed for seriel kommunikation på enhver af Leonardos digitale pins. ATmega32U4 understøtter også I2C (TWI) og SPI-kommunikation. Arduino-softwaren indeholder et Wire-bibliotek til forenkling af brugen af I2C-bussen; se dokumentationen for nærmere oplysninger. For SPI-kommunikation skal du bruge SPI-biblioteket. Leonardo vises som et generisk tastatur og en mus og kan programmeres til at styre disse input-enheder ved hjælp af Keyboard- og Mouse-klasserne.
Programmering
Leonardoen kan programmeres med Arduino-softwaren (download). Vælg “Arduino Leonardo fra menuen Tools > Board menu (i henhold til mikrocontrolleren på dit board). For nærmere oplysninger, se referencen og vejledninger. ATmega32U4 på Arduino Leonardo leveres forudbrændt med en bootloader, der giver dig mulighed for at uploade ny kode til den uden brug af en ekstern hardwareprogrammør. Den kommunikerer ved hjælp af AVR109-protokollen. Du kan også omgå bootloaderen og programmere mikrocontrolleren via ICSP-headeren (In-Circuit Serial Programming) ved hjælp af Arduino ISP eller lignende; se disse instruktioner for nærmere oplysninger.
Automatisk (software)nulstilling og initiering af bootloader
I stedet for at kræve et fysisk tryk på nulstillingsknappen før en upload er Leonardo designet på en måde, der gør det muligt at nulstille den ved hjælp af software, der kører på en tilsluttet computer. Nulstillingen udløses, når Leonardos virtuelle (CDC) serielle / COM-port åbnes med 1200 baud og derefter lukkes. Når dette sker, nulstilles processoren, hvorved USB-forbindelsen til computeren afbrydes (hvilket betyder, at den virtuelle serielle / COM-port forsvinder). Efter at processoren er nulstillet, starter bootloaderen, som forbliver aktiv i ca. 8 sekunder. Bootloaderen kan også startes ved at trykke på nulstillingsknappen på Leonardo. Bemærk, at når kortet først starter op, vil det springe direkte til brugerskitsen, hvis den er til stede, i stedet for at starte bootloaderen.
På grund af den måde, Leonardo håndterer nulstilling på, er det bedst at lade Arduino-softwaren forsøge at initiere nulstillingen, før du uploader, især hvis du har for vane at trykke på nulstillingsknappen, før du uploader på andre boards. Hvis softwaren ikke kan nulstille boardet, kan du altid starte bootloaderen ved at trykke på reset-knappen på boardet.
USB-overstrømsbeskyttelse
Leonardoen har en nulstillelig polyfuse, der beskytter computerens USB-porte mod kortslutninger og overstrømsbeskyttelse. Selv om de fleste computere har deres egen interne beskyttelse, giver sikringen et ekstra beskyttelseslag. Hvis der tilføres mere end 500 mA til USB-porten, vil sikringen automatisk afbryde forbindelsen, indtil kortslutningen eller overbelastningen er fjernet.
Fysiske egenskaber
Den maksimale længde og bredde af Leonardo-printkortet er henholdsvis 2,7 og 2,1 tommer, idet USB-stikket og strømstikket strækker sig ud over den førstnævnte dimension. Fire skruehuller gør det muligt at fastgøre printkortet til en overflade eller et kabinet. Bemærk, at afstanden mellem de digitale pins 7 og 8 er 160 mil (0,16″), hvilket ikke er et lige mangefold af afstanden på 100 mil for de andre pins.