Primii pași cu Arduino O privire mai atentă la circuitul de circuit și structura unui program

Primii pași cu Arduino O privire mai atentă la circuitul de circuit și structura unui program / DIY

Ultima dată când v-am lăsat să fiți pregătit Începeți cu setul dvs. de pornire Arduino - Instalarea driverelor și configurarea tabloului de bord și a portului Începeți cu setul dvs. de pornire Arduino - Instalarea driverelor și configurarea tabloului de bord și a portului Deci, v-ați cumpărat Arduino kit de pornire, și, eventual, alte componente aleatoare aleatoare - acum ce? Cum de a începe cu programarea acestui lucru Arduino? Cum îl configurați ... Citește mai mult arduinul tău pentru a lucra cu Mac sau Windows și ai încărcat o aplicație simplă de test care a clipi LED-ul de la bord. Astăzi voi explica codul pe care l-ați încărcat, structura software-ului Arduino și ceva mai mult despre biții electronici de pe placa însăși.

Acest articol face parte dintr-o introducere în seria Arduino. Celelalte articole din seria de până acum sunt:

  • Ce este Arduino și ce poți să faci cu el Ce este Arduino și ce poți să faci cu el? Ce este Arduino și ce puteți face cu el? Arduino este un dispozitiv remarcabil de electronică, dar dacă nu ai mai folosit niciodată înainte, ce anume sunt și ce poți să faci cu unul? Citeste mai mult ?
  • Ce este un kit de pornire Arduino și ce conține? Ce este inclus într-un kit de pornire Arduino? [Explică-i pe MakeUseOf] Ce este inclus în kitul de pornire Arduino? [MakeUseOf Explains] Am introdus hardware-ul open-source Arduino aici pe MakeUseOf, dar ai nevoie de ceva mai mult decât Arduino pentru a construi ceva din ea și de fapt începe. Arduino "kituri de starter" sunt ... Citește mai mult
  • Componente mai cool pentru a vă cumpăra cu kit-ul dvs. de pornire 8 Componente mai cool pentru proiectele dvs. Arduino 8 Componente mai cool pentru proiectele dvs. Arduino Deci, vă gândiți să obțineți un kit de pornire Arduino, dar vă întrebați dacă unele LED-uri și rezistoare de bază vor fi suficient pentru a vă menține ocupat pentru weekend? Probabil ca nu. Iată încă 8 ... Citește mai mult
  • Noțiuni de bază cu setul dvs. de pornire Arduino - Instalarea driverelor și configurarea tabloului de bord și a portului Începeți cu setul dvs. de pornire Arduino - Instalarea driverelor și configurarea tabloului de bord și a portului Noțiuni introductive cu setul de pornire Arduino - Instalarea driverelor & Port Deci, ți-ai cumpărat un kit de pornire Arduino și, eventual, și alte componente cool aleatoare - acum ce? Cum de a începe cu programarea acestui lucru Arduino? Cum îl configurați ... Citește mai mult

Hardware-ul

Să aruncăm o privire mai atentă la ce are Arduino Uno în ceea ce privește biții pe circuit.

Iată o diagramă mărită care se referă la:

  • Pe partea de sus, există 14 pini digital de intrare / ieșire (numerotate 0-13). Acestea sunt cele mai versatile pini de pe Arduino și pot funcționa ca intrări sau ieșiri și vor forma nucleul proiectelor dvs. Digital înseamnă că semnalul pe care acești insigne îl poate scrie sau citi va fi activat sau dezactivat.
  • 6 din acele pini digitale, care sunt marcate de semnul tilde ~ sunt capabili să facă ceea ce se numește Modulație în lățime de impuls. Nu sunt un inginer electric, așa că nu mă voi încurca explicând știința din spatele acestui lucru, dar pentru tine și mine înseamnă că putem oferi o gamă de niveluri de ieșire - de exemplu, diminuarea unui LED sau conducerea unui motor la viteze diferite.
  • Pinul 13 este special datorită faptului că are un LED încorporat. Aceasta este doar pentru scopuri de testare și de testare. Puteți folosi LED-ul de bord, așa cum ați făcut în aplicația Blink example, prin simpla ieșire la pinul 13 - sau poate fi folosit ca pin standard I / O.
  • În partea din dreapta jos sunt 6 pini de intrare analogice. Acestea vor citi valoarea senzorilor analogi, cum ar fi un contor de lumină sau rezistențe variabile.
  • În partea din stânga jos de lângă pinii de intrare analogic se află știfele de alimentare. Singurele care trebuie să vă faceți griji sunt pini de sol (GND), 3.3V și 5V.
  • În cele din urmă, singurul switch aflat pe Arduino este un comutator de resetare. Acest lucru va reporni orice program are în memorie.
  • Arduino are o cantitate de memorie setată și, dacă programul dvs. este prea mare, compilatorul vă va da o eroare.

