Arduino – ArduinoBoardLeonardo

Alimentare

Arduino Leonardo poate fi alimentat prin intermediul conexiunii micro USB sau cu o sursă de alimentare externă. Sursa de alimentare este selectată automat.
>Alimentarea externă (non-USB) poate proveni fie de la un adaptor AC-to-DC (wall-wart), fie de la o baterie. Adaptorul poate fi conectat prin conectarea unei fișe de 2,1 mm cu centru pozitiv în mufa de alimentare a plăcii. Cablurile de la o baterie pot fi introduse în capetele de pin Gnd și Vin ale conectorului POWER.
Pinii de alimentare sunt după cum urmează:

  • VIN. Tensiunea de intrare la placa Arduino atunci când utilizează o sursă de alimentare externă (spre deosebire de 5 volți de la conexiunea USB sau de la o altă sursă de alimentare reglementată). Puteți furniza tensiune prin acest pin sau, dacă furnizați tensiune prin mufa de alimentare, accesați-o prin acest pin.
  • 5V. Sursa de alimentare reglementată utilizată pentru a alimenta microcontrolerul și alte componente de pe placă. Aceasta poate proveni fie de la VIN prin intermediul unui regulator de bord, fie poate fi furnizată de USB sau de o altă sursă reglementată de 5V.
  • 3V3. O alimentare de 3,3 volți generată de regulatorul de la bord. Consumul maxim de curent este de 50 mA.
  • GND. Pini de masă.
  • IOREF. Tensiunea la care funcționează pinii i/o ai plăcii (adică VCC pentru placă). Aceasta este de 5V pe Leonardo.

Memorie

Atmega32u4 are 32 KB (cu 4 KB folosiți pentru bootloader). De asemenea, are 2,5 KB de SRAM și 1 KB de EEPROM (care poate fi citit și scris cu biblioteca EEPROM).

Intrare și ieșire

Care dintre cei 20 de pini de intrare/ieșire digitală de pe Leonardo poate fi folosit ca intrare sau ieșire, folosind funcțiile pinMode(), digitalWrite() și digitalRead(). Aceștia funcționează la 5 volți. Fiecare pin poate furniza sau primi un maxim de 40 mA și are o rezistență internă de tragere în sus (deconectată în mod implicit) de 20-50 kOhms. În plus, unii pini au funcții specializate:

  • Serial: 0 (RX) și 1 (TX). Folosit pentru a primi (RX) și transmite (TX) date seriale TTL folosind capacitatea serială hardware ATmega32U4. Rețineți că pe Leonardo, clasa Serial se referă la comunicarea USB (CDC); pentru seria TTL pe pinii 0 și 1, utilizați clasa Serial1.
  • TWI: 2 (SDA) și 3 (SCL). Sprijină comunicarea TWI utilizând biblioteca Wire.
  • Întreruperi externe: 3 (întrerupere 0), 2 (întrerupere 1), 0 (întrerupere 2), 1 (întrerupere 3) și 7 (întrerupere 4). Acești pini pot fi configurați pentru a declanșa o întrerupere la o valoare scăzută, la o muchie ascendentă sau descendentă sau la o modificare a valorii. Pentru detalii, consultați funcția attachInterrupt().
  • PWM: 3, 5, 6, 9, 10, 11 și 13. Furnizează o ieșire PWM pe 8 biți cu ajutorul funcției analogWrite().
  • SPI: pe antetul ICSP. Acești pini suportă comunicarea SPI utilizând biblioteca SPI. Rețineți că pinii SPI nu sunt conectați la niciunul dintre pinii de intrare/ieșire digitală, așa cum sunt pe Uno, Aceștia sunt disponibili doar pe conectorul ICSP. Acest lucru înseamnă că, dacă aveți o placă de protecție care utilizează SPI, dar NU are un conector ICSP cu 6 pini care să se conecteze la conectorul ICSP cu 6 pini al lui Leonardo, placa de protecție nu va funcționa.
  • LED: 13. Există un LED încorporat conectat la pinul digital 13. Când pinul are valoarea HIGH, LED-ul este aprins, iar când pinul este LOW, acesta este oprit.
  • Intrări analogice: A0-A5, A6 – A11 (pe pinii digitali 4, 6, 8, 9, 10 și 12). Leonardo are 12 intrări analogice, etichetate de la A0 la A11, toate acestea putând fi utilizate și ca intrări/ieșiri digitale. Pinii A0-A5 apar în aceleași locații ca și pe Uno; intrările A6-A11 sunt pe pinii digitali i/o 4, 6, 6, 8, 8, 9, 10 și, respectiv, 12. Fiecare intrare analogică oferă 10 biți de rezoluție (adică 1024 de valori diferite). În mod implicit, intrările analogice măsoară de la masă la 5 volți, deși este posibil să se schimbe capătul superior al intervalului lor folosind pinul AREF și funcția analogReference().

