
Edmund Richardson
0
828
34
To je sljedeći dio naše Arduino serije za učenje, a ovaj put ćemo učiti i koristiti nizovi napraviti mali ukras božićnog drvca s raznim blještavim nastavcima. Ovo bi bio idealan projekt da zadržite djecu ako ih želite naučiti osnovnom lemljenju - samo montirajte LED na komad kartice i možete dobiti snagu iz standardne baterije od 9 V.
To je ujedno i ključna lekcija za početnike Arduino programiranje, mada, ako to zapravo ne namjeravate koristiti kao ukras, toplo bih vam preporučio da to shvatite..
Napomena: Ovo je udžbenik za početnike i sigurno nećemo probiti bilo koji novi teren - samo uređaj za podučavanje koncepata uporabe nizovi i Za petlje baviti se a veliki broj LED-ova (ili drugi izlazni uređaji).
Ako već niste, sada bi bio pravi trenutak da slijedite ostale članke u nizu:
- Što je Arduino i što možete učiniti s njim Što je Arduino i što možete učiniti s njim? Što je Arduino i što možete učiniti s tim? Arduino je izvanredan mali elektronički uređaj, ali ako ga nikada prije niste koristili, samo što su točno i što možete učiniti s jednim? ?
- Što je Arduino starter kit i što sadrži? Što je uključeno u Arduino Starter Kit? [MakeUseOf objašnjava] Što je uključeno u Arduino Starter Kit? [MakeUseOf objašnjava] Prethodno sam predstavio Arduino hardver otvorenog koda ovdje na MakeUseOf, ali trebat će vam više nego samo stvarni Arduino da biste iz njega nešto napravili i zapravo započeli. Arduino "startne setove" su…
- Još zgodnijih komponenti za kupnju sa svojim Starter Kit 8 Više cool komponenti za vaše Arduino projekte 8 Još cool komponenti za vaše Arduino projekte Dakle, razmišljate o nabavci Arduino startnog kompleta, ali pitate se hoće li biti nekoliko osnovnih LED i otpornika dovoljno da vas ostane zauzet za vikend? Vjerojatno ne. Evo još 8…
- Prvi koraci sa svojim Arduino Starter Kitom? Instaliranje upravljačkih programa i postavljanje ploče i priključka Početak rada s Arduino Starter Kitom - Instaliranje upravljačkih programa i postavljanje ploče i priključka Početak rada s Arduino Starter Kitom - Instalacija upravljačkih programa i postavljanje ploče i priključka Dakle, kupili ste sebe Arduino starter set i eventualno neke druge nasumične komponente - što sad? Kako zapravo započinjete s programiranjem ove Arduino stvari? Kako to postaviti?
- Fritzing, besplatni alat za crtanje dijagrama krugova Fritzing - Ultimativni alat za skiciranje elektroničkih projekata [Cross Platform] Fritzing - Ultimativni alat za skiciranje elektroničkih projekata [Cross Platform] Iako zvuči poput alkopopa, Fritzing je zapravo nevjerojatan djelić besplatni softver koji možete koristiti za izradu dijagrama krugova i sastavnih dijelova za upotrebu s elektroničkim pločama koje se brzo prototipiraju, poput fantastične Arduino otvorenog izvora ...
- Pažljiviji pogled na strukturu aplikacije Arduino i primjer programa treptaja Prvi koraci s Arduinom: bliži pogled na sklopnu ploču i strukturu programa prvi koraci s arduinom: bliži pogled na ploču i strukturu Programa Prošli put sam vam ostavio da ste postavili svoj Arduino za rad sa Macom ili Windowsom i učitao jednostavnu testnu aplikaciju koja je treptala LED na vozilu. Danas ću objasniti kod ...
Za ovaj projekt trebat će vam najmanje 8 ili 9 LED dioda bilo u crvenoj ili zelenoj boji, a otpornik za svakog od njih a daska za kruh i neke žice za spajanje. Starter kit iz Ooomlouta, koji sam nedavno kupio i prikazan u ovom udžbeniku, nudi veliku vrijednost za novac i ima više LED i otpornika nego što će vam ikada trebati, kao i dolazi s urednom pločom i Arduino futrolom da stvari zadrže uredan, cist.
Evo, konačna stvar:
I video o tome u akciji.
Ovdje je pogled ožičenja iz Fritzinga. To je vrlo osnovno - samo povežite pozitivne vodilice LED-a na igle 2> god (do pin 13), a negativne noge spojite na zemlju s pomoću otpornika. Vrijednost koju ovdje koristim je 560 Ohma. To je za ožičenje.
S softverske strane, razmislite o tome kako biste mogli napisati sve ove LED diode u kodu. Mogli biste oko toga ovako:
int led1 = 2; // prvi LED na pin 2 int led2 = 3; // drugi na pin 3 // itd. itd. void petlja () digitalWrite (led1, HIGH); kašnjenja (100); digitalWrite (led1, PO); kašnjenja (100); digitalWrite (led2, HIGH); // itd.
Trebali biste moći vidjeti da će uz 9 LED dioda to brzo postati zamorno. Odgovor leži na nizovi, Ako se ne možete sjećati našeg Programiranja 101 o osnovnim tipovima podataka Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Nakon što ste se malo upoznali i razgovarali o objektno orijentiranom programiranju prije i odakle potječe njegov imenjak , Mislio sam da je vrijeme da prođemo kroz apsolutne osnove programiranja na nejezički specifičan način. Ovo… - u osnovi su samo popisi.
Sintaksa izgleda ovako (stavite ovo kao prvi redak u vašem kodu):
int led [] = 2,3,4,5,6,7,8,9,10;
Kvadratni zagrade upućuju na to da su? varijabla će biti an red. Kovrčavi zagrade prilažu popis PIN brojeva koji će sadržavati naš niz.
Sada, da bismo koristili niz, trebamo ga riješiti brojem indeksa. indeks počinje od 0, i uvijek će prema tome imati do 1 manji od ukupnog broja stvari unutar nje (pa s 9 predmeta zadnji bi imao indeks 8).
Pišete to ovako:
LED [0]
Što bi u našem slučaju moglo donijeti broj 2, jer to je ono što je indeks 0 u našem nizu.
Slijedite do sada? Sjajno. To samo po sebi nije dovoljno - trebamo i neki način da se preinači svaki element naše LED diode. Za to ćemo upotrijebiti za petlju. Sintaksa koja bi to mogla učiniti je takva:
for (početna varijabla; uvjet pod kojim se ponavljamo; promijenite u varijablu svaku iteraciju)
Na primjer:
za (int i = 0; i<9; i++)
Što kaže
- pokrenite ovu petlju s varijablom, ja, koja ima vrijednost nula
- nastavite petljati samo dok ja jesam manje od 9?(dakle: 0,1,2,3,4,5,6,7,8)
- svaki put, dodaj 1 na i (i ++ je kratak način da kažem i = i + 1)
U osnovi, petlja će se ponavljati onoliko puta koliko imamo LED-ova, a svaki put kada se ponovi, imat ćemo varijablu, ja, koje možemo koristiti koliko god želimo.
Za početak ćemo koristiti ovu strukturu dva puta. Jednom kada postavite funkciju za postavljanje da se sve naše igle prebace u izlazni način, ovako:
void setup () for (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);
Možete li vidjeti što smo radili tamo? Umjesto da napišemo 9 redaka koda da bi se svaki pojedinačni pin deklarirao kao izlaz, stvaramo petlju 'za' da se ponovi 9 puta, svaki put postavljajući drugi pin.
Sada biste trebali moći vidjeti kako u glavnoj programskoj petlji možemo učiniti potpuno istu stvar da biste uključili svaki LED u nizu:
void petlje () for (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);
Pokušajte to. Cijeli kôd za današnji projekt možete preuzeti odavde ako ga ne želite ponovo unositi (mada vas ohrabrujem jer pomaže procesu učenja).
Ok, sada imamo prilično dosadan redoslijed osvjetljenja. Neka je program jedan drugi. Samo za zabavu, neka to bude sasvim slučajno. Zamijenite glavni kod petlje s ovim:
void petlje () int randomLed = slučajno (0,8); digitalWrite (LED [randomLed] HIGH); kašnjenje (50); randomLed = slučajno (0,8); digitalWrite (LED [randomLed] LOW);
Umjesto da koristimo petlju "za" za ponavljanje svake LED, umjesto toga odaberemo slučajni broj od 0-9 i uključimo ga.
Ostavit ću ga danas za to vrijeme, kao što biste sada trebali biti naoružani s dovoljno znanja za programiranje svih novih nizova i eksperimentiranje s petljicama. Kako bih dokazao koliko je sve ovo jednostavno, izazvao sam suprugu da smisli slijed koji bi ona željela vidjeti, a onda je dobila?nju da sama programira, s obzirom na kod i lekcije koje ste dosad imali Smislila je to, pa pogledajte možete li to usporediti s domaćim zadaćama!
Pitanja, prijedlozi, problemi - javite se u komentarima.