Structura unui program Arduino

Fiecare program Arduino este alcătuit din cel puțin două funcții (dacă nu știți ce este o funcție, asigurați-vă că ați citit tutorialul meu de programare de bază, partea a 2-a - funcții și declarații de control Absolut Bazele programării pentru începători (Partea 2) Bazele absolute ale programării pentru începători (Partea 2) În partea a 2 a ghidului nostru absolut de începători pentru programare, voi acoperi elementele de bază ale funcțiilor, valorii returnate, buclele și condiționările. Asigurați-vă că ați citit partea 1 înainte de a aborda acest lucru , unde am explicat ... Citește mai mult și partea 1 în care am discutat despre variabile Bazele programării pe calculator 101 - Variabile și tipuri de date Bazele programării pe calculator 101 - Variabile și tipuri de date După ce am introdus și am vorbit puțin despre programarea orientată pe obiecte înainte și unde omeniște vine de la, am crezut că este timpul să trecem prin elementele de bază absolut de programare într-un mod non-lingvistice specifice. Acest lucru ... Citește mai mult înainte de a continua).

Primul este funcția de configurare. Acest lucru este rulat inițial - o singură dată - și este folosit pentru a spune Arduino ceea ce este conectat și în cazul în care, precum și inițializarea orice variabile s-ar putea să aveți nevoie în programul dvs..

A doua este bucla. Acesta este nucleul fiecărui program Arduino. Când Arduino rulează, după terminarea funcției de configurare, bucla va trece prin tot codul, apoi face totul din nou - până când se pierde alimentarea sau se apasă butonul de resetare. Durata de timp necesară pentru a completa o buclă completă depinde de codul conținut. Puteți scrie un cod care spune “așteptați 6 ore”, caz în care bucla nu se va repeta foarte des.

Iată o diagramă de stare rapidă pentru a ilustra:

Examinarea programului Blink

Priviți înapoi codul de program Blink și identificați funcțiile de configurare și buclă.

Iată configurația:

void setup () // inițializați pinul digital ca ieșire. // Pinul 13 are un LED conectat la majoritatea plăcilor Arduino: pinMode (13, OUTPUT); 

Liniile care încep cu // sunt pur și simplu comentarii pentru a explica codul unui cititor uman și nu se încarcă la Arduino. Deci, de fapt, există o singură linie de cod de configurare în această aplicație specială Arduino. Linia asta spune “Setați pinul 13 în modul de ieșire”. 13, amintiți-vă, este LED-ul încorporat.

Apoi, există buclă:

void loop () digitalWrite (13, HIGH); // setați întârzierea LED-ului (1000); // așteptați un al doilea program digitalWrite (13, LOW); // setați întârzierea de oprire a LED-ului (1000); // așteptați o secundă

Comentariile de la sfârșitul fiecărui rând de cod explică destul de bine funcția lor. HIGH și LOW se referă la starea ON și OFF a unei ieșiri digitale - în cazul nostru LED-ul. Ați putea scrie chiar și codul ON sau OFF în cod, ambele fiind sinonime (așa cum este și 0 și 1). Întârziere spune Arduino să aștepte un pic, în acest caz 1000 milisecunde (sau 1 secundă).

În cele din urmă, o notă despre limba de programare folosită aici. Observați că ambele funcții de configurare și buclă au cuvântul vid inaintea lor. Acesta este un cuvânt special pentru nimic, deoarece funcția nu întoarce nimic atunci când se numește - rulează pur și simplu codul conținut în. Pentru moment, hai să lăsăm la asta spunând că blocul de cod al funcției este închis de brațele curl și că fiecare linie de cod trebuie să se încheie cu un; punct şi virgulă.

Încercați să modificați cumva programul de bază schimbând valorile de întârziere precise la ceva mai mare sau mai mic. Vedeți cât de mic îl puteți obține înainte ca intermitentul să nu mai fie vizibil. Pregătiți ce valoare să schimbați pentru ca aceasta să rămână activă mai mult sau să stea mai mult timp. Încercați să adăugați mai multe declarații digitale și întârziere în funcția de buclă pentru a crea un model mai complex de intermitență, cum ar fi codul morse pentru SOS. Dacă aveți un buzzer, încercați să-l conectați la pinii 13 și GND prea (indiciu: firul roșu merge la 13, negru la sol).

Asta e tot pentru ziua de azi. Data viitoare vom adăuga mai multe LED-uri și vom scrie propria noastră aplicație de la zero. Ca întotdeauna, comentariile și acțiunile au fost mult apreciate. Nu vă pot imagina că veți avea probleme cu codul la care v-ați referit astăzi, dar dacă ați încercat să ajustați ușor codul și dacă aveți erori sau comportamente neașteptate, nu ezitați să îl postați în comentarii și vom vedea dacă putem lucra împreună prin ea.

Explorați mai multe despre: Arduino.