Un proiect Arduino Cum să faci ornamente strălucitoare de Crăciun

Un proiect Arduino Cum să faci ornamente strălucitoare de Crăciun / DIY

Aceasta este următoarea parte a seriei noastre de învățare Arduino, și de această dată vom învăța despre și de a folosi Arrays pentru a face un mic ornament de pom de Crăciun cu diferite secvențe intermitente. Acesta ar fi un proiect ideal pentru a păstra copiii ocupați dacă doriți să le predați lipirii de bază - montați LED-urile pe o bucată de card și puteți obține energie de la o baterie standard de 9V.

Este, de asemenea, o lecție cheie în programarea începător Arduino, deși, dacă nu aveți de gând să utilizați de fapt acest lucru ca un ornament, aș sugera cu tărie să pâlpâi asta oricum.

Notă: Acesta este un tutorial foarte începător și cu siguranță că nu vom rupe niciun motiv nou - este? doar un dispozitiv pentru a preda conceptele de utilizare Arrays și Pentru bucle să se ocupe de a număr mare de LED-uri (sau alte dispozitive de ieșire).

Dacă nu ați fost deja, acum ar fi un moment bun pentru a urmări împreună cu celelalte articole din serie:

  • 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 set Arduino Starter & 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
  • Mai multe componente cool pentru a cumpăra cu kitul 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 kitul de pornire Arduino? Instalarea driverelor și configurarea tabloului de bord și a portului Începeți cu kitul 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 un kit de pornire Arduino ș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
  • Fritzing, un instrument gratuit pentru desenarea schemelor de circuite Fritzing - instrumentul final pentru a schița proiectele electronice [Cross Platform] Fritzing - instrumentul final pentru a schița proiectele electronice [Cross Platform] În ciuda faptului că sună ca un alcopop, Fritzing este de fapt un incredibil software-ul gratuit ce puteți utiliza pentru a crea circuite și componente de diagrame pentru utilizarea cu rapid-prototipuri electronice panouri, cum ar fi fantastic open-source Arduino ... Citeste mai mult
  • O privire mai clară asupra structurii unei aplicații Arduino & Exemplu Blink Program 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 și structura Un program Ultima dată când v-am lăsat să vă configurați arduino-ul pentru a lucra cu Mac sau Windows și ați încărcat o aplicație simplă de testare care a clipit LED-ul de la bord. Astăzi o să explic codul ... Citește mai mult

Pentru acest proiect, veți avea nevoie de cel puțin 8 sau 9 LED-uri în roșu sau verde, a rezistor pentru fiecare dintre ei, a breadboard și câteva fire de legătură. Setul de pornire de la Ooomlout, pe care l-am cumpărat recent și care este prezentat în acest tutorial, oferă o mare valoare pentru bani și are mai multe LED-uri și rezistoare decât vreodată veți avea nevoie, precum și un panou elegant și un caz Arduino pentru a păstra lucrurile ordonat.

Aici este ultimul lucru:

Și un videoclip despre el în acțiune.

Iată o vizualizare a cablajului de la Fritzing. Este foarte simplu - conectați doar conductorul pozitiv al LED-urilor la pinii 2-> indiferent (până la pinul 13) și conectați picioarele negative la sol împreună cu un rezistor. Valoarea folosită aici este de 560 Ohmi. Asta e pentru cablare.

Pe partea de software, gândiți-vă cum puteți scrie toate aceste LED-uri în cod. Ai putea să te duci așa:

int led1 = 2; // primul LED pe pinul 2 int led2 = 3; // secunde pe pinul 3 // etc etc void loop () digitalWrite (led1, HIGH); întârziere (100); digitalWrite (LED1, LOW); întârziere (100); digitalWrite (LED2, HIGH); // etc

Ar trebui să puteți vedea că cu 9 LED-uri, acest lucru va fi rapid obositor. Raspunsul conteaza Arrays, care, dacă nu-ți poți aminti Programarea 101 despre principalele tipuri de date Bazele Programării Calculatorului 101 - Variabile și Tipuri de Date Bazele Programării Calculatoarelor 101 - Variabile și DateTypes După ce am introdus și am vorbit puțin despre programarea orientată pe obiecte înainte și în cazul în care numele său provine de la , Am crezut că este timpul să trecem prin programele de bază absolut într-un mod specific non-lingvistic. Acest lucru ... Citește mai mult - sunt doar liste.

