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ő:

A cikkben használt micro:bit és sok más tartozéka megvásárolható a MálnaPC Webshopjában!