august 2023

Microbit a umelá inteligencia

V tomto návode naučíme microbit rozoznávať obrázky, písmená a číslice pomocou kitu Smart AI Lens.

Smart AI Lens je kamera (ďalej budem používať slovo kamera), ktorú možno pripojiť k mikrobitu. Okrem kamery budeme ako ďalší doplnok potrebovať rozširujúcu dosku, pomocou ktorej sa pripojíme aj k malým pinom microbitu.

Fyzické zapojenie

Kameru možno napájať cez microbit, alebo môže byť napájaná priamo. Keď som ju napájal cez microbit, microbit sa prehrieval a zostava nefungovala, takže budeme potrebovať dva USB káble, jeden sa pripojí k microbitu a druhý ku kamere.

Microbit zastrčíme do rozširujúcej dosky, dosky môžu byť rôzne, na niektorých sú označenia jednotlivých pinov na iných si to musíme dorátať. Microbit komunikuje s kamerou pomocou kábla, ktorý má na jednej strane štyri kábliky a na druhej konekctor RJ11 (konektor, aký sa používa pre telefóny pevných liniek). Dva z týchto drôtikov slúžia na napájanie (nepoužijeme) a dva slúžia na sériovú komunikáciu. Drôtik, ktorý zapojíme k pinu Clock, slúži na synchronizáciu zariadení, aby nevysielali dáta súčasne a druhý slúži na posielanie a prijímanie dát pripojíme k pinu Data. Na rozširujúcich doskách bývajú označené skratkou Cl, C a Da, D. Ak sme všetko zapojili správne, obrazovka kamery sa rozsvieti, zatiaľ nezobrazuje čo sníma, ale zobrazí sa jej úvodná obrazovka.

Naprogramovanie rozoznávania

Do programu musíme pridať rozšírenie Planet_X_AI-Lens. Klikneme na Rozšírenia, do vyhľadávania dáme Planet, zobrazia sa nám všetky rozšírenia Planet X, medzi nimi aj Planet X AI.

Do kategórií príkazov pribudlo rozšírenie, keď naň klikneme, zobrazí sa Vision a ASR. Vision obsahuje príkazy pre našu kameru, ASR obsahuje príkazy na rozoznávanie reči. Klikneme na Vision, ako prvý sa zobrazí blok Inicialize AI Lens. Presunieme ho do bloku Počas spustenia. Či všetko funguje ako má zistíme tak, že nahráme tento jednoduchý program do microbitu, na obrazovke kamery by sa malo zobraziť, čo kamera vidí.

Rozoznávanie kartičiek

Kamera je naučená rozoznávať obrázky, ktoré sú na kartičkách dodaných s kamerou.

Pod blok Inicialize… vložíme blok Switch function as a parameter nastavíme na Card recognition. Teraz keď pod kameru dáme niektorú z kartičiek, na obrazovke kamery sa zobrazí anglicky, čo kamera rozoznala a percentá,na koľko si je istá, že je to naozaj ono. Písmo je veľmi malé, takmer nečitateľné.

Rozoznávanie farieb a rozsvietenie LED pásika príslušnou farbou

Keď v bloku Switch function as zmeníme parameter na color recognition, kamera sa prepne do módu rozoznávania farieb, Ak k microbitu zároveň pripojíme LED pásik, môžeme ho naprogramovať tak, aby sa pásik rozsvietil takou farbou, akú kamera vidí.

Fyzické zapojenie

Kamera bude zapojená tak, ako už zapojená bola. Navyše pripojíme k rozširujúcej doske LED pásik. Pásik má tri drôtiky, čierny pripojíme k pinu zem (ground), skratka GND, červený pripojíme k pinu 3V a žltý napríklad k pinu 0. Na odskúšanie môžeme krokosvorky káblikov priložiť priamo k okrúhlym otvorom na microbite, kontakt je veľmi nestabilný. Použijeme preto drôtiky, ktoré majú na jednom konci samčeka a na druhom samičku. Samičky zastrčíme do príslušných kolíkov na rozširujúcej doske a krokosvorky pripojíme k samčekom. Najlepšie by bolo, aby drôtiky mali rovnaké farby a drôty s krokosvorkami, ale nie je to nevyhnutné, len je to prehľadnejšie. Na mojom vzorovom zapojení som to tak neurobil.

Program

Príkazy LED pásika sprístupnime kliknutím na Rozšírenia a kliknutím na Neopixel. Do bloku po spustení vložíme blok nastaviť strip na Neopixel at pin P0 with 8 leds as RGB. Blok má dva parametre: pin – kde je pripojený žltý dátový káblik a druh kódovania dekódovania farieb.

Do bloku vždy vložíme blok Get one image from AI Lens – kamera zosníme jeden obrázok a vložíme niekoľko blokov ak … potom z kategórie Logika. Vo Vision sa presunieme do sekcie Color, vyberieme blok Image contains color card(s) a vložíme ho ako parameter za ak a za potom vložíme blok z neopixel strip show color a ako parameter použime tú farbu, ktorú sme testovali. Toto zduplikujeme 5 krát, nastavíme príslušné farby, keď program nahráme do microbitu, podľa toho ktorú kartičku položíme pod kameru, tak sa pásik rozsvieti príslušnou farbou. Pri umelom osvetlení, biela kartička niekedy rozsvieti pásik na žlto a v závislosti od svetelných podmienok, kamera nie vždy reaguje správne. Celý program by mal vyzerať takto:

