Publicitate
Ultima dată te-am părăsit având înființat Noțiuni introductive cu setul dvs. de pornire Arduino - Instalarea de drivere și configurarea plăcii și a portuluiAșadar, v-ați cumpărat un kit de pornire Arduino și, probabil, alte alte componente aleatoare aleatorilor - acum ce? Cum te apuci de fapt cu programarea acestui lucru Arduino? Cum o configurați ... Citeste mai mult Arduino dvs. să funcționeze cu Mac sau Windows și ați încărcat o aplicație de testare simplă care a clipit LED-ul de bord. Astăzi vă voi explica codul pe care l-ați încărcat, structura software-ului Arduino și ceva mai multe despre biții electronici de pe placa în sine.
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 face cu asta Ce este Arduino și ce poți face cu asta?Arduino este un mic dispozitiv electronic, remarcabil, dar dacă nu ai mai folosit niciodată unul, exact ce sunt acestea și ce poți face 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? [FaceUseOf Explică]Am introdus anterior hardware-ul Arduino open-source aici pe MakeUseOf, dar veți avea nevoie de mai mult decât doar Arduino pentru a construi ceva din el și pentru a începe de fapt. Arduino "seturile de început" sunt ... Citeste mai mult
- Mai multe componente interesante pentru a cumpăra cu kitul de pornire 8 mai multe componente minunate pentru proiectele dvs. ArduinoDeci, vă gândiți să obțineți un kit de pornire Arduino, dar vă întrebați dacă unele LED-uri de bază și rezistențe vor fi suficiente pentru a vă menține ocupat pentru weekend? Probabil ca nu. Iată alte 8 ... Citeste mai mult
- Noțiuni introductive cu setul dvs. de pornire Arduino - Instalarea de drivere și configurarea plăcii și a portului Noțiuni introductive cu setul dvs. de pornire Arduino - Instalarea de drivere și configurarea plăcii și a portuluiAșadar, v-ați cumpărat un kit de pornire Arduino și, probabil, alte alte componente aleatoare aleatorilor - acum ce? Cum te apuci de fapt cu programarea acestui lucru Arduino? Cum o configurați ... Citeste mai mult
Hardware
Să aruncăm o privire mai atentă la ce are Arduino Uno în termeni de biți pe placa de circuit.
Iată o diagramă mărită pentru a face referire la:
- De-a lungul vârfului, există 14 pini digitali de intrare / ieșire (cu 0-13). Acestea sunt cele mai versatile pini de pe Arduino și pot funcționa ca intrare sau ieșire și vor forma nucleul proiectelor tale. Digital înseamnă că semnalul pe care acești pini îl pot scrie sau citi va fi pornit sau oprit.
- 6 dintre ace digitali, care sunt marcați cu semnul tilde ~ sunt capabili să facă ceea ce se numește Modulația lățimii impulsului. Nu sunt un inginer electric, așa că nu mă va jenă explicând știința din spatele acestui lucru, ci ție și mie înseamnă că putem oferi o serie de niveluri de ieșire - de exemplu, aprinderea unui LED sau conducerea unui motor în mod diferit viteze.
- Pinul 13 este special prin faptul că are un LED încorporat. Acest lucru este doar în scopuri de comoditate și testare. Puteți utiliza acel LED de bord, așa cum ați făcut în aplicația de exemplu Blink, pur și simplu prin ieșirea la pinul 13 - sau poate fi folosit ca pin I / O standard.
- În dreapta jos se află 6 pini de intrare analogici. Acestea vor citi valoarea senzorilor analogici, precum un contor de lumină sau rezistențe variabile.
- În partea stângă jos, lângă pinii de intrare analogici, sunt pinii de putere. Singurele de care trebuie să vă faceți griji sunt liniile de alimentare cu pin (GND), 3.3v și 5v.
- În cele din urmă, singurul comutator găsit pe Arduino este un comutator de resetare. Aceasta va reporni orice program are în memoria sa.
- Arduino are o cantitate de memorie stabilită, iar dacă programul dvs. este prea mare, compilatorul vă va da o eroare.
Structura unui program Arduino
Fiecare program Arduino este format din cel puțin două funcții (dacă nu știți care este o funcție, asigurați-vă că citiți tutorial de bază de programare, partea 2 - instrucțiuni de funcții și control Bazele absolute ale programării pentru începători (partea 2)În partea a 2-a a ghidului nostru pentru începători absolut în programare, voi acoperi elementele de bază ale funcțiilor, valorile de retur, buclele și condiționările. Asigurați-vă că ați citit prima parte înainte de a aborda acest lucru, unde am explicat ... Citeste mai mult , și partea 1 unde am discutat despre variabile Bazele programării computerizate 101 - variabile și tipuri de dateDupă ce am introdus și am vorbit puțin despre programarea orientată pe obiect înainte și unde numele său este vine de la, am crezut că e timpul să parcurgem elementele de bază absolute ale programării într-un specific non-limbaj cale. Acest... Citeste mai mult înainte de a continua).
Prima este funcția de configurare. Aceasta este rulată inițial - o singură dată - și este utilizată pentru a spune Arduino ce este conectat și unde, precum și inițializarea oricărei variabile de care aveți nevoie în programul dvs.
Al doilea este bucla. Acesta este nucleul fiecărui program Arduino. Când Arduino rulează, după ce funcția de configurare s-a finalizat, bucla va parcurge toate cod, apoi faceți din nou întregul lucru până când fie se pierde puterea, fie comutatorul de resetare este presat. Perioada 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ă rapidă de stare pentru a ilustra:
Examinarea programului Blink
Aruncați o privire înapoi la codul programului Blink și identificați funcțiile de configurare și buclă.
Iată configurarea:
void setup () { // inițializează pinul digital ca o ieșire. // Pin 13 are un LED conectat pe majoritatea plăcilor Arduino: pinMode (13, OUTPUT); }
Liniile care încep cu // sunt pur și simplu comentarii pentru a explica codul unui cititor uman și acestea nu sunt încărcate în Arduino. Deci, de fapt, există o singură linie de cod de configurare în această anumită aplicație Arduino. Acea linie spune „Setați pinul 13 în modul de ieșire”. 13, amintiți-vă, este LED-ul încorporat.
Apoi există bucla:
void loop () { digitalWrite (13, HIGH); // setați ledul pornit. întârziere (1000); // așteptați o secundă digitalWrite (13, LOW); // stingeți LED-ul. întârziere (1000); // așteptați o secundă }
Comentariile de la sfârșitul fiecărei linii de cod explică funcția lor destul de bine. HIGH și LOW se referă la starea ON și OFF a unei ieșiri digitale - în cazul nostru LED-ul. De asemenea, puteți scrie ON sau OFF în cod, ambele sunt sinonime (la fel și 0 și 1). Întârziere îi spune lui Arduino să aștepte puțin, în acest caz 1000 de milisecunde (sau 1 secundă).
În sfârșit, o notă despre limbajul de programare folosit aici. Observați că atât funcțiile de configurare, cât și bucla au cuvântul vid inaintea lor. Acesta este un cuvânt special pentru nimic, deoarece funcția nu returnează nimic când este numit - pur și simplu rulează codul conținut în interior. Deocamdată, lăsați-o la asta spunând că blocul de cod al funcției este închis de acolade {} și că fiecare linie de cod trebuie să se încheie cu o; punct şi virgulă.
Încercați să modificați cumva programul de bază schimbând valorile de întârziere precise în ceva mai mare sau mai mic. Vedeți cât de mic îl puteți reduce până nu se mai observă intermitentul. Descoperiți ce valoare să schimbați pentru ca acesta să rămână mai lung sau mai mult timp. Încercați să adăugați alte instrucțiuni DigitalWrite și întârziere în funcția buclă pentru a crea un model de intermitență mai complex, precum cod morse pentru SOS. Dacă aveți un soner, încercați să-l conectați la pinii 13 și GND (indiciu: firul roșu merge la 13, negru la sol).
Totul este pentru ziua de azi. Data viitoare vom adăuga alte LED-uri și vom scrie propria aplicație de la zero. Ca oricând, comentariile și împărtășirile sunt foarte apreciate. Nu pot să-mi imaginez că ai avea probleme cu codul la care se face referire astăzi, dar dacă ai încercat să ajustezi ușor codul și având erori sau comportamente neașteptate, nu ezitați să-l postați în comentarii și vom vedea dacă putem lucra împreună.
James are licență în inteligență artificială și este certificat CompTIA A + și Network +. Este dezvoltatorul principal al MakeUseOf și își petrece timpul liber jucând VR paintball și boardgames. Construiește calculatoare de când era mic.