Oglas
To je naslednji del v naši učni seriji Arduino in tokrat? Učila se bom in uporabljala Nizi narediti malo okraska božičnega drevesa z različnimi utripajočimi zaporedji. To bi bil idealen projekt, da bi otroke zasedli, če bi jih radi naučili osnovnega spajkanja - le pritrdite LED na košček kartice in lahko pridobite napajanje iz običajne 9v baterije.
To je tudi ključna lekcija programiranja za začetnike Arduino, čeprav tega ne nameravate dejansko uporabljati kot okrasek, vsekakor predlagam, da ga izpišete.
Opomba: To je vadnica na začetni ravni in zagotovo smo zmagali? ne morete prebiti nobene nove podlage - kajne? s? samo naprava za poučevanje konceptov uporabe Nizi in Za zanke obravnavati a veliko število LED (ali druge izhodne naprave).
Če nimate? t že, zdaj bi bil pravi čas, da sledimo ostalim člankom v seriji:
- Kaj je Arduino in kaj lahko narediš s tem Kaj je Arduino in kaj lahko storite z njim?Arduino je izjemna majhna elektronska naprava, če pa še nikoli niste uporabljali, kaj točno so, in kaj lahko storite z eno? Preberi več ?
- Kaj je Arduino zagon in kaj vsebuje? Kaj je vključeno v zagon Arduino? [MakeUseOf pojasnjuje]Pred tem sem na MakeUseOf predstavil strojno opremo z odprto kodo Arduino, vendar boste potrebovali več kot le dejanski Arduino, da iz tega nekaj sestavite in dejansko začnete. Arduino "zaganjalni kompleti" so ... Preberi več
- Več kul sestavnih delov, ki jih lahko kupite skupaj s svojim zagonom Še več kul komponent za vaše Arduino projekteTorej razmišljate, da bi dobili komplet za zagon Arduino, a se sprašujete, ali bo nekaj osnovnih LED in uporov dovolj, da vas za konec tedna zasedejo? Verjetno ne. Tu je še 8 ... Preberi več
- Kako začeti s svojim zagonom Arduino? Nameščanje gonilnikov in nastavitev plošče in vrat Uvod v računalnik za zagon Arduino - Namestitev gonilnikov in nastavitev plošče in vratTorej, kupili ste si starševski komplet Arduino in morda še kakšne naključne kul komponente - kaj zdaj? Kako pravzaprav začnete s programiranjem te Arduinove stvari? Kako jo nastavite ... Preberi več
- Fritzing, brezplačno orodje za risanje diagramov vezja Fritzing - odlično orodje za izdelavo projektov elektronike [Cross Platform]Kljub temu da zveni kot alkohol, je Fritzing pravzaprav neverjeten košček brezplačne programske opreme, ki jo lahko uporabite za ustvarjanje diagrami vezja in sestavnih delov za uporabo s hitrimi prototipičnimi elektronskimi ploščami, kot je fantastična odprtokodna mreža Arduino ... Preberi več
- Podrobnejši pogled na strukturo aplikacije Arduino in primer programa Blink Prvi koraki z Arduino: podrobnejši pogled na vezje in strukturo programaZadnjič sem vas pustil, da ste nastavili svoj Arduino za delo z Mac ali Windows in naložil preprosto testno aplikacijo, ki je utripala LED na vozilu. Danes bom razložil kodo ... Preberi več
Za ta projekt, ti? Potreboval jih bom vsaj 8 ali 9 LED v rdeči ali zeleni barvi, a upor za vsakega od njih a deska in nekaj žic za povezovanje. Začetni komplet podjetja Ooomlout, ki sem ga pred kratkim kupil sam in je predstavljen v tej vadnici, ponuja veliko vrednost za denar in ima več LED in uporov kot vi? Vedno potrebujem, kot tudi priloženi čedni tabli in Arduino ohišje, da bodo stvari urejene.
Tukaj? s končno stvar:
In posnetek tega v akciji.
Tukaj? pogled na ožičenje iz Fritzinga. Je? je zelo osnovna - samo priključite pozitivne vodnike LED na nožice 2-> karkoli (do zatiča 13), negativni kraki pa na tleh povežite z uporom. Vrednost I? tu uporabljamo 560 Ohmov. To? je za ožičenje.
Na strani programske opreme pomislite, kako bi lahko napisali vse te LED v kodi. Lahko bi šli približno takole:
int led1 = 2; // prva LED na pin 2. int led2 = 3; // drugi na zatiču 3. // itd itd void loop () {digitalWrite (led1, HIGH); zamuda (100); digitalWrite (led1, LOW); zamuda (100); digitalWrite (led2, HIGH); // itd. }
Morali bi videti, da bo to z 9 LED lučkami hitro naporno. Odgovor se glasi Nizi, kaj, če lahko? se spomnim našega Programiranje 101 o osnovnih tipih podatkov Osnove računalniškega programiranja 101 - spremenljivke in tipi podatkovPreden smo se predstavili in pogovorili o objektno usmerjenem programiranju pred in kje njegovega soimenjaka izhaja, sem mislil, da je čas, da preberemo absolutne osnove programiranja v jezikovni specifiki način. Ta izjemni ... Preberi več - so v bistvu samo seznami.
Skladnja je videti tako (postavite to kot prvo vrstico v kodi):
int led [] = {2,3,4,5,6,7,8,9,10};
Kvadratni oklepaji označujejo, da so? spremenljivka bo Niz. Curly naramnice priloži seznam številk pin, ki jih bo naš array.
Zdaj, če želimo uporabiti matriko, jo moramo nasloviti s številko indeksa. The indeks se začne pri 0in bo zato vedno do 1 manj kot skupno število stvari v njem (tako bi z 9 postavkami zadnji imel indeks 8).
To napišete takole:
led [0]
Kaj bi v našem primeru prineslo številko 2, ker to? s kaj? s pri indeksu 0 v našem nizu.
Sledi do zdaj? Super. Samo to ni? t za nas vseeno dovolj - potrebujemo tudi nekaj načinov za ponovitev vsakega elementa svoje LED diode. Za to bomo uporabili za zanko. Sintaksa za to je takšna:
za (začetna spremenljivka; stanje, pod katerim se spet ponavljamo; spremeni v spremenljivo vsako iteracijo)
Na primer:
za (int i = 0; i <9; i ++)
Kar pravi
- začnite to zanko s spremenljivko, jaz, ki ima vrednost nič
- nadaljujte z zanko le, ko sem manj kot 9? (torej: 0,1,2,3,4,5,6,7,8)
- vsakič, dodajte 1 v i (i ++ je kratek način, da povem i = i + 1)
Torej, v bistvu se bo zanka ponovila tolikokrat, kot imamo LED, in vsakič? s ponovljeno, bomo imeli spremenljivko, jaz, ki jih lahko uporabimo, kakorkoli želimo.
Mi? Za začetek bom to strukturo uporabljal dvakrat. Ko ste znotraj funkcije nastavitve, da se vsi naši zatiči obrnejo v izhodni način, takole:
void setup () {for (int i = 0; i <9; i ++) {pinMode (led [i], OUTPUT); } }
Lahko vidite, kaj smo storili tam? Namesto da napišemo 9 vrstic kode, da vsak posamezen pin razglasimo za izhod, ustvarimo zanko 'for', ki se ponovi 9-krat, vsakič pa nastavimo še en pin.
Zdaj bi morali videti, kako lahko v glavni programski zanki storimo popolnoma isto stvar, da vklopimo vsako LED v zaporedju:
void loop () {for (int i = 0; i <9; i ++) {digitalWrite (led [i], HIGH); zamuda (100); digitalWrite (vodi [i], LOW); } }
Poskusite to. Ti lahko prenesite celotno kodo za današnji projekt od tukaj če ti? d raje ga ne vtipkajte znova (čeprav vas spodbujam k temu, ker pomaga učnemu procesu).
Ok, zdaj imamo precej dolgočasno zaporedje razsvetljave. Pustiti? s program še en. Samo za zabavo, kaj? naredite povsem naključno. Zamenjajte glavno kodo zanke s tem:
void loop () { int randomLed = naključno (0,8); digitalWrite (vodi [randomLed], HIGH); zamuda (50); randomLed = naključno (0,8); digitalWrite (vodi [naključnoLed], LOW); }
Namesto da uporabimo zanko 'for' za ponovitev vsake LED, namesto tega izberemo naključno število od 0 do 9 in ga sprožimo.
Danes ga bom pustil tam, saj bi morali biti zdaj oboroženi z dovolj znanja, da lahko programirate vse nove sekvence in eksperimentirate z zankami. Da bi dokazal, kako enostavno je to vse, sem izzval svojo ženo, da si je zamislila zaporedje, ki ga ima? bi rad videl in potem dobil?da jo programira sama, glede na samo kodo in lekcije? sem imel doslej. Smislila je to, zato poglejte, ali se lahko ujemate z domačo nalogo!
Vprašanja, predlogi, težave - v komentarje se obrnite.
James ima doktorat iz področja umetne inteligence in ima certifikat CompTIA A + in Network +. Je vodilni razvijalec MakeUseOf in svoj prosti čas preživlja z igranjem VR paintball in družabnih iger. Z računalniki gradi že od malih nog.