.

Poznámka: Ak obrazovka kamery nezobrazuje čo sníma, môže to byť preto, že sa program na microbite spustil skôr, než sa kamera zapla. Keď na microbite stlačíme tlačítko Reset, program sa znova spustí a, ak je všetko zapojené ako má byť, kamera začne snímať.

Zdroje:

  • Absolvoval som videokurz na stránke Učíme s hardvérom. Postup práce vychádza z tohto kurzu a z mojich praktických skúseností s AI Lens.

Microsoft MakeCode Editor

MakeCode Editor slúži na programovanie microbitov. Po otvorení stránky editora (kliknite sem) sa vpravo hore zobrazí:

  • ozubené koliesko – konfigurácia editora, v prvom rade nastavenie jazyka, zvoľte si slovenčinu, alebo ponechajte angličtinu
  • Sign In – prihlásenie sa. Ak máte konto Googl, zvoľte Continue with Google, ak máte konto Microsoft zvoľte Continue with Microsoft. Nezabudnite, že po skončení ZŠ o školské Microsoft konto prídete, takže ak si budete chcieť svoje projekty zachovať, pred ukončením školskej dochádzky si projekty uložte na svoj počítač alebo preneste do konta Google.

Vľavo dole sa zobrazí Nový projekt a keď budete mať vytvorené vlastné projekty, tak vedľa neho budú projekty, ktoré ste už vytvorili.

Po kliknutí na Nový projekt, sa zobrazia tri oblasti. Vľavo je simulátor microbitu, takže môžete programovať aj doma, hoci nebudete mať microbit, v strede sú jednotlivé kategórie blokov a vpravo je váš projekt (program), na začiatku sú tam dva bloky počas spustenia a vždy. Po kliknutí na kategóriu blokov sa zobrazia všetky druhy blokov patriace do kategórie.

Teraz vytvoríte svoj prvý projekt, nazvime ho Meno: Po zapnutí alebo resetovaní microbitu sa zobrazí srdiečko, potom sa vypíše vaše meno, po zobrazení celého mena sa zobrazí smajlík.

Kliknite na kategóriu Základné, potiahnite blok zobraziť ikonu do počas spustenia. Kliknite na Základné a blok zobraziť reťazec vložte pod zobraziť ikonu, reťazec Hello zmeňte na svoje meno, ja dám Tibor Menyhért. Zostáva posledný príkaz, zobrazenie smajlíka. Môžeme to spraviť dvoma spôsobmi, klikneme na Základné a pod zobrazit reťazec vložíme zobraziť ikonu alebo klikneme pravým tlačítkom na blok zobraziť ikonu, ktorý už máme v programe a vyberieme duplikovať. Zmeníme ikonu srdiečka na ikonu smajlíka a program je predbežne hotový.

Ako vyskúšame, či náš program funguje?

Kliknite na šípku pod obrázkom microbitu a program sa spustí. Keďže sú príkazy v bloku po spustení, srdiečko, naše meno a smajlík sa zobrazia iba raz a potom smajlík svieti celý čas. Postavte sa na prvý blok zobraziť ikonu, držte pravé tlačítko stlačené, potiahnite všetky bloky do bloku vždy, Teraz keď kliknete na šípku ikony a text sa zobrazujú neustále. Ikona smajlíka sa zobrazí na veľmi krátky čas. Preto som pridal blok pozastaviť (ms) s parametrom 1000. Program čaká 1000 milisekúnd a potom sa všetko opakuje. Mirobit nepozná písmená s diakritickými znamienkami a písmeno é v mojom mene nezobrazí. Jedným z projektov, ktoré môžete v budúcnosti naprogramovať by mohol byť Zobrazovanie písmen aj s diakritikou. Takýto projekt by mohol uspieť aj na súťaži Enter v spojení s inou funkcionalitou.

Ako dostať program do microbitu?

  • USB káblik pripojte do počítača a druhý koniec pripojte k mikrobitu
  • Kliknite na Stiahnuť, zobrazí sa animácia pripojenia káblika k microbitu
  • Kliknite na Ďalej, program s koncovkou hex sa stiahne do microbitu. Microbit môžete s počítačom spárovať, potom bude nahrávanie programov prebiehať rýchlejšie.
  • Ak všetko prebehlo ako malo, neustále sa zobrazuje srdiečko, vaše meno a smajlík
  • Keď microbit odpojíte od počítača, microbit sa vypne, keď ho znova pripojíte k počítaču, batérii alebo power banke, program sa automatický spustí

Môj program vyzerá takto.

Úlohy na diskusiu a samostatnú prácu:

  • navrhnite, ako by sa dal program vylepšiť a rozšíriť
  • vyberte jeden z návrhov, naprogramujte ho a výsledok predveďte spolužiakom

Zdroje:

  • obrázky vnikli vystrihnutím častí stránok MakeCode Editora
  • podobný projekt som kedysi videl na Učíme s hardvérom, ale vytvoril som ho nanovo