Arduinoleonardomicro începe cu arduino

Ghid pentru Arduino Leonardo și Micro

Pentru a vă conecta la computerul dvs. Arduino Leonardo sau Micro, veți avea nevoie de un cablu USB cu un conector Micro-B. Acest cablu USB servește atât pentru transmisia de date, cât și pentru alimentarea cu bord. Pentru a bloca Arduino Leonardo, în mediul de dezvoltare Ardeino IDE, din meniul Instrumente> Bord, selectați "Arduino Leonardo" sau "Arduino Micro".







Diferențele de la Arduino Uno

În general, ordinea de lucru și programarea programelor Leonardo și Micro este exact aceeași ca și în cazul altor modele Arduino. Cu toate acestea, există câteva diferențe importante.

Un singur procesor - atât pentru execuția programului, cât și pentru comunicarea prin USB.

Leonardo și Micro diferă de alte modele Arduino, în primul rând pentru că folosesc un microcontroler pentru a efectua toate funcțiile - atât pentru executarea programelor, cât și pentru interacțiunea cu un computer prin interfața USB. În Arduino Uno și alte modele, diferite microcontrolere sunt utilizate pentru a efectua aceste două funcții, respectiv, conexiunea USB la computer rămâne întotdeauna activă, indiferent de starea actuală a microcontrolerului principal. Combinarea ambelor funcții într-un singur microcontroler a permis Leonardo să fie mai flexibil în interacțiunea cu computerul și, de asemenea, să-și reducă costurile datorită lipsei unui procesor suplimentar.

Relansarea portului în momentul resetării cardului.

Ca parte a dispozitivului, nu există niciun cip separat care să comunice în serie, astfel încât porturile seriale utilizate sunt virtuale - atât în ​​sistemul de operare PC, cât și pe dispozitivul propriu-zis. Atunci când bootloader-ul pornește, Leonardo / Micro creează automat o instanță a clasei pentru a lucra cu interfața serială, la fel cum computerul creează o instanță a driverului portului serial atunci când vă conectați la Arduino. În sistem, placa atașată este o instanță a unei clase speciale de driver pentru lucrul cu USB (Device Connected Class - CDC).

Acest aranjament conduce la faptul că de fiecare dată când cardul este resetat, conexiunea USB la computer va fi deconectată și instalată din nou. În sistem, dispozitivul va dispărea din lista de porturi disponibile, respectiv porturile seriale vor fi renumerotate. Prin urmare, toate programele în care a fost deschis portul Arduino vor pierde conexiunea cu dispozitivul. Aceasta este una dintre diferențele evidente Leonardo / Micro prin Arduino Uno, în care resetare MCU (ATmega328P) nu duce la ruperea USB-compus (care este susținut de un procesor suplimentar sau ATmega8U2 ATmega16U2). Aceste diferențe conduc la unele caracteristici ale instalării driverului, procesului de firmware și interacțiunii cu dispozitivul, care sunt descrise mai jos.

Nu se resetează când portul serial este deschis.

Spre deosebire de Arduino Uno, Arduino Leonardo și Micro nu repornește schița descărcată de fiecare dată când deschideți un port serial pe calculator. Aceasta înseamnă că computerul nu primește date trimise de card înainte de a fi deschis în sistemul de operare al portului serial (inclusiv, de exemplu, datele trimise în blocul setup ()).

O astfel de modificare înseamnă că orice funcții pentru transferarea datelor secvențiale (cum ar fi print (), println (), write (), etc.) scrise în blocul de configurare nu vor fi apelate când portul serial este deschis. Pentru a rezolva această problemă, puteți verifica programatic starea portului serial după apelarea funcției Serial.begin (), de exemplu, după cum urmează:

Emularea tastaturii și a mouse-ului.