Mai sunt câțiva alți pini pe placă:

  • AREF. Tensiune de referință pentru intrările analogice. Utilizată cu analogReference().
  • Reset. Aduceți această linie la nivel LOW pentru a reseta microcontrolerul. Folosit de obicei pentru a adăuga un buton de resetare la scuturile care îl blochează pe cel de pe placă.

Vezi, de asemenea, maparea între pinii Arduino și porturile ATmega32u4.

Comunicare

Leonardo dispune de o serie de facilități pentru a comunica cu un calculator, cu un alt Arduino sau cu alte microcontrolere. ATmega32U4 asigură comunicarea serială UART TTL (5V), care este disponibilă pe pinii digitali 0 (RX) și 1 (TX). 32U4 permite, de asemenea, comunicarea serială (CDC) prin USB și apare ca un port com virtual pentru software-ul de pe computer. Cipul acționează, de asemenea, ca un dispozitiv USB 2.0 de viteză maximă, utilizând drivere USB COM standard. Pe Windows, este necesar un fișier .inf. Software-ul Arduino include un monitor serial care permite trimiterea de date textuale simple către și de la placa Arduino. LED-urile RX și TX de pe placă vor clipi atunci când se transmit date prin conexiunea USB către computer (dar nu și pentru comunicarea serială pe pinii 0 și 1). O bibliotecă SoftwareSerial permite comunicarea serială pe oricare dintre pinii digitali ai dispozitivului Leonardo. ATmega32U4 suportă, de asemenea, comunicații I2C (TWI) și SPI. Software-ul Arduino include o bibliotecă Wire pentru a simplifica utilizarea magistralei I2C; consultați documentația pentru detalii. Pentru comunicarea SPI, utilizați biblioteca SPI. Leonardo apare ca o tastatură și un mouse generice și poate fi programat pentru a controla aceste dispozitive de intrare folosind clasele Keyboard și Mouse.

Programare

Leonardo poate fi programat cu software-ul Arduino (descărcare). Selectați „Arduino Leonardo” din meniul Tools > Board (în funcție de microcontrolerul de pe placa dumneavoastră). Pentru detalii, consultați referința și tutorialele. ATmega32U4 de pe Arduino Leonardo vine preîncărcat cu un bootloader care vă permite să încărcați cod nou pe acesta fără a utiliza un programator hardware extern. Acesta comunică folosind protocolul AVR109. Puteți, de asemenea, să ocoliți bootloaderul și să programați microcontrolerul prin intermediul antetului ICSP (In-Circuit Serial Programming) folosind Arduino ISP sau similar; consultați aceste instrucțiuni pentru detalii.

Reinițializare automată (software) și inițiere a încărcătorului de pornire

În loc să fie nevoie de o apăsare fizică a butonului de resetare înainte de o încărcare, Leonardo este proiectat într-un mod care îi permite să fie resetat prin intermediul unui software care rulează pe un computer conectat. Resetarea este declanșată atunci când portul serial / COM virtual (CDC) al Leonardo este deschis la 1200 baud și apoi închis. Când se întâmplă acest lucru, procesorul se va reseta, întrerupând conexiunea USB cu calculatorul (ceea ce înseamnă că portul serial / COM virtual va dispărea). După ce procesorul se resetează, pornește bootloaderul, rămânând activ timp de aproximativ 8 secunde. Bootloader-ul poate fi inițiat, de asemenea, prin apăsarea butonului de resetare de pe Leonardo. Rețineți că, la prima pornire a plăcii, aceasta va trece direct la schița utilizatorului, dacă este prezentă, în loc să inițieze bootloaderul.
Din cauza modului în care Leonardo gestionează resetarea, este mai bine să lăsați software-ul Arduino să încerce să inițieze resetarea înainte de a încărca, mai ales dacă aveți obiceiul de a apăsa butonul de resetare înainte de a încărca pe alte plăci. Dacă software-ul nu poate reseta placa, puteți oricând să porniți bootloaderul apăsând butonul de resetare de pe placă.

Protecție la supracurent USB

Leonardo are o polifuzibilă resetabilă care protejează porturile USB ale computerului dvs. de scurtcircuite și supracurenți. Deși majoritatea computerelor oferă propria protecție internă, siguranța oferă un strat suplimentar de protecție. Dacă se aplică mai mult de 500 mA la portul USB, siguranța va întrerupe automat conexiunea până când scurtcircuitul sau suprasarcina este eliminată.

Caracteristici fizice

Lungimea și lățimea maximă a PCB-ului Leonardo sunt de 2,7 și, respectiv, 2,1 inci, conectorul USB și mufa de alimentare depășind prima dimensiune. Patru găuri pentru șuruburi permit atașarea plăcii la o suprafață sau la o carcasă. Rețineți că distanța dintre pinii digitali 7 și 8 este de 160 mil (0,16″), ceea ce nu reprezintă un multiplu par față de distanța de 100 mil a celorlalți pini.