Sintaxa arată astfel (plasați-o ca prima linie din codul dvs.):

int leds [] = 2, 3, 4, 5, 6, 7, 8, 9, 10;

Parantezele pătrate indică faptul că ledurile? variabilă va fi o mulțime. Plăcile curlate cuprind lista numerelor de pin pe care matricea noastră o va păstra.

Acum, pentru a utiliza o matrice, trebuie să o abordăm cu numărul indexului. indexul începe la 0, și va merge întotdeauna la 1 mai puțin decât numărul total de lucruri din interior (astfel încât cu 9 elemente, ultimul ar avea un indice de 8).

Puteți scrie astfel:

leds [0]

Ceea ce, în cazul nostru, ar aduce numărul 2, pentru că asta e la indexul 0 din matricea noastră.

După ce ați urmat până acum? Grozav. Numai că nu este suficient pentru noi, totuși - avem nevoie și de un mod de iterare asupra fiecărui element al matricei LED-urilor noastre. pentru buclă. Sintaxa de făcut este așa:

pentru (variabila initiala, conditia in care se repeta din nou, se schimba la variabila fiecare iteratie)

De exemplu:

pentru (int i = 0; i<9; i++)

Ce spune

  • porniți această buclă cu o variabilă, eu, care are o valoare de zero
  • continuați cu buclă numai în timp ce este mai puțin de 9?(deci: 0,1,2,3,4,5,6,7,8)
  • de fiecare data, adăugați 1 la i (i ++ este o cale scurtă de a spune i = i + 1)

Deci, practic, buclă va fi repetat de câte ori avem LED-uri, și de fiecare dată când repetăm ​​vom avea o variabilă, eu, pe care le putem folosi oricum ne place.

Vom folosi această structură de două ori pentru a începe. Odată ce ați intrat în funcția de configurare pentru ca toți pini să se transforme în modul de ieșire, cum ar fi:

void setup () pentru (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);  

Puteți vedea ce am făcut acolo? În loc de a scrie 9 linii de cod pentru a declara fiecare pin individ ca ieșire, vom crea o 'pentru' buclă să se repete de sine 9 ori, de fiecare dată stabilirea un alt pini.

Acum, ar trebui să puteți vedea cum am putea face exact același lucru în buclă principală de program pentru a transforma fiecare LED în succesiune:

void loop () pentru (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);  

Încercați asta. Puteți descărca codul complet pentru proiectul de astăzi de aici, dacă nu ați mai spus-o din nou (deși vă încurajez, deoarece vă ajută procesul de învățare).

Bine, acum avem o secvență de iluminare destul de plictisitoare. Să mai programăm un altul. Doar pentru distracție, să o facem complet aleator. Înlocuiți codul bucla principală cu acesta:

void loop () int randomLed = aleatoriu (0,8); digitalWrite (leds [randomLed], HIGH); întârziere (50); randomLed = aleator (0,8); digitalWrite (leds [randomLed], LOW); 

În loc să folosim o buclă "pentru" pentru a repeta pe fiecare LED, alegem un număr aleatoriu de la 0-9 în loc,.

Am să o las acolo pentru ziua de azi, așa cum ar trebui acum să fiți înarmați cu suficiente cunoștințe pentru a programa toate secvențele noi și pentru a experimenta cu bucle. Pentru a dovedi cât de ușor e totul, am provocat-o soției mele să se gândească la o secvență pe care ea a vrut să o vadă și apoi a ajuns?ea să-i programeze singură, având doar codul și lecțiile pe care le-ați avut până acum. Ea a venit cu asta, așa că vezi dacă poți să te potrivești cu asta pentru acasă!

Întrebări, sugestii, probleme - contactați-vă în comentarii.

Explorați mai multe despre: Arduino.