Unul dintre avantajele utilizării unui singur procesor pentru executarea programelor și comunicațiilor USB este flexibilitatea în interacțiunea dispozitivului cu computerul. În special, ca urmare a acestei Arduino poate fi determinată în sistem nu numai ca un port virtual serial (de asemenea, denumit CDC), folosite pentru EEPROM și comunicații de date (cum ar fi Arduino Uno), dar, de asemenea, funcționează ca un HID dispozitiv emularea o tastatură sau un mouse. Pentru avertismente despre modul de utilizare a acestui mod, vedeți "Bun ton pentru programare" de mai jos.

Funcționarea separată a USB și UART.

În Arduino Leonardo și Micro, clasa principală Serial este asociată cu un driver virtual de port serial pentru conectarea la un computer prin USB. Fizic nu este conectat la terminalele 0 și 1, așa cum se face pe cardurile Arduino Uno și în versiunile mai vechi. Pentru a accesa portul serial al hardware-ului (pinul 0 și 1, RX și TX), utilizați clasa Serial1. (Pentru mai multe informații, consultați ajutorul pentru clasa Serial).

Diferențe în pinout.

Arduino Leonardo pinout diferă oarecum de structura standard a unor pini (în special interfețele SPI și TWI). Aceste diferențe sunt descrise detaliat pe pagina de descriere a dispozitivului.

Instalarea driverului pentru Arduino Leonardo și Micro







  • Prima dată când conectați Leonardo sau Micro la Mac, "Asistentul de configurare a tastaturii" va porni automat. pentru că pentru Leonardo nu este nimic de instalat aici, puteți închide această fereastră făcând clic pe butonul roșu din colțul din stânga sus.

Arduinoleonardomicro începe cu arduino

Instrucțiuni Windows

Următoarele instrucțiuni sunt legate în primul rând de Windows 7, deși sunt potrivite și pentru Windows XP (cu doar câteva diferențe în casetele de dialog).

  • Conectați cardul la computer și așteptați ca Windows să pornească asistentul de instalare a driverului. Dacă expertul nu pornește automat, mergeți manual la Manager dispozitive (Start> Panou de control> Hardware) și găsiți linia Arduino Leonardo în listă. Faceți clic dreapta pe el și selectați "Actualizare driver".

Arduinoleonardomicro începe cu arduino

  • În fereastra care apare, selectați "Căutați driverele de pe acest computer" și faceți clic pe Următorul.

Arduinoleonardomicro începe cu arduino

  • Faceți clic pe butonul "Răsfoiți". În fereastra care apare, navigați la dosarul cu software-ul Arduino (pe care l-ați descărcat anterior). Selectați folderul driverelor și faceți clic pe OK, apoi faceți clic pe Următorul.

Arduinoleonardomicro începe cu arduino

  • Va apărea un mesaj în care hardware-ul instalat nu a fost testat în Logo-ul Windows. Faceți clic pe butonul Continuați oricum.

Arduinoleonardomicro începe cu arduino

  • După câteva secunde, va apărea un mesaj care să ateste că expertul a finalizat instalarea software-ului pentru Arduino Leonardo. Acum închideți fereastra.

Sub Linux, instalarea driverului nu este necesară deloc. (Testat pe Ubuntu 10.0.4)

Firmware pentru Arduino Leonardo și Micro

În general, procesul de încărcare a programului în Arduino Leonardo sau Micro nu diferă foarte mult de firmware-ul Uno sau de alte modele Arduino. Este suficient să apăsați butonul Încărcare în mediul de dezvoltare și programul dvs. va fi încărcat automat în memoria Arduino și lansat de acesta pentru execuție. În general, procesul este conceput în același mod ca și în Arduino Uno: Arduino miercuri inițiază taxa de resetare, ceea ce duce la lansarea bootloader, este responsabil pentru primirea, depozitarea, și să înceapă o nouă schiță.

Cu toate acestea, deoarece portul serial interfațare cu dispozitivul este un virtual și dispare de fiecare dată când restabiliți placa, mediul de dezvoltare Arduino aderă la o strategie ușor diferită atunci când selectarea temporizări pentru încărcare schiță, spre deosebire de Uno și alte modele. În special, după resetare automată Leonardo sau Micro (prin portul serial selectat în meniul Instrumente> Serial Port), Arduino de rulare așteaptă apariția în sistemul noului serial virtual (CDC) / COM-Port - cel care se presupune că va „asculta“ downloader. După aceasta, mediul trimite schița către acest port nou creat.

Dacă resetarea automată nu a funcționat, atunci, având în vedere diferențele descrise mai sus, trebuie să utilizați un alt buton de resetare pentru firmware-ul Arduino Leonardo / Micro. Apăsați și țineți apăsat butonul de resetare de pe tablă, apoi în mediul de dezvoltare Arduino, faceți clic pe butonul Încărcare. Eliberați butonul de reset numai după "Încărcare". Apare în bara de stare a programului. După aceasta, încărcătorul pornește de pe placă, ceea ce va duce la crearea unui port serial virtual (CDC) pe computer. Mediul de dezvoltare va vedea noul port din sistem și va începe să transmită firmware-ul prin acest port. Din nou, aceste acțiuni sunt necesare numai dacă procedura tradițională a firmware-ului (adică făcând clic pe butonul Încărcare) nu funcționează pe dispozitiv. (Rețineți că resetarea automată a dispozitivului apare dacă computerul deschide portul serial la 1200 baud și apoi îl închide, deci este posibil să nu funcționeze dacă ceva în sistem afectează conexiunea USB la placă - de exemplu întreruperea deconectării ).

Regulile de ton bun la programarea programelor Arduino Leonardo și Micro

Câteva cuvinte de precauție cu privire la utilizarea bibliotecilor mouse-ul USB și a tastaturii. funcționând constant pe dispozitiv Mouse-ul sau bibliotecile tastaturii pot complica foarte mult procesul de firmware Arduino. Caracteristici cum ar fi Mouse.move () și Keyboard.print () deplasează mouse-ul sau de a trimite în mod constant semnale de intrarile de la tastatura de calculator conectate, astfel încât acestea ar trebui să fie numit numai atunci când sunteți gata pentru a procesa evenimentele primite de la. Se recomandă utilizarea unui sistem de control care vă permite să dezactivați această funcție, de exemplu, în funcție de poziția comutatorului sau de semnalul de ieșire al cărui stadiu îl puteți controla. Înainte de a utiliza funcțiile bibliotecilor Mouse sau Tastatură direct cu calculatorul, este mai bine să testați valorile returnate de acestea utilizând funcția Serial.print (). Deci, puteți să vă asigurați că sunt trimise valorile corecte. Pentru mai multe informații, consultați exemplele de lucru cu bibliotecile Mouse și Keyboard.

Utilizarea eficientă a software-ului Serial Monitor: ca date seriale trec prin doar un singur procesor, Arduino poate umple tamponul primit de calculator este mult mai rapid decât celelalte dispozitive. Trebuie să vă amintiți că atunci când trimiteți ciclic date pe o interfață serială, de exemplu, aceasta este:

Monitorul serial în mediul de dezvoltare poate fi încetinit, deoarece nu va putea afișa datele provenind de la Arduino. Dacă aveți această situație, adăugați o mică întârziere în buclă, astfel încât tamponul de primire al calculatorului să nu se umple prea repede. Chiar și o mică întârziere de 1 ms vă va ajuta:

Aplicațiile care funcționează cu port serial prin intermediul bibliotecii nativ, și nu prin RXTX bibliotecă, tind să citească datele de la portul este mult mai rapid, astfel încât, în cele mai multe cazuri nu se va întâlni această eroare cu excepția programelor construite pe funcțiile de bază RXTX (inclusiv Serial Monitor, Procesare, etc.).







Articole similare

Trimiteți-le prietenilor: