Hirdetés

arduino karácsonyi fényekEz a következő rész az Arduino tanulási sorozatunkban, és ezúttal mi? Megtanulják és használják tömbök hogy készítsen egy kis karácsonyfadíszet különböző villogó sorozatokkal. Ez egy ideális projekt a gyerekek foglaltságának fenntartásához, ha meg szeretné tanítani nekik az alapvető forrasztást - csak szerelje fel a LED-eket egy darab kártyára, és energiát kapjon egy szokásos 9 V-os elemből.

Ez szintén kulcsfontosságú lecke a kezdő Arduino programozáshoz, bár ha nem tervezi, hogy ezt díszként használja, akkor mindenképpen javaslom, hogy mutassam be.

Megjegyzés: Ez egy nagyon kezdő szintű bemutató, és mi biztosan nyertünk? nem szabad új alapot törni - igaz? s? csak egy eszköz a használat fogalmainak megtanításához tömbök és Hurkokhoz kezelni a nagyszámú LED (vagy más kimeneti eszközök).

Ha menedék van? Már most, ideje lenne a sorozat többi cikkeivel együtt követni:

  • Mi az Arduino és mit tudsz csinálni vele? Mi az Arduino és mit lehet tenni vele?Az Arduino egy figyelemre méltó kis elektronikai eszköz, de ha még soha nem használta ezt, akkor mi is pontosan ezek, és mit lehet ezzel csinálni? Olvass tovább ?
  • Mi az Arduino kezdőkészlet és mit tartalmaz? Mit tartalmaz egy Arduino kezdőkészlet? [MakeUseOf magyarázat]Korábban már bemutattam az Arduino nyílt forráskódú hardvert itt a MakeUseOf-on, de nemcsak a tényleges Arduino-ra van szükséged, hogy valamit beépítsen belőle, és valóban elinduljon. Az Arduino "indítókészletek" ... Olvass tovább
  • További kiváló alkatrészek, amelyeket vásárolhat a kezdőkészlettel További 8 kiváló alkatrész az Arduino projektekhezTehát Ön egy Arduino indítókészlet megszerzésén gondolkodik, de azon kíváncsi, vajon elegendő-e néhány alapvető LED és ellenállás, hogy elfoglalja a hétvégét? Valószínűleg nem. Itt van még egy 8 ... Olvass tovább
  • Az Arduino kezdőkészlet első lépései? Illesztőprogramok telepítése és az alaplap és a port beállítása Az Arduino kezdőkészlet első lépései - Illesztőprogramok telepítése és az alaplap és a port beállításaTehát vásároltad magadnak egy Arduino kezdőkészletet és esetleg más véletlenszerű alkatrészeket - most mi van? Hogyan kezdje el valójában ezt az Arduino-dolog programozását? Hogyan állítja be ... Olvass tovább
  • Fröccsöntés, egy ingyenes eszköz az áramköri rajzok készítéséhez Fritzing - a végső eszköz az elektronikai projektek rajzolásához [Cross Platform]Annak ellenére, hogy úgy hangzik, mint egy alkopop, a Fritzing valójában hihetetlen apró méretű ingyenes szoftver, amelyet létrehozhat áramköri és alkatrészdiagramok gyors prototípusú elektronikai táblákhoz, például a fantasztikus nyílt forráskódú eszközökhöz Arduino ... Olvass tovább
  • A Arduino alkalmazás felépítésének részletesebb áttekintése és a példa a pislogó programra Az Arduino első lépései: Áttekintés a nyomtatott áramkörről és a program felépítésérőlLegutóbb hagytam, hogy beállította Arduino-ját Mac vagy Windows operációs rendszerre, és feltöltött egy egyszerű tesztalkalmazást, amely villogott a fedélzeti LED-en. Ma el fogom magyarázni a kódot ... Olvass tovább

Ön ehhez a projekthez? Legalább szükségem lesz rá 8 vagy 9 LED piros vagy zöld színben, a ellenállás mindegyikük számára, a breadboard és néhány csatlakozóhuzal. Az Ooomlout indítókészlete, amelyet nemrég vásároltam meg, és amelyet ebben az oktatóprogramban ábrázolunk, kiváló ár-érték arányt kínál, és több LED-del és ellenállással rendelkezik, mint te? Soha szüksége lesz rá, valamint egy ügyes kenyérvágódeszka és Arduino tokkal együtt, hogy a dolgok rendben maradjanak.

Itt? ez az utolsó dolog:

arduino karácsonyi fények

És egy videó róla.

Itt? a kábelezés nézete Fritzingről. Azt? Nagyon alapvető - csak csatlakoztassa a LED-ek pozitív vezetékét a csapokhoz 2-> bármi (egészen a 13. csapig), és csatlakoztassa az ellenállással a negatív lábakat a földhöz egyenesen. Az én érték? itt használtunk 560 Ohm. Hogy? s huzalozáshoz.

arduino karácsonyi fények

A szoftver oldalán gondoljon arra, hogyan lehet ezeket a LED-eket a kódba írni. Így tehetted meg:

int led1 = 2; // első LED a 2. tűn. int led2 = 3; // második a 3. tűn. // etc etc void loop () {digitalWrite (led1, HIGH); késleltetés (100); digitalWrite (led1, LOW); késleltetés (100); digitalWrite (led2, HIGH); // stb. }

Látnia kell, hogy 9 LED-del ez gyorsan fárasztóvá válik. A válasz a következő tömbök, mi van, ha tudsz? nem emlékszem 101. programozás az alaptípusokról A számítógépes programozás alapjai 101 - Változók és adattípusokBemutattuk és kicsit beszéltünk az objektum-orientált programozásról korábban és hol a neve származik, azt hittem, itt az ideje, hogy átlépjük a programozás abszolút alapjait egy nem nyelv specifikusan út. Ez... Olvass tovább - alapvetően csak listák.

A szintaxis így néz ki (helyezze el ezt első sorként a kódjában):

int led-ek [] = {2,3,4,5,6,7,8,9,10};

A szögletes zárójelek azt jelzik, hogy a LED-ek változó lesz egy Sor. A göndör tartók csatolják a pin-számok listáját, amelyeket a tömbünk fog tartani.

Most, hogy egy tömböt használjunk, az indexszámmal kell kezelnünk. Az az index 0-nál kezdődik, és ezért mindig 1-rel kevesebbet fog elérni, mint a benne lévő dolgok száma (tehát 9 elemnél az utolsó index indexe 8 lenne).

Így írod:

LED-ek [0]

Melyik a mi esetünkben letöltené a 2-es számot, mert az? s mi? s a tömbünkben a 0-as indexen.

Eddig követed? Nagy. Ez önmagában nem? t azonban nekünk elég - szükségünk van valamilyen módon a LED-tömbünk minden elemének iterálására is. Ehhez egy a hurok számára. A szintaxis a következő:

for (kezdeti változó; feltétel, amely alatt megismételjük újra; változtatás változóig minden iterációnál)

Például:

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

Ami azt mondja

  • indítsa el ezt a hurkot egy változóval, én, amelynek értéke nulla
  • folytassa a hurkot csak amíg én vagyok kevesebb, mint 9? (tehát: 0,1,2,3,4,5,6,7,8)
  • minden alkalommal, adjunk hozzá 1-t i (Az i ++ az i = i + 1 rövidítésének rövid módja)

Tehát alapvetően a hurkot annyiszor megismételjük, amennyire LED-ek vannak, és minden egyes alkalommal? ismételve lesz egy változónk, én, amit azonban tudunk használni.

Mi? Ezt a szerkezetet kétszer használom az induláshoz. Miután belépett a beállítási funkcióba, az összes csapot kimeneti üzemmódba kapcsolja, így:

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

Látja, mit tettünk ott? Ahelyett, hogy 9 sornyi kódot írna az egyes PIN-kódok kimenetként való deklarálására, létrehozunk egy „for” hurkot, amely 9-szer ismétli magát, minden alkalommal egy másik PIN-kódot beállítva.

Most már látnia kell, hogy pontosan ugyanezt tehetjük meg a fő program hurkában az egyes LED-ek sorrendben történő bekapcsolása érdekében:

void loop () {for (int i = 0; i <9; i ++) {digitalWrite (led [i], HIGH); késleltetés (100); digitalWrite (LED-ek [i], LOW); } }

Próbáld ki. tudsz töltse le innen a mai projekt teljes kódját ha te? d Inkább ne írja ki újra (bár erre ösztönzöm, mert elősegíti a tanulási folyamatot).

Oké, tehát most meglehetősen unalmas megvilágítási sorrendünk van. Hadd? s programot készít egy másikra. Csak a móka kedvéért, hadd? ez teljesen véletlenszerűvé teszi. Cserélje ki a fő hurokkódot erre:

void loop () { int randomLed = véletlenszerű (0,8); digitalWrite (LED-ek [randomLed], HIGH); késleltetés (50); randomLed = véletlenszerű (0,8); digitalWrite (LED-ek [randomLed], LOW); }

Ahelyett, hogy „for” hurkot használnánk az egyes LED-ek iterációjához, egy véletlenszerű számot választunk 0–9 között, és ezt villogjuk.

A mai napra hagyom, mert most elegendő ismerettel kell rendelkeznie az összes új sorozat programozásához és a hurkok kísérletezéséhez. Annak bizonyítására, hogy ez mennyire egyszerű, arra késztettem a feleségemet, hogy gondoljon ki egy sorozatot? szeretném megnézni, majd megkaptam?saját magának a programozásához, csak a kódot és a leckéket adta meg? eddig volt. Feljött erre, tehát nézd meg, hogy megfelel-e ennek a házi feladatnak!

Kérdések, javaslatok, problémák - kérjük, vegye fel a kapcsolatot a hozzászólásokkal.

James rendelkezik mesterséges intelligencia BSc-vel, CompTIA A + és Network + tanúsítvánnyal rendelkezik. A MakeUseOf vezető fejlesztője, és szabadidejét VR paintballon és társasjátékokon játszik. Gyerekkora óta épít PC-ket.