Arduino – ArduinoBoardLeonardo

Virta

Arduino Leonardon virransyöttö voi tapahtua mikro-USB-liitännän kautta tai ulkoisella virtalähteellä. Virtalähde valitaan automaattisesti.
Ulkoinen (ei-USB) virtalähde voi tulla joko AC-DC-sovittimesta (wall-wart) tai akusta. Sovitin voidaan kytkeä kytkemällä 2,1 mm:n keskipakopistoke piirilevyn virtaliittimeen. Paristosta tulevat johdot voidaan liittää POWER-liittimen Gnd- ja Vin-nastapäätteisiin.
Virtaliittimen nastat ovat seuraavat:

  • VIN. Arduino-levyn tulojännite, kun se käyttää ulkoista virtalähdettä (toisin kuin 5 volttia USB-liitännästä tai muusta säännellystä virtalähteestä). Voit syöttää jännitteen tämän nastan kautta, tai jos syötät jännitteen virtaliittimen kautta, käytä sitä tämän nastan kautta.
  • 5V. Säädelty virtalähde, jota käytetään mikrokontrollerin ja muiden piirilevyn komponenttien virransyöttöön. Tämä voi tulla joko VIN:stä piirilevyllä olevan säätimen kautta tai se voidaan syöttää USB:stä tai muusta säännellystä 5V:n syötöstä.
  • 3V3. Sisäänrakennetun säätimen tuottama 3,3 voltin syöttö. Suurin virrankulutus on 50 mA.
  • GND. Maadoitusnastat.
  • IOREF. Jännite, jolla piirilevyn i/o-nastat toimivat (eli piirilevyn VCC). Tämä on Leonardossa 5V.

Muisti

ATmega32u4:ssä on 32 KB (josta 4 KB käytetään bootloaderia varten). Siinä on myös 2,5 KB SRAM-muistia ja 1 KB EEPROM-muistia (jota voidaan lukea ja kirjoittaa EEPROM-kirjastolla).

Tulo ja lähtö

Jokaista Leonardon 20:stä digitaalisesta i/o-nastasta voidaan käyttää tulona tai lähtönä pinMode()-, digitalWrite()- ja digitalRead()-funktioiden avulla. Ne toimivat 5 voltin jännitteellä. Jokainen tappi voi antaa tai vastaanottaa enintään 40 mA:n virran, ja siinä on sisäinen 20-50 kOhmin pull-up-vastus (oletusarvoisesti kytketty pois päältä). Lisäksi joillakin nastoilla on erikoistoimintoja:

  • Sarj: 0 (RX) ja 1 (TX). Käytetään TTL-sarjadatan vastaanottamiseen (RX) ja lähettämiseen (TX) ATmega32U4:n laitteiston sarjavalmiuden avulla. Huomaa, että Leonardossa Serial-luokka viittaa USB (CDC) -tiedonsiirtoon; nastojen 0 ja 1 TTL-sarjaliikenteeseen käytä Serial1-luokkaa.
  • TWI: 2 (SDA) ja 3 (SCL). Tue TWI-viestintää Wire-kirjaston avulla.
  • Ulkoiset keskeytykset: 3 (keskeytys 0), 2 (keskeytys 1), 0 (keskeytys 2), 1 (keskeytys 3) ja 7 (keskeytys 4). Nämä nastat voidaan konfiguroida laukaisemaan keskeytys matalasta arvosta, nousevasta tai laskevasta reunasta tai arvon muutoksesta. Katso lisätietoja attachInterrupt()-funktiosta.
  • PWM: 3, 5, 6, 9, 10, 11 ja 13. Tarjoa 8-bittinen PWM-ulostulo analogWrite()-funktiolla.
  • SPI: ICSP-otsakkeessa. Nämä nastat tukevat SPI-viestintää SPI-kirjaston avulla. Huomaa, että SPI-nastoja ei ole kytketty mihinkään digitaalisiin I/O-nastoihin, kuten ne ovat Unossa, Ne ovat käytettävissä vain ICSP-liittimessä. Tämä tarkoittaa, että jos sinulla on kilpi, joka käyttää SPI:tä, mutta jossa EI ole 6-nastaista ICSP-liitintä, joka liitetään Leonardon 6-nastaiseen ICSP-otsakkeeseen, kilpi ei toimi.
  • LED: 13. Digitaaliseen nastaan 13 on kytketty sisäänrakennettu LED. Kun nasta on HIGH-arvossa, LED on päällä, kun nasta on LOW, se on pois päältä.
  • Analogiset tulot: A0-A5, A6 – A11 (digitaalisissa nastoissa 4, 6, 8, 9, 10 ja 12). Leonardossa on 12 analogista tuloa, jotka on merkitty A0 – A11, ja joita kaikkia voidaan käyttää myös digitaalisena i/o:na. Nastat A0-A5 ovat samoissa paikoissa kuin Unossa; tulot A6-A11 ovat digitaalisissa i/o-nastoissa 4, 6, 8, 9, 10 ja 12. Kukin analoginen tulo tarjoaa 10 bitin resoluution (eli 1024 eri arvoa). Oletusarvoisesti analogiset tulot mittaavat maasta 5 volttiin, mutta niiden ylärajaa on mahdollista muuttaa käyttämällä AREF-nastaa ja analogReference()-funktiota.

Levyllä on pari muutakin nastaa:

  • AREF. Vertailujännite analogiatuloille. Käytetään analogReference()-funktion kanssa.
  • Reset. Tuo tämä linja LOW nollataksesi mikrokontrollerin. Käytetään tyypillisesti reset-painikkeen lisäämiseen kilviin, jotka estävät piirilevyllä olevan reset-painikkeen.

Katso myös Arduinon nastojen ja ATmega32u4-porttien välinen kartoitus.

Kommunikaatio

Leonardossa on useita mahdollisuuksia kommunikoida tietokoneen, toisen Arduinon tai muiden mikrokontrollerien kanssa. ATmega32U4 tarjoaa UART TTL (5V) sarjaliikennettä, joka on käytettävissä digitaalisilla nastoilla 0 (RX) ja 1 (TX). 32U4 mahdollistaa myös sarjaliikenteen (CDC) USB:n kautta, ja se näkyy virtuaalisena com-porttina tietokoneen ohjelmistolle. Siru toimii myös täysnopeana USB 2.0 -laitteena käyttäen tavallisia USB COM -ajureita. Windowsissa tarvitaan .inf-tiedosto. Arduino-ohjelmisto sisältää sarjamonitorin, jonka avulla voidaan lähettää yksinkertaista tekstimuotoista dataa Arduino-piirille ja Arduino-piiriltä. Piirilevyn RX- ja TX-ledit vilkkuvat, kun tietoja lähetetään USB-yhteyden kautta tietokoneeseen (mutta ei sarjaliikenteessä nastoilla 0 ja 1). SoftwareSerial-kirjasto mahdollistaa sarjaliikenteen kaikilla Leonardon digitaalisilla nastoilla. ATmega32U4 tukee myös I2C- (TWI) ja SPI-viestintää. Arduino-ohjelmisto sisältää Wire-kirjaston, joka helpottaa I2C-väylän käyttöä; katso lisätietoja dokumentaatiosta. SPI-viestintää varten käytä SPI-kirjastoa. Leonardo näkyy yleisenä näppäimistönä ja hiirenä, ja se voidaan ohjelmoida ohjaamaan näitä syöttölaitteita Keyboard- ja Mouse-luokkien avulla.

Ohjelmointi

Leonardoa voidaan ohjelmoida Arduino-ohjelmistolla (lataa). Valitse ”Arduino Leonardo Työkalut > Board-valikosta (boardin mikrokontrollerin mukaan). Katso lisätietoja viitteestä ja opetusohjelmista. Arduino Leonardon ATmega32U4:n mukana tulee valmiiksi bootloader, jonka avulla voit ladata siihen uutta koodia ilman ulkoista laiteohjelmoijaa. Se kommunikoi AVR109-protokollaa käyttäen. Voit myös ohittaa käynnistyslataajan ja ohjelmoida mikrokontrollerin ICSP (In-Circuit Serial Programming) -otsikon kautta käyttämällä Arduino ISP:tä tai vastaavaa; katso lisätietoja näistä ohjeista.

Automaattinen (ohjelmisto-)nollaus ja käynnistyslataimen käynnistys

Sen sijaan, että Leonardon resetointipainiketta pitäisi painaa fyysisesti ennen latausta, se on suunniteltu siten, että se voidaan nollata kytketyllä tietokoneella toimivalla ohjelmistolla. Nollaus käynnistyy, kun Leonardon virtuaalinen (CDC) sarja-/COM-portti avataan 1200 baudin nopeudella ja suljetaan. Tällöin prosessori nollautuu, jolloin USB-yhteys tietokoneeseen katkeaa (eli virtuaalinen sarja-/COM-portti katoaa). Kun prosessori on nollattu, käynnistyslatausohjelma käynnistyy ja pysyy aktiivisena noin 8 sekuntia. Käynnistyslataus voidaan käynnistää myös painamalla Leonardon reset-painiketta. Huomaa, että kun piirilevy käynnistyy ensimmäisen kerran, se hyppää suoraan käyttäjän luonnokseen, jos sellainen on, eikä käynnistä käynnistyslatausta.
Koska Leonardo käsittelee resetointia, on parasta antaa Arduino-ohjelmiston yrittää käynnistää resetointi ennen latausta, varsinkin jos sinulla on tapana painaa resetointipainiketta ennen latausta muilla levyillä. Jos ohjelmisto ei pysty nollaamaan piirilevyä, voit aina käynnistää käynnistyslatauksen painamalla piirilevyn reset-painiketta.

USB-ylivirtasuojaus

Leonardossa on nollattava monisulake, joka suojaa tietokoneen USB-portteja oikosulkuilta ja ylivirralta. Vaikka useimmissa tietokoneissa on oma sisäinen suojaus, sulake tarjoaa lisäsuojan. Jos USB-porttiin syötetään yli 500 mA, sulake katkaisee yhteyden automaattisesti, kunnes oikosulku tai ylikuormitus on poistettu.

Fysikaaliset ominaisuudet

Leonardo-piirilevyn enimmäispituus on 2,7 tuumaa ja -leveys 2,1 tuumaa, ja USB-liitin ja virtaliitin ulottuvat edellistä mittaa pidemmälle. Neljä ruuvinreikää mahdollistavat piirilevyn kiinnittämisen pintaan tai koteloon. Huomaa, että digitaalisten nastojen 7 ja 8 välinen etäisyys on 160 millimetriä (0,16 tuumaa), mikä ei ole muiden nastojen 100 millimetrin etäisyyden parillinen kerrannainen.