Skelbimas

arduino kalėdinės lemputėsTai kita mūsų mokomojo „Arduino“ serijos dalis, o šį kartą mes? Išmoksite ir naudokitės Masyvai padaryti mažą eglutės papuošalą su įvairiomis mirksinčiomis sekomis. Tai būtų idealus projektas, skirtas išlaikyti vaikus užimtus, jei norėtumėte išmokyti juos paprasčiausio litavimo - tiesiog pritvirtinkite šviesos diodus ant kortelės ir galėsite įgyti energijos iš standartinės 9 V baterijos.

Tai taip pat yra pagrindinė pradedančiojo „Arduino“ programavimo pamoka, tačiau, jei neketinate iš tikrųjų naudoti to kaip ornamento, aš vis tiek rekomenduoju jį atsisakyti.

Pastaba: tai yra pradedančiųjų lygio mokymo programa, ir mes tikrai laimėjome? ar nenuskriausite jokio naujo? ai? tiesiog prietaisas mokyti naudojimo sąvokų Masyvai ir Dėl kilpų susidoroti su a daugybė šviesos diodų (ar kiti išvesties įrenginiai).

Jei prieglobstis? Jau dabar būtų tinkamas laikas sekti kitus straipsnius iš šios serijos:

  • Kas yra Arduino ir ką su juo galite padaryti? Kas yra Arduino ir ką su juo galite padaryti?„Arduino“ yra puikus mažas elektronikos prietaisas, tačiau jei niekada jo dar nenaudojote, tik kokie jie yra, o ką su tuo padaryti?
    instagram viewer
    Skaityti daugiau
    ?
  • Kas yra „Arduino“ pradinis rinkinys ir ką jame yra? Kas yra „Arduino“ pradiniame rinkinyje? [„MakeUseOf“ paaiškina]Aš anksčiau pristačiau „Arduino“ atvirojo kodo aparatinę įrangą čia, „MakeUseOf“, bet norint sukurti ką nors iš jūsų ir pradėti, jums reikia ne tik tikrojo „Arduino“. Arduino „pradiniai rinkiniai“ yra ... Skaityti daugiau
  • Daugiau puikių komponentų, kuriuos galite įsigyti kartu su savo pradiniu rinkiniu Dar 8 puikūs komponentai jūsų „Arduino“ projektamsTaigi, jūs galvojate apie „Arduino“ starterio komplekto įsigijimą, tačiau įdomu, ar pakaks keleto pagrindinių šviesos diodų ir rezistorių, kad jus užimtumėte savaitgalį? Tikriausiai ne. Čia yra dar 8 ... Skaityti daugiau
  • Kaip pradėti naudotis savo „Arduino“ pradiniu rinkiniu? Tvarkyklių įdiegimas ir plokštės bei prievado nustatymas Darbo su „Arduino“ pradiniu rinkiniu pradžia - tvarkyklių diegimas ir plokštės bei prievado nustatymasTaigi, jūs nusipirkote sau „Arduino“ pradinį rinkinį ir galbūt kai kuriuos kitus atsitiktinius įdomius komponentus - o kas dabar? Kaip iš tikrųjų pradedate programuoti šį „Arduino“ dalyką? Kaip jūs jį nustatote ... Skaityti daugiau
  • Frezavimas, nemokamas įrankis grandinių schemoms piešti „Fritzing“ - puikus įrankis elektronikos projektams rengti [Cross Platform]Nepaisant to, kad skamba kaip alkopas, „Fritzing“ iš tikrųjų yra neįtikėtinai nemokama programinė įranga, kurią galite naudoti kurdami grandinių ir komponentų diagramos, naudojamos su sparčiojo prototipų elektronikos plokštėmis, tokiomis kaip fantastinis atvirojo kodo Arduino ... Skaityti daugiau
  • Atidžiau pažvelkite į „Arduino“ programos struktūrą ir pavyzdį „Blink“ programa Pirmieji „Arduino“ veiksmai: atidžiau pažvelkite į plokštę ir programos struktūrąPraėjusį kartą palikau jus nustatę „Arduino“ dirbti su „Mac“ ar „Windows“ ir įkėlę paprastą bandomąją programą, kuri mirksi borto šviesos diode. Šiandien paaiškinsiu kodą ... Skaityti daugiau

Dėl šio projekto jūs? Reikės bent jau 8 arba 9 šviesos diodai raudonos arba žalios spalvos, a rezistorius kiekvienam iš jų, a Bandomoji Lenta ir kai kurie jungiamieji laidai. Pradinis rinkinys iš „Ooomlout“, kurį neseniai įsigijau pats ir pavaizduotas šiame vadove, yra puikus kainos ir kokybės santykis bei turi daugiau šviesos diodų ir rezistorių nei jūs? Visada prireiks, taip pat, jei norite, kad viskas būtų tvarkinga, taip pat ateisite su tvarkinga lentute ir „Arduino“ dėklu.

Čia? s paskutinis dalykas:

arduino kalėdinės lemputės

Ir vaizdo įrašas apie tai veiksme.

Čia? vaizdas iš laidų iš Fritzing. Tai? Tai labai paprasta - tiesiog prijunkite teigiamą šviesos diodų laidą prie kaiščių 2-> kad ir kas (iki 13 kaiščio), o neigiamas kojas prie varžto prijunkite prie žemės. Vertė aš? čia naudojamas 560 omų. Tai? s tai instaliacijai.

arduino kalėdinės lemputės

Programinės įrangos pusėje pagalvokite, kaip galėtumėte parašyti visiems šiems šviesos diodams kode. Galėtumėte tai padaryti taip:

int led1 = 2; // pirmasis LED ant 2 kaiščio. int led2 = 3; // antras ant 3 kaiščio. // etc etc void loop () {digitalWrite (led1, HIGH); vėlavimas (100); „digitalWrite“ (led1, LOW); vėlavimas (100); „digitalWrite“ (led2, HIGH); // kt. }

Turėtumėte pamatyti, kad naudojant 9 šviesos diodus tai greitai pavargs. Atsakymas slypi Masyvai, o jei galite? neprisimename mūsų Programavimas 101 apie pagrindinius duomenų tipus Kompiuterio programavimo pagrindai 101 - kintamieji ir duomenų tipaiPrieš tai supažindinome ir šiek tiek papasakojome apie objektų programavimą, kur ir koks jo vardas kilęs, maniau, kad laikas pereiti absoliučius programavimo pagrindus, nesusijusius su kalba būdas. Šiame ... Skaityti daugiau - iš esmės yra tik sąrašai.

Sintaksė atrodo taip (įdėkite tai kaip pirmąją kodo eilutę):

vidinės lempos [] = {2,3,4,5,6,7,8,9,10};

Krašto skliausteliuose nurodoma, kad lemputės? kintamasis bus Masyvas. Garbanotos petnešos prideda PIN kodų, kuriuos laikys mūsų masyvas, sąrašą.

Dabar, norėdami naudoti masyvą, turime kreiptis į jį pagal rodyklės numerį. indeksas prasideda nuo 0, ir todėl visada bus iki 1 mažesnis už bendrą daiktų skaičių jo viduje (taigi su 9 elementais paskutiniojo indeksas būtų 8).

Jūs rašote taip:

šviesos diodai [0]

Kuris mūsų atveju pateiks numerį 2, nes taip? ką? s indekse 0 mūsų masyve.

Sekate iki šiol? Puiku. Vien tai nėra? Nors mums to nepakanka - mums taip pat reikia tam tikro būdo, kad pasikartotų kiekvienas mūsų šviesos diodų matricos elementas. Tam mes naudosime už kilpą. Tai padaryti reikia sintaksėje:

už (pradinis kintamasis; sąlyga, kurią vėl kartojame; kiekvienos iteracijos keitimas į kintamąjį)

Pavyzdžiui:

už (int i = 0; i <9; aš ++)

Kuris sako

  • pradėkite šią kilpą su kintamuoju, i, kurio vertė yra nulis
  • tęsti kilpas tik kol esu mažiau nei 9? (taigi: 0,1,2,3,4,5,6,7,8)
  • kiekvieną kartą, pridėkite 1 prie i („i ++“ yra trumpas būdas pasakyti „i = i + 1“)

Taigi iš esmės kilpa bus pakartota tiek kartų, kiek mes turime šviesos diodų, ir kaskart? pakartoję turėsime kintamąjį, i, kuriuos galime naudoti, kad ir kaip mums patiktų.

Mes? Pradėsiu šią struktūrą du kartus. Kai įjungsite sąrankos funkciją, kad visi mūsų kaiščiai įsijungtų į išvesties režimą:

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

Ar galite pamatyti, ką mes ten padarėme? Užuot rašę 9 kodo eilutes, kad kiekvienas atskiras kaištis būtų paskelbtas išvestimi, sukuriame „už“ kilpą, kuri pakartotų save 9 kartus, kiekvieną kartą nustatydami kitą kaištį.

Dabar jūs turėtumėte pamatyti, kaip mes galėtume padaryti tą patį pagrindinės programos cikle, kad paeiliui įjungtume kiekvieną šviesos diodą:

void loop () {for (int i = 0; i <9; i ++) {digitalWrite (leds [i], HIGH); vėlavimas (100); „digitalWrite“ (šviesos diodai [i], LOW); } }

Išbandyk tai. Tu gali atsisiųskite visą šios dienos projekto kodą iš čia jei tu? d verčiau to nerašyti dar kartą (nors ir raginu, nes tai padeda mokymosi procesui).

Gerai, kad dabar turime gana nuobodžią apšvietimo seką. Leisti? s programa dar viena. Tik įdomumui, leisk? tai padaro visiškai atsitiktiniu. Pagrindinės kilpos kodą pakeiskite šiuo:

tuščia kilpa () { int randomLed = atsitiktinis (0,8); „digitalWrite“ (šviesos diodai [randomLed], HIGH); vėlavimas (50); randomLed = atsitiktinis (0,8); „digitalWrite“ (šviesos diodai [randomLed], LOW); }

Užuot naudodami „už“ kilpą, kad pasikartotų kiekviename šviesos diode, mes pasirenkame atsitiktinį skaičių nuo 0 iki 9 ir mirksime.

Aš paliksiu tai šiandienai, nes dabar turėtumėte pakankamai ginklų, kad galėtumėte programuoti visas naujas sekas ir eksperimentuoti su kilpomis. Kad įrodyčiau, kaip visa tai lengva, aš paprašiau savo žmonos pagalvoti apie jos seką? norėčiau pamatyti, o tada gavai?jai pačiai tai programuoti, atsižvelgiant tik kodą ir pamokas jums? iki šiol turėjau. Ji sugalvojo tai, todėl pažiūrėkite, ar galite tai suderinti su namų darbais!

Klausimai, pasiūlymai, problemos - prašome susisiekti komentaruose.

Jamesas yra dirbtinio intelekto bakalauras ir yra CompTIA A + bei Network + sertifikuotas. Jis yra pagrindinis „MakeUseOf“ kūrėjas ir laisvalaikį praleidžia žaisdamas VR dažasvydį ir stalo žaidimus. Nuo mažens jis statė kompiuterius.