Zariadenie BBC micro:bit je programovateľný mikropočítač. Je výsledkom spoločnej iniciatívy širokého spektra súkromných i verejných organizácií, ktorej cieľom bolo vytvorenie lacnej edukačnej platformy, ktorú zastrešila britská verejnoprávna televízna spoločnosť BBC. Tá v roku 2016 rozdistribuovala jeden micro:bit každému žiakovi siedmeho ročníka v Spojenom kráľovstve (11 až 12 roční).
Na úvod pripomenieme, že doska školského mikropočítača BBC micro:bit, ktorú sme predstavili v článku, je dostupná aj u nás. Na e-shopoch ho kúpite za menej ako 20 eur a metodické materiály pre učiteľov nájdete na webe. Vo voľnom pokračovaní predstavíme podrobnejšie hardvérové možnosti dosky a konektor zbernice.
Konektor na okraji plošného spoja má päť širokých kontaktov s pokovenými otvormi do ktorých je možné pripnúť vodiče s krokosvorkami, alebo zasunúť „banánikové“ konektory s priemerom 4 mm. Medzi nimi je 20 ďalších úzkych kontaktov. Tie je možné využiť, keď vložíte BBC micro: bit do vhodného adaptéra, umožňujúcom realizovať zapojenie na doske s prepojovacím poľom. A práve na takejto doske zrealizujeme pripojenie LED diód, tlačidla, potenciometra vo funkcii deliča napätia a fotorezistora. Všetky príklady sú názorne ukázané vo videu
Dosiaľ sme programovali mikropočítačovú dosku klasicky tak, že hlavný program, ktorý robil niečo jednoduché, periodicky bežal v nekonečnej slučke vytvorenej pomocou cyklu forever. Ak vytvárate aplikáciu, ktorá reaguje na podnety od používateľa alebo od senzorov monitorujúcich veličiny z okolia alebo nejakého procesu, bolo by monitorovanie týchto udalostí v slučke trochu komplikované na naprogramovanie podmienok.
Pomocou portov dosky micro:bit môžete spínať pripojené zariadenia, avšak ich napájanie je limitované napätím 3.3 V a maximálnym prúdom niekoľko desiatok miliampérov. Pri napájaní cez USB prúdový regulátor zvládne záťaž 120 mA. Ak počítame 30 mA na napájenie obvodov na samotnej doske, tak na napájanie periférií zostáva celkový maximálny prúd 90 mA. Takže môžete napájať napríklad 4 LED diódy pripojené na portoch, pričom každá odoberá 20 mA.
Ak ešte nemáte dostatok skúseností so zapojovaním elektronických obvodov a chcete si vyskúšať fungovanie čidiel a displejov a ďalších komponentov pripojených k vývojovým doskám, riešením sú modulové stavebnice Grove. Predstavujeme možnosti stavebnice Grove pre vývojovú dosku BBC Micro:bit. Cena stavebnice je okolo 50 eur.
Python je interpretovaný programovací jazyk určený pre všeobecné programovanie. Hlavnou výhodou je jeho zrozumiteľnosť, takže zdrojovému programu v jazyku Python porozumie aj začiatočník a bude veľmi rýchlo vedieť realizovať v ňom svoje nápady. Naproti tomu ak by ste ukázali začiatočníkovi kód v programovacom jazyku C, kde sa to len tak hemží smerníkmi, asi by ste ho dosť znechutili a nadobudol by dojem, že programovanie je veľmi zložité.
Python bol navrhnutý ako vysoko modulárny. K dispozícií je niekoľko stoviek modulov, ktoré z neho robia rozšíriteľný jazyk pre potreby akéhokoľvek projektu. Dôležitým cieľom autorov jazyka Python je zachovanie zábavy počas tvorby aplikácií. To sa odzrkadľuje aj v názve jazyka - podľa britskej komediálnej skupiny Monty Python. Pokiaľ sa chcete učiť tento programovací jazyk na PC, je potrebné na počítač nainštalovať Python vo verzii 3.x z adresy https://www.python.org. Ako vývojové prostredie odporúčame PyCharm https://www.jetbrains.com/pycharm/.
V predchádzajúcej časti sme začali tému programovania mikropočítačovej dosky dosky Micro:bit v populárnom jazyku Python zameranú na implementačné detaily a obsluhu hardvéru. Môžete použiť webový nástroj na adrese https://python.microbit.org/v/1.1, vtedy nebudete musieť na lokálny počítač nič inštalovať, alebo nástroj Mu-editor, ktorý je k dispozícii na https://codewith.mu.Vstupno-výstupné piny zbernice, z ktorých mnohé majú aj alternatívne funkcie sa adresujú ako microbit.pin0 - microbit.pin20.
Piny 0,1 a 2 majú zapojené 10 Mega ohmové rezistory na + 3.3V aby fungovali ako dotykový senzor. Funguje to tak, že jednou rukou chytíte pin GND a prstom druhej ruky pin 0,1, alebo 2. Na piny 5 a 11 sú pripojené rezistory 10 K, aby mohli fungovať tlačidlá A a B. Niektoré piny zbernice, konkrétne 3, 4, 6, 7, 9. a 10 sa využívajú aj pre displej. Ak ich chcete využiť na iný účel, je potrebné vypnúť displej príkazom microbit.display.off(). V tomto príklade využijeme dotyk kontaktných plôšok prstom. Či sa človek dotýka, alebo nedotýka pinu sa dá zistiť príkazom is_touched(), ktorý vracia hodnoty True, alebo False.
V prvom článku venovanom programovaniu Micro:bit v Pythone sme prebrali obsluhu tlačidiel a displeja, v druhej časti obsluhu hardvéru, čiže vstupov, výstupov, ovládaniu servomotorov, zvuku, kompasu akcelerometru a taktiež sme ukázali zapisovanie údajov do súborov. V tomto článku sa zameriame na komunikáciu cez bluetooth a vstavaný rádiomodem.Micro:bit podporuje dva druhy bezdrôtovej komunikácie - Bluetooth Low Energy (BLE) pre komunikáciu s mobilnými zariadeniami a rádiový prenos pre komunikáciu s inými zariadeniami BBC micro:bit. Rádiovú komunikáciu je možné naladiť na rôzne kanály (očíslované 0-83). Všetci zainteresovaní sa naladia na ten istý kanál a každý počuje, čo všetci ostatní vysielajú cez tento kanál. Môžete nastaviť aj vysielací výkon. Čím väčší výkon, tým bude väčší dosah komunikácie. Nakoľko sa používa rovnaký čip a rovnaký výkon ako pri komunikácii cez bluetooth, maximálny dosah bude v otvorenom priestore približne 50-70 m.Pri konfigurácii rádiovej komunikácie môžete nastaviť dĺžku správy, štandardne je nastavená dĺžka 32 bajtov, maximálna dĺžka môže byť 251 bajtov.
Počas prázdnin už tradične pripravujeme seriál pre žiakov a študentov venovaný robotike. Tradične preto lebo vlani sme v trojici článkov prvý, druhý a tretí predstavili možnosti robotickej stavebnice Lego Mindstorms. Čitatelia nás v mailoch upozornili, že stavebnica 320 eur je ako vstupná brána do robotiky trochu riziková investícia, hlavne u detí, kde sa nedá odhadnúť, či ich stavba a programovanie robotov bude, alebo nebude baviť. Tento rok sa preto zameriame na cenovo oveľa dostupnejšie riešenia. Najlacnejší a pritom plnohodnotný podvozok získate v e-shopoch už za 20 eur a to vrátane dosky Arduino, dosky na riadenie motorov, prepojovacej dosky, servomotora a ultrazvukového senzora vzdialenosti.
V prvej časti seriálu sme ukázali návod na postavenie jednoduchého robotického podvozku riadeného populárnou doskou Micro:bit, vrátane kódov na otestovanie regulácie otáčok a zmenu smeru otáčania motorčekov. Micro:bit umožňuje vytvorenie rádiového prepojenia medzi dvomi, prípadne viacerými doskami, takže jedna doska môže riadiť hardvér robotického podvozku a pomocou druhej dosky môžete robotické vodidlo ovládať. A to buď pomocou dvojice tlačidiel, prípadne potrasením, naklápaním, či natáčaním dosky, ktorá má zabudovaný akcelerometer a náklonomer.
Stavebnica Ring: bit obsahuje mechanické diely, servomotory a dosku elektroniky pomocou ktorých môžete za niekoľko minút poskladať robotický podvozok, ktorý bude riadiť populárny jednodoskový mikropočítač BBC micro:bit, ktorý sa používa na výučbu programovania aj v mnohých našich školách. Micro:bit sa k doske elektroniky pripevní pomocou piatich skrutiek, ktoré zároveň tvoria elektrické prepojenie pre tri porty P0, P1 a P2, napájacie napätie 3.3 V a elektrickú zem GND. Dva GPIO porty P1 a P2 sú určené na ovládanie servomotorov poháňajúcich kolesá a tretí port P0 sa dá použiť na iný účel, napríklad ultrazvukový senzor a podobne. Na pomocnú dosku elektroniky na ktorej sú aj dve RGB diódy sa dajú umiestniť prídavné senzory, ktoré nie sú súčasťou štandardného balenia stavebnice.
Ultrazvukový merač vzdialenosti Sensor:bit pre populárnu mikropočítačovú dosku BBC Micro:bit umožní merať vzdialenosti 4 ÷ 400 cm s presnosťou 1 cm. To umožňuje vášmu robotickému podvozku orientáciu v priestore, napríklad pri úlohách typu prechod labyrintom. Ak robot pomocou senzora zistí, že je pred ním prekážka, môže včas zmeniť smer.
Vlani sme cez prázdniny v trojici článkov Robotický podvozok, Segway z Lega a Digitálne dvojča predstavili možnosti robotickej stavebnice Lego Mindstorms. Čitateľov možnosti tejto stavebnice zaujali, avšak odradila ich cena. Predsa len 320 eur je ako vstupná brána do robotiky trochu riziková investícia, hlavne u detí, kde sa nedá odhadnúť, či ich stavba a programovanie robotov bude, alebo nebude baviť. Niektoré stavebnice Lego Technic, napríklad modely áut, či iných mechanizmov sú však cenovo dostupnejšie – typicky pod 50 eur a keby sa model zo stavebnice doplnil o riadiacu jednotku, motory a senzory, mohli by vzniknúť kreatívne konštrukcie. Pravdepodobne najzaujímavejším riešením je využiť ako riadiacu jednotku populárnu mikropočítačovú dosku BBC Micro:bit (14 eur) používanú aj v našich školách doplnenú o modul Elecfreaks Wukong (27 eur), ktorý umožňuje riadiacu jednotku zakomponovať do Lego Modelu. Potrebujete samozrejme aj motorčeky, alebo servá. Aj tie sú k dispozícii v takom konštrukčnom usporiadaní aby sa dali spájať s komponentmi stavebnice Lego Technic.
V prvej časti venovanej automatizácii výtvorov zo stavebnice LEGO Technic sme ukázali možnosti motorov a servomotorov určených na zakomponovanie do tejto stavebnice. Po doplnení o vhodnú riadiacu jednotku budú môcť žiaci a študenti naplno prejaviť svoju kreativitu. Vzhľadom k vekovej kategórii pre ktorú sú stavebnice LEGO Technic určené je najvhodnejšou riadiacou jednotkou mikropočítač BBC Micro:bit (14 eur) používaný v mnohých našich školách pri výučbe programovania a robotiky doplnenú o modul Elecfreaks Wukong, ktorý umožňuje riadiacu jednotku zakomponovať do Lega.
Systémy pre inteligentnú domácnosť sú vďačným námetom aj na školské, či hobby projekty s populárnou mikropočítačovou doskou BBC Micro:bit, ktorá sa používa v mnohých školách na výučbu programovania a robotiky. Všetky potrebné komponenty nájdete v súprave Smart home Kit.
Niekoľko zaujímavých mini projektov s touto súpravou je v našom videu.
V článku sme predstavili stavebnicu robotického podvozku Ring: bit V2, ktorý je riadený populárnym jednodoskovým mikropočítač BBC micro:bit, ktorý sa používa na výučbu programovania aj v mnohých našich školách. Micro:bit sa k doske elektroniky pripevní pomocou piatich skrutiek, ktoré zároveň tvoria elektrické prepojenie pre tri porty P0, P1 a P2, napájacie napätie 3.3 V a elektrickú zem GND.
V článku sme ukázali ako je možné ovládať robotické autíčko riadené doskou Micro:bit pomocou druhého Micro:bitu, ktorý držíte v ruke, pričom obidva Micro:bity sú navzájom prepojené. Na ovládanie ste mohli využiť tlačidlá A a B a nakláňanie dosky v ruke, pričom sa do riadiacej dosky robota posielali údaje z akceleometra v osiach X a Y. Efektné, ale nie príliš presné.
Súčasťou robotickej stavebnice mBot od firmy MakeBlock je riadiaca jednotka s procesorom ATmega 328 kompatibilná s Arduinom. K dispozícii je aj modul, ktorý ako alternatívnu riadiacu jednotku umožňuje použiť modernú a veľmi populárnu mikropočítačovú dosku BBC Micro:bit, používanú v mnohých našich školách na výučbu programovania a robotiky.
Populárna mikropočítačová doska Micro:bit má na čipe integrovaný modul na bezdrôtovú komunikáciu, avšak ten umožňuje „len“ prepojenie viacerých (aj niekoľko desiatok) dosiek Micro:bit medzi sebou, takže je možné napríklad vytvoriť viacznakový displej tak, že každý Micro:bit zobrazuje jeden znak. Prípadne môžete rádiový modul nakonfigurovať tak, aby ste mohli komunikovať zo smartfónom cez bluetooth. Pripojením na WiFi doska Micro:bit nedisponuje.
K dispozícii je však modul IoT: bit pre Micro:bit, ktorý umožňuje pripojenie k WiFi, takže z Micro:bitu sa stane plnohodnotná platforma pre internet vecí (IoT). Budete môcť na diaľku ovládať rôzne zariadenie alebo merať požadované veličiny a posielať ich do cloudu na ďalšie spracovanie.
V článku sme predstavili modul IoT: bit pre Micro:bit, ktorý umožňuje pripojenie k WiFi, takže z Micro:bitu sa stane plnohodnotná platforma pre internet vecí (IoT). Budete môcť na diaľku ovládať rôzne zariadenia alebo merať požadované veličiny a posielať ich do cloudu na ďalšie spracovanie.
V tomto pokračovaní ukážeme dva príklady, ktoré budú merať rôzne veličiny. V obidvoch využijeme interné senzory na doske Micro:bit. Tie umožňujú merať teplotu pomocou senzoru priamo na čipe, zrýchlenie pomocou akcelerometra a dokonca aj intenzitu osvetlenia s využitím diód maticového displeja. Podľa skúseností je nameraná teplota čipu spravidla o 4 °C vyššia než teplota okolia. V prvom príklade budeme merať teplotu a intenzitu osvetlenia a v druhom zrýchlenie v osiach X, Y a Z. Môžete samozrejme využiť aj externé senzory na presné meranie teploty, intenzity osvetlenia, prípadne ďalších parametrov. Môžete využiť napríklad senzory zo súpravy Smart Science IoT Kit, prípadne aj zo súpravy Smart home Kit, ktoré sa pomocou trojvodičového kábla pripájajú na porty GVS (Ground, Voltage, Signal) dosky IoT:bit. Na zobrazovanie použijeme OLED displej z niektorej zo spomínaných súprav, pripojený k doske IoT:bit cez rozhranie I2C. Pripojenie displeja nie je pre fungovanie príkladov potrebné.
V článku sme predstavili modul IoT: bit pre Micro:bit, ktorý umožňuje pripojenie k WiFi, takže z Micro:bitu sa stane plnohodnotná platforma pre internet vecí (IoT). Postup posielania údajov do cloudovej platformy ThingSpeak sme ukázali v článku.
Námetom tohoto pokračovania je jednoduchá automatizácia s využitím IFTTT. Skratku v nadpise asi poznáte, znamená “If This Then That”, čiže po našom „ak toto, potom tamto“ alebo inak povedané, ak nastane takáto situácia, urob takúto akciu. IFTTT je riešenie, ktoré vám umožní vytvárať si akési „recepty“ (recipes), prostredníctvom ktorých si jednoducho nadefinujete akciu a reakciu.
Prvé, čo vás na tomto robotickom podvozku prekvapí je rýchlosť jeho pohybu, ktorou prekonáva väčšinu robotov, ktoré sme dosiaľ predstavili v našom seriáli. Rýchlosť na jednej strane znamená, že v prípadných pretekoch robotov pri sledovaní čiary, alebo pri úniku z labyrintu veľmi pravdepodobne zvíťazíte, avšak rýchlosť pohybu je zároveň aj výzvou pre programovanie, aby robot predpísaný úkon zvládol čo najrýchlejšie, no aby nevybočil z dráhy, nespadol zo stola a podobne. Samozrejme Cutebot sa v prípade potreby dokáže pohybovať aj pomaly.
Akadémia programovania už druhý rok školí pedagógov, aby vyučovanie informatiky prebiehalo zábavnou formou. Zároveň organizuje krúžky a workshopy programovania pre dievčatá. V roku 2018 vyškolili 120 pedagógov a 140 dievčat. Druhý ročník pokračuje formou jednorazových workshopov a pravidelných krúžkov na základných a stredných školách. Občianske združenie Aj Ty v IT organizuje Akadémiu programovania s podporou firiem Microsoft a AT&T. Cieľom je vyškoliť pedagógov a pomôcť im tak pri príprave zaujímavého obsahu hodín informatiky.
V našom dlhodobom seriáli venovanom robotickým konštrukciám a podvozkom sme dosiaľ predstavili dva spôsoby manévrovania robotických podvozkov. Robotické podvozky ktoré majú dve samostatne poháňané kolesá + opornú guličku a robot mení smer zmenou rýchlosti a smeru ich otáčania a autíčko z Lega doplnené o servá a Micro:bit, ktoré mení smer zatáčaním predných kolies. K dispozícii sú však aj ďalšie možnosti, napríklad malé bágre majú štyri kolesá bez možnosti natáčania a smer menia zmenou smeru a rýchlosti otáčania, pričom niektoré z kolies preklzujú. To si však na niektorých povrchoch vyžaduje značný krútiaci moment. V článku ukážeme ešte zaujímavejší spôsob manévrovania štvorkolesového podvozku so štyrmi kolesami Mecanum, ktoré sú upevnené tak, že nemajú možnosť zatáčania a napriek tomu má podvozok bohaté možnosti manévrovania. Tieto kolesá si právom zaslúžia prívlastok všesmerové.