Csatlakozzunk a micro:bit-hez!
A micro:bit rendelkezik két nyomógombbal, egy 5×5-ös ledkijelzővel, és több szenzorral, azonban felmerülhet az igény további, külső eszközök csatlakoztatására. Erre több lehetőség is adódik az eszköz úgynevezett élcsatlakozóján keresztül.
A csatlakozó öt darab nagyméretű és húsz keskenyebb csatlakozó felületből áll. A „0 – 1 – 2 – 3V – GND” jelzésű csatlakozók könnyen elérhetők akár banándugóval, akár krokodilcsipesszel, ahogy azt az alábbi képen is láthatjuk:
Ez a két megoldás összetettebb kapcsolások elkészítéséhez meglehetősen nehézkes, a köztes, kisméretű csatlakozó felületek elérését nem teszi lehetővé, valamint gyakorlati tapasztalatok alapján nem is teljesen biztonságos!
Kényelmes, és az összes csatlakozási pont elérését lehetővé tevő megoldás a breadboard-ba dugható élcsatlakozó. A következő példákban az alábbi típust használjuk:
A krokodilcsipeszes megoldás az élcsatlakozó segítségével a következőképpen valósítható meg:
A képen látható elrendezésben a piros színű LED a 0-s kimenetre csatlakozik, majd a korlátozó ellenálláson keresztül a micro:bit GND pontjára.
A panel két csatlakozási lehetőséget is kínál az egyes micro:bit kivezetések elérésére, a „T” alakzat vízszintes és függőleges szárán egyenértékűen elérhetőek a ki- ill. bemenetek.
Ha az ábrán látható elrendezés LED-jét szeretnénk villogtatni, arra az alábbi egyszerű micropython program alkalmas:
from microbit import * while True: pin0.write_digital(1) # on sleep(500) pin0.write_digital(0) # off sleep(500)
Az alkalmazott parancs felépítése:
pin[n].write_digital([m])
ahol n a kimenet sorszáma (0 – 1 – 2 – 3 – …..), m pedig a kimenet logikai szintje.
A piros LED-et kibővítve további két (sárga illetve zöld) diódával, közlekedési lámpa modellt készíthetünk. Az áramköri bekötés a következő lesz:
A megvalósított áramkör:
A működtetéshez szükséges program, ami az alap közlekedési lámpa vezérlési ciklusát valósítja meg:
from microbit import * while True: pin0.write_digital(1) sleep(2000) pin1.write_digital(1) sleep(1000) pin0.write_digital(0) pin1.write_digital(0) pin2.write_digital(1) sleep(2000) pin2.write_digital(0) pin1.write_digital(1) sleep(1500) pin1.write_digital(0)
Ha szeretnénk kihasználni a ledmátrix adta lehetőségeket, akkor a program kiegészíthető további két sorral, ami a kijelzőn a STOP! illetve a GO! feliratokat jeleníti meg:
from microbit import * while True: pin0.write_digital(1) display.scroll("STOP!") sleep(2000) pin1.write_digital(1) sleep(1000) pin0.write_digital(0) pin1.write_digital(0) pin2.write_digital(1) display.scroll("GO!") sleep(2000) pin2.write_digital(0) pin1.write_digital(1) sleep(1500) pin1.write_digital(0)
Egy további gomb…
A micro:bit-hez természetesen nem csak LED, hanem külső gomb is csatlakoztatható. Itt is, mint minden digitális bemenetnél célszerű lehúzó vagy felhúzó ellenállást alkalmazni. A következő példában a micro:bit 0-s bemenetére egy nyomógombot kötünk, ami a felhúzó ellenállással magas szintre vitt bemenetet GND potenciálra (logikai alacsony szint) viszi.
A micro:bit 1-es kimenetére az előbbiekben megismert módon egy piros LED-et kötünk. Az alkalmazott kapcsolás:
A program segítségével be tudjuk olvasni a nyomógomb pillanatnyi állapotát, az ehhez kapcsolódó
buttonState
változóba a bemenet éppen aktuális állapotának megfelelően logikai 1 vagy 0 kerül. Az egyszerű elágazás „0” esetén bekapcsolja a LED-et, illetve megjelenít a ledmátrixon egy OK jelet. Felengedett gombnál (logikai „1”) a kijelző és a LED is sötét marad.
from microbit import * while True: buttonState = pin0.read_digital() if buttonState==0: display.show(Image.YES) pin1.write_digital(1) else: display.clear() pin1.write_digital(0) display.clear() pin1.write_digital(0)
A négy forráskód letölthető:
- 1. program – villogó LED
- 2. program – Közlekedési lámpa
- 3. program – Közlekedési lámpa kis extrával
- 4. program – Extra gomb
A BBC micro:bit és sok más tartozéka megvásárolható a pi-shop.hu és a MálnaPC Webshopjában!