Arduino – ArduinoBoardLeonardo
Arduino Leonardo kan strömförsörjas via mikro-USB-anslutningen eller med en extern strömförsörjning. Strömkällan väljs automatiskt.
Extern (icke-USB) strömförsörjning kan komma antingen från en AC-to-DC-adapter (wall-wart) eller ett batteri. Adaptern kan anslutas genom att sätta in en 2,1 mm centerpositiv kontakt i kortets strömuttag. Ledningar från ett batteri kan sättas in i stifthuvudena Gnd och Vin på POWER-kontakten.
Strömstiften är följande:
- VIN. Ingångsspänningen till Arduinokortet när det använder en extern strömkälla (i motsats till 5 volt från USB-anslutningen eller annan reglerad strömkälla). Du kan leverera spänning via den här pinnen, eller, om du levererar spänning via strömuttaget, få tillgång till den via den här pinnen.
- 5V. Den reglerade strömförsörjningen som används för att driva mikrokontrollern och andra komponenter på kortet. Detta kan antingen komma från VIN via en inbyggd regulator, eller levereras från USB eller en annan reglerad 5V-försörjning.
- 3V3. En 3,3-voltsförsörjning som genereras av den inbyggda regulatorn. Maximalt strömuttag är 50 mA.
- GND. Jordstift.
- IOREF. Den spänning vid vilken kortets i/o-stift fungerar (dvs. VCC för kortet). Detta är 5V på Leonardo.
Atmega32u4 har 32 KB (varav 4 KB används för bootloadern). Den har också 2,5 KB SRAM och 1 KB EEPROM (som kan läsas och skrivas med EEPROM-biblioteket).
Var och en av de 20 digitala i/o-stiften på Leonardo kan användas som input eller output med hjälp av funktionerna pinMode(), digitalWrite() och digitalRead(). De arbetar vid 5 volt. Varje stift kan ge eller ta emot högst 40 mA och har ett internt pull-up-motstånd (bortkopplat som standard) på 20-50 kOhms. Dessutom har vissa stift specialiserade funktioner:
- Seriell: 0 (RX) och 1 (TX). Används för att ta emot (RX) och sända (TX) TTL-seriella data med hjälp av ATmega32U4:s seriella maskinvarufunktion. Observera att på Leonardo hänvisar Serial-klassen till USB-kommunikation (CDC); för TTL-seriell kommunikation på stift 0 och 1, använd Serial1-klassen.
- TWI: 2 (SDA) och 3 (SCL). Stöd för TWI-kommunikation med hjälp av biblioteket Wire.
- Externa avbrott: 3 (avbrott 0), 2 (avbrott 1), 0 (avbrott 2), 1 (avbrott 3) och 7 (avbrott 4). Dessa stift kan konfigureras för att utlösa ett avbrott vid ett lågt värde, en stigande eller fallande flank eller en värdeförändring. Se funktionen attachInterrupt() för mer information.
- PWM: 3, 5, 6, 9, 10, 11 och 13. Tillhandahåller 8-bitars PWM-utgång med funktionen analogWrite().
- SPI: på ICSP-huvudet. Dessa stift stöder SPI-kommunikation med hjälp av SPI-biblioteket. Observera att SPI-stiften inte är anslutna till några av de digitala I/O-stiften som de är på Uno, de är endast tillgängliga på ICSP-kontakten. Detta innebär att om du har en sköld som använder SPI, men som INTE har en 6-polig ICSP-kontakt som ansluts till Leonardos 6-poliga ICSP-huvud, kommer skölden inte att fungera.
- LED: 13. Det finns en inbyggd lysdiod som är ansluten till digital stift 13. När stiftets värde är HIGH är lysdioden på, när stiftets värde är LOW är den avstängd.
- Analoga ingångar: A0-A5, A6 – A11 (på de digitala stiften 4, 6, 8, 9, 10 och 12). Leonardo har 12 analoga ingångar, märkta A0 till A11, som alla också kan användas som digitala ingångar. Pins A0-A5 visas på samma platser som på Uno; ingångarna A6-A11 finns på de digitala i/o-pins 4, 6, 8, 9, 10 och 12. Varje analog ingång har en upplösning på 10 bitar (dvs. 1024 olika värden). Som standard mäter de analoga ingångarna från jord till 5 volt, men det är möjligt att ändra den övre delen av deras intervall med hjälp av AREF-stiftet och funktionen analogReference().
Det finns ett par andra stift på kortet:
- AREF. Referensspänning för de analoga ingångarna. Används med analogReference().
- Reset. Sätt den här linjen på LOW för att återställa mikrokontrollern. Används vanligtvis för att lägga till en återställningsknapp till sköldar som blockerar den som finns på kortet.
Se även mappningen mellan Arduino-stift och ATmega32u4-portar.
Leonardo har ett antal möjligheter att kommunicera med en dator, en annan Arduino eller andra mikrokontroller. ATmega32U4 tillhandahåller UART TTL (5V) seriell kommunikation, som är tillgänglig på de digitala stiften 0 (RX) och 1 (TX). 32U4 möjliggör också seriell (CDC) kommunikation via USB och visas som en virtuell com-port för programvaran på datorn. Chipet fungerar också som en USB 2.0-enhet med full hastighet, med hjälp av vanliga USB COM-drivrutiner. På Windows krävs en .inf-fil. Arduino-programvaran innehåller en seriemonitor som gör det möjligt att skicka enkla textdata till och från Arduinokortet. Lysdioderna RX och TX på kortet blinkar när data överförs via USB-anslutningen till datorn (men inte för seriell kommunikation på stift 0 och 1). Ett SoftwareSerial-bibliotek möjliggör seriell kommunikation på någon av Leonardos digitala stift. ATmega32U4 stöder också I2C (TWI) och SPI-kommunikation. Arduino-mjukvaran innehåller ett Wire-bibliotek för att förenkla användningen av I2C-bussen; se dokumentationen för mer information. För SPI-kommunikation använder du SPI-biblioteket. Leonardo visas som ett generiskt tangentbord och en mus och kan programmeras för att styra dessa inmatningsenheter med hjälp av klasserna Keyboard och Mouse.
Leonardo kan programmeras med programvaran Arduino (nedladdning). Välj ”Arduino Leonardo” i menyn Tools > Board (beroende på vilken mikrokontroller som finns på ditt kort). För detaljer, se referens och handledningar. ATmega32U4 på Arduino Leonardo levereras förbränd med en bootloader som gör att du kan ladda upp ny kod till den utan att använda en extern hårdvaruprogrammerare. Den kommunicerar med hjälp av AVR109-protokollet. Du kan också kringgå bootloadern och programmera mikrokontrollern via ICSP-huvudet (In-Circuit Serial Programming) med hjälp av Arduino ISP eller liknande; se dessa instruktioner för mer information.
I stället för att kräva ett fysiskt tryck på återställningsknappen före en uppladdning är Leonardo konstruerad på ett sätt som gör att den kan återställas med hjälp av mjukvara som körs på en ansluten dator. Återställningen utlöses när Leonardos virtuella (CDC) seriella / COM-port öppnas med 1200 baud och sedan stängs. När detta sker återställs processorn och USB-anslutningen till datorn bryts (vilket innebär att den virtuella seriella/kom-porten försvinner). Efter att processorn har återställts startar bootloadern och förblir aktiv i cirka 8 sekunder. Bootloadern kan också startas genom att trycka på återställningsknappen på Leonardo. Observera att när kortet först startar kommer det att hoppa direkt till användarskissen, om den finns, i stället för att initiera starthanteraren.
På grund av Leonardos sätt att hantera återställning är det bäst att låta Arduino-programvaran försöka initiera återställningen innan du laddar upp, särskilt om du har för vana att trycka på återställningsknappen innan du laddar upp på andra kort. Om programvaran inte kan återställa kortet kan du alltid starta bootloadern genom att trycka på återställningsknappen på kortet.
Leonardo har en återställbar polyfuse som skyddar datorns USB-portar från kortslutningar och överström. Även om de flesta datorer har sitt eget interna skydd ger säkringen ett extra skyddslager. Om mer än 500 mA tillförs USB-porten bryter säkringen automatiskt anslutningen tills kortslutningen eller överbelastningen har avlägsnats.
Den maximala längden och bredden på Leonardo-kretskortet är 2,7 respektive 2,1 tum, med USB-kontakten och strömuttaget som sträcker sig utanför den förstnämnda dimensionen. Fyra skruvhål gör det möjligt att fästa kretskortet på en yta eller ett hölje. Observera att avståndet mellan de digitala stiften 7 och 8 är 160 mil (0,16 tum), vilket inte är en jämn multipel av avståndet på 100 mil för de andra stiften.