Az alacsony költségű Raspberry Pi Pico mikrokontroller kártya nagy rugalmasságot kínál a rajongók számára, hogy felfedezzék a projekteket műszaki ismereteik bővítése érdekében. Az alapok elsajátítása szilárd tudásbázist biztosít a bonyolultabb feladatok elvégzéséhez.
Itt megvizsgáljuk, hogyan vezérelheti egy hétszegmenses kijelző egyes részeit Raspberry Pi Pico és néhány MicroPython kód segítségével.
Mire lesz szüksége?
A következő elemeket tartalmazza Kitronik feltalálói készlet Raspberry Pi Pico-hoz. Mégis, ha Ön az elektronika gyűjtőhelye, akkor nagyon valószínű, hogy ezeket az alkatrészeket elrejti otthon.
- Hétszegmenses kijelző
- 7x 220Ω ellenállás
- 9x apa-apa áthidaló vezetékek
- Kenyértábla
Szüksége lesz egy Pico-ra GPIO tűfejlécekkel. Ha még nem tetted, tudd meg hogyan kell forrasztani a fejléc csapjait egy Raspberry Pi Pico-n.
A hardver csatlakoztatása
A projekt vezetékezése nem bonyolult; azonban, ha néhány ellenállás és áthidaló vezeték van játékban, ehhez ébernek kell maradnia, hogy megbizonyosodjon arról, hogy minden darab a megfelelő érintkezőkhöz van csatlakoztatva. Ezt szem előtt tartva nézzük meg, hogyan kapcsolódnak az alkatrészek a Raspberry Pi Pico és a kenyérsütőtábla között.
Először húzzon ki egy vezetéket a Pico GND tűjéből, és helyezze a másik végét a negatív kenyérsín mentén lévő bármely lyukba. A fennmaradó csatlakozók a kenyérpanel egyes részeihez csatlakoznak a hétszegmenses kijelző és az ellenállások körül.
Az áthidaló vezetékek elvezetése folyamatban van GP16, GP17, és GP18 a kijelző jobb oldalához csatlakozik, és egy vonalban a kijelző felett elhelyezkedő ellenállásokkal.
A hétszegmenses kijelző bal oldalán kell vezetnie a vezetékek másik oldalát, amelyek GP15, GP14, GP13, és GP12 a kenyérsütőtábla csatlakozásokhoz. Ismét ügyeljen arra, hogy a vezetékeket a megfelelő ellenállásokkal összhangban csatlakoztassa.
Van egy kisebb áthidaló vezeték, amelyet a kenyérsütőtábla negatív sínje mentén kell csatlakoztatni. Ennek a kapcsolatnak a másik oldala két ellenállás közé megy, közvetlenül a kijelző felett. Győződjön meg arról, hogy az ellenállás sávja piros, piros, barna és arany (220 ohm esetén).
Problémákba ütközik? Fontolja meg az ellenállások tesztelését (különösen, ha már egy ideje felhalmozza az elektronikai alkatrészeket). Tekintse meg útmutatónkat hogyan mérjünk ellenállást multiméterrel a tesztelési lépésekhez.
A kódex feltárása
Lehetősége lesz a kijelző hét szegmensének mindegyikét vezérelni a Thonny IDE segítségével. Tekintse meg útmutatónkat, hogy hogyan kezdje el a MicroPython használatát a Raspberry Pi Pico-n további részletekért. Letöltheti a 7segment.py kódfájl a MUO GitHub adattár.
A kód egyik kulcsfontosságú része, hogy a kijelző hét szegmensét Pico tűkhöz rendeli GP12 keresztül GP18, mindegyik változónévvel (segA nak nek segG).
segA = gép. Csap (18, gép. Pin. KI)
segB = gép. Csap (17, gép. Pin. KI)
segC = gép. Csap (16, gép. Pin. KI)
segD = gép. Csap (15, gép. Pin. KI)
segE = gép. Csap (14, gép. Pin. KI)
segF = gép. Csap (13, gép. Pin. KI)
segG = gép. Csap (12, gép. Pin. KI)
Egy lista, ún csapok, ezeket a változókat ugyanabban a sorrendben tartja. Egy beágyazott lista (más néven "listák listája"), ún számokA, ezután annak meghatározására szolgál, hogy mely szegmensek világítanak az egyes számjegyeknél; minden sor egy számjegyet jelöl 0 és 9 között, plusz egy utolsó sort a számjegy nélkül. Az „1” a listában azt jelzi, hogy a szegmensnek világítania kell; a "0" azt jelenti, hogy nem szabad.
A displayNumber függvény lesz meghívva, amellyel a számjegyet kell megjeleníteni; az adott számjegy megjelenítéséhez a megfelelő sor számok A lista a hozzárendelt GPIO kimeneti érintkezők aktiválásával határozza meg, hogy mely szegmensek világítanak.
Végül a míg igaz: Az infiniteloop ismételten meghívja a displayNumber függvényt, hogy 0-tól 9-ig számoljon, majd fordított sorrendben. Ha ez megtörtént, a kijelző rövid időre törlődik. Innentől a folyamat újra kezdődik.
mígIgaz:
a (10) tartományban lévő i számára:
displayNumber (i)
idő.sleep_ms(600)
i tartományban (9, -1, -1):
displayNumber (i)
idő.sleep_ms(600)
Ha még nem gondolta volna, ez a hurok nem áll meg. A kód arra utasítja a Raspberry Pi Pico-t, hogy egy végtelen ciklusban számoljon. Tehát, ha a teljesítményed újdonsága kimerült, meg kell nyomnod a stop gombot Thonnyban.
Mivel fogsz legközelebb kísérletezni?
Ez a projekt arra ösztönöz, hogy digitális órát készítsen Raspberry Pi Pico és extra hétszegmenses kijelzők segítségével? Még jobb, ha egy teljes méretű Raspberry Pi számítógéppel léphet be, és konfigurálhat egy cron ütemezőt úgy, hogy minden reggel 7:00-kor játsszon le egy dalt. Szundi gomb hozzáadható a zene leállításával, majd tíz perccel később a hang lejátszásával. Ha háromszor megnyomja a gombot, a zene holnapig kikapcsolható.