Tlačítka octopus
Microbit má pouze dvě tlačítka. Jedno z možných příslušenství, které nabídna pět dalších tlačítek je jednoduchý Octopus modul s tlačítky.
Výhodou je připojení všech tlačítek pouze k jednomu pinu a programování bez nutnosti přidávat rozšíření, což umožní pochopit, jak tlačítka fungují. Nevýhodou je nemožnost detekovat stisk více tlačítek současně.
Výhodou je připojení všech tlačítek pouze k jednomu pinu a programování bez nutnosti přidávat rozšíření, což umožní pochopit, jak tlačítka fungují. Nevýhodou je nemožnost detekovat stisk více tlačítek současně.
Tlačítka můžeme pomocí kabelu gvs připojit k některé rozšiřující destičce nebo pomocí kabelů dupont-krokodýl přímo k microbitu. (gvs: hnědá–gGND, červená–3V, žlutá–P1)
Trocha fyziky: Na destičce připojené k napájení (G = ground, zem a V = volty), jsou připájeny rezistory, které fungují jako dělič napětí. Každé tlačítko spojuje třetí vodič (S = signál) s jiným místem na děliči a proto po stisku tlačítka se na pin dostane jiná poměrná část napětí. Zjednodušený princip je vidět na schématu (chybí plné napětí do pinu bez stisku tlačítka):
Chcete si tlačítka za pár korun vyrobit sami? Stačí pouze nepájivé pole, tlačítka, rezistory a spojovací vodiče. Ještě lépší výsledek získáte připájením tlačítek a rezistorů na plošný spoj.
Hodnoty na pinu bychom mohli vypočítat ze znalosti odporů, ale je potřeba znát i vnitřní zapojení micro:bitu, protože k pinům 0, 1, 2 jsou připojeny pull-up 10MΩ rezistory (a proto fungují i na dotyk). Praktičtější tedy je hodnoty naměřit.
1) Průzkum tlačítek
Hodnoty, které microbit přečte na pinu, ke kterému jsme destičku připojili, můžeme číst pomocí sériové komunikace: V bloku opakuj stále použijeme blok Pokročilé > Sériová komunikace > sériový zapiš řádek a v něm Pokročilé > Piny > přečtené číslo z pinu P1. Přidáme krátké čekání a po stisknutí tlačítka Zobrazit data zařízení pod simulátorem ihned vidíme hodnoty.
Hodnoty si zapíšeme a rozmyslíme si, co má microbit dělat po stisku kterého tlačítka (např. rozsvítit některý bod).
2) Reakce na tlačítka
Abychom odlišili, které tlačítko je stisknuto, potřebujeme vybrat hranice někde mezi těmito hodnotami a použít je v rozvětvené podmínce. Modré základní bloky se zobrazením obrázků nebo textu zdržují vestavěným čekáním, vhodnější je použít rychlé fialové bloky LED obrazovka > rozsviť x, y.
Výsledný kód (spoiler)
Sériovou komunikaci můžeme z kódu odstranit.