Zvukový modul ME Audio Player od firmy Makeblock můžeme v případě mBota použít ke spoustě lumpáren. Například nám může mBot hlásit přesnou vzdálenost předmětů v okolí, nebo se může změnit v krutopřísného špiona (ovšem bez návyku na martini – „protřepat, nemíchat“). V druhém díle si představíme dva praktické projekty, které využívají zvukový modul od Makeblock.
Tento článek navazuje na předchozí díl o použití zvukového modulu, ve kterém popisuji principy používání tohoto modulu. V tomto článku budu popisovat dvě aplikace zvukového modulu.
Projekt „Ukecané měření“
Jistě jste měli někdy příležitost sledovat při práci řemeslníky, kteří používají moderní měřící techniku – digitální metry. Tato udělátka bývají někdy opatřena laserem, aby byl zcela jasný bod, ke kterému měříme a jindy ne. Každopádně fungují tak, že vám po aktivaci na displej vypíší přesnou hodnotu, kterou jste naměřili.
Zatím jsme sice nedokázali zabudovat do mBota laser (i když v budoucnu by na to možná mohlo dojít), ale zase s pomocí zvukového modulu ME Audio Player dokážeme naučit mBota naměřenou vzdálenost pěkně nahlas odrecitovat.
Namontujeme tedy na mBota zvukový modul ME Audio Player. Při tomto projektu budeme také využívat ultrazvukového modulu, takže pokud jste jej z nějakého důvodu demontovali, pěkně si jej zase vraťte zpět. Ultrazvukový modul umí poměrně přesně měřit vzdálenost až na 4 m. Celý program, který použijeme v projektu tedy budeme sestavovat s tím, že mBot umí měřit maximálně v rozsahu čtyř metrů.
Tip: Program pro mBota naleznete ke stažení na konci článku. Zvukové soubory, které při projektu využívám, naleznete ke stažení na tomtéž místě (nebo u předchozího článku).
Programy a podprogramy pro zvukový modul
Projekt ukecaného měření již není jednoduchý program, jaké jsme sestavovali v předchozích článcích. Proto není složen z jednoho programu, ale z několika. Jeden program je ale hlavní (ano je to ten se záložkou mbot program) a ve svém fungování se odkazuje postupně na ostatní podprogramy, které mu s jeho činností pomáhají.
Hlavní program (viz. obrázek) – udržuje celkový průběh činnosti a spouští podprogramy podle potřeby.
podprogram cislaVRetezci – Vzdálenost, kterou mBot naměřil, tento podprogram „rozebere“ na jednotlivá čísla (maximálně třímístná hodnota) a každé číslo zvlášť zapíše do tomu určených proměnných.
podprogram jednotky, desitky a stovky – tyto podprogramy slouží k tomu, aby dokázaly porovnat a převést čísla v proměnných na zvukové soubory, obsahující slovní (a zvukové) vyjádření dané hodnoty.
V hlavním programu napřed na začátku inicializujeme zvukový modul. To nemusíme dělat víckrát a proto je tato akce v programu jen jednou, mimo nekonečnou smyčku.
V nekonečné smyčce je pak následující část programu a díky tomu můžeme opakovaně měřit kolikrát jen chceme.
První tři příkazy ve smyčce jsou celkem jasné. Hřbetní LED mBota svítí červeně a pokud nestiskneme tlačítko, nic se nezmění. Pokud jej stiskneme, rozsvítí se LED zeleně a rozjede se celý následující program. Napřed mBot změří vzdálenost a zaokrouhlí ji. Potom spustí se úvodní zvukovou hlášku o naměřené hodnotě. Pak naměřenou hodnotu prožene podprogramem cislaVRetezci, který toto číslo rozebere na jednotlivé znaky a vloží je do proměnných. Navíc nám také zjistí jak dlouhé je číslo, které jsme vlastně naměřili (myšleno kolik má míst).
Po této akci se vracíme do hlavního programu. Hlavní program se pak větví na tři větve, podle toho jestli je hodnota, kterou mBot naměřil jednomístná, dvojmístná, nebo trojmístná. Pro každou tuto variantu je spuštěna trošku jiná činnost s podprogramy jednotky, desitky a stovky. Vzhledem k tomu, že se v českém jazyce čtou čísla zleva doprava, jsou i podprogramy spouštěny v režimu stovky – desitky – jednotky.
Celý program pak končí závěrečnou zvukovou hláškou s o jednotkách ve kterých je výsledek hlášen.
Proměnné
V celém programu jsem použil více proměnných, které raději podrobněji popíši, aby bylo jasné, která hodnota se do jaké proměnné ukládá.
mereni – proměnná do které se ukládá „surová“ naměřená hodnota, která se pak dále zpracovává.
namerenaVzdalenost – proměnná do které se ukládá zpracovaná hodnota proměnné mereni. Tuto hodnotu zaokrouhlujeme a přidáváme korekci +5 (na tak krátkou vzdálenost nám senzor jinak hlásí 0)
delkaRetezce – nabývá hodnot 1 – 3 podle počtu znaků v proměnné namerenaVzdalenost. Z celého řetězce v podprogramucislaVRetezci odečítáme znaky pro dvě desetinná místa a desetinnou čárku.
znak1, znak2, znak3 – proměnné do kterých se ukládá hodnota jednotlivých znaků v řetězci.
Projekt Špión
Cílem tohoto projektu bylo předělat mBota na špióna (a přitom využít zvukový modul).
V mých představách by se měl špiónský mBot někam šikovně a nenápadně infiltrovat, odposlechnout třeba rozhovor s něčím důležitým, rozhovor nahrát a pak důkaz v podobě kompromitující nahrávky donést svému majiteli. Když jsem tyto představy programoval, hned mě napadaly další – špionský mBot by měl být ovladatelný dálkově, měl by být mobilní (aby se mohl plížit a v případě přistižení i utéct) a měl by umět vysílat světelný maják, aby se dal třeba najít.
Dálkové ovládání jsem řešil prostřednictvím infraovladače, který je dodáván v základní sadě. Šikovní programátoři, kteří prošli seriálem až k tomuto projektu si jistě vzpomenou na lekci věnované práci s bluetooth ovladačem a snadno si program předělají pro bluetooth ovladač.
Hlavní program, který vše řídí poznáte snadno podle půlkulaté „hlavičky“. Je to zároveň pěkný příklad, jak používat definované funkční bloky (občas o těchto blocích mluvím jako o podprogramech). Tyto bloky si programátor navrhuje a vytváří v sekci „Data a Bloky“ sám a takto vzniklé programové widgety (příkazy, které mají fialkově modrou barvu) pak v hlavní programu spouští podle potřeby. Výhodou je větší přehlednost celého programu, který by jinak byl příliš rozsáhlý a nepřehledný. V případě hlavního programu je část v nekonečné smyčce a jeden bloček je mimo.
Bloček který naleznete mimo a který jsem pojmenoval „priprava“ se spouští pouze jednou při spuštění celého programu. Má za úkol vše připravit, aby zbylá činnost programu byla v pohodě. Tento bloček tedy připraví dvě proměnné, které se budou dál v programu používat – majak a rychlost – a inicializuje zvukový modul, aby byl použitelný pro zbytek programu.
Proměnné
V programu jsou použité dvě proměnné.
majak – tato proměnná může nabývat hodnoty 0, nebo 1. Pokud je hodnota aktuálně 0 – maják není aktivovaný, pokud 1, mBot spustí světelnou signalizaci.
rychlost – v proměnné rychlost naleznete celkem tři možné hodnoty – 100, 200 a 255. Tímto parametrem stanovíte rychlost, která má být použita při aktivaci pohybu. MBoty by se měl buď plížit rychlostí 100, nebo standardně cestovat rychlostí 200, nebo maximální rychlostí 255 prchat před pronásledovatelem.
Programové bloky „zarazeniRychlosti“ a „rizeniSpiona“ se staraji, jak již jejich název napovídá, o pohyb mBota. V podstatě jde pouze o naprogramované reakce na stisk tlačítek na infraovladači. V případě bloku „zarazeniRychlosti“ měníme stav proměnné rychlost tlačítky A, B a C. V druhém případě pak šipkami ovládáme směr jiízdy mBota.
Programový blok „svetelnyMajak“ provádí činnost, kdy mBot signalizuje světlem svou polohu. V tomto bloku v prvé části naleznete kombinaci dvou v sobě vnořených podmínkových příkazů s reakcí na stisk tlačítek ovladače D a E. Těmito tlačítky můžete měnit hodnotu proměnné majak a tím i zapínat a vypínat světelnou signalizaci, což je prováděno v druhé části následujícím podmínkovým příkazem.
Programové bloky odposlech1 – 3 slouží pro dálkové spouštění nahrávání potenciálních obětí špiona :-). Nahrávky ukládá program na kartu do tří souborů (spy001.mp3, spy002.mp3 a spy003.mp3). Pokud je spuštěno nahrávání opakovaně bude k dispozici na daném souboru pouze poslední nahrávka. Vždy je možné tlačítky na ovladači v řadě spustit nahrávání, zastavit nahrávání a soubor s nahrávkou si přehrát.
Doufám, že se vám tyto dva projekty se zvukovým modulem Makeblock líbily a hlavně, že se líbily i dětem, které si je vyzkoušely.
V první části tohoto seriálu jsme se pustili do stavby tamagočiho v podobě ovečky ze stavebnice LEGO. Nakreslili jsme si základní schéma chování a sestavili rozhodovací kostru našeho programu. Druhá část nám ukázala, jak sestavit rozdělit kód do podprogramů – tzv. funkcí a tím ho zpřehlednit. Třetí díl naučil ovečku vnímat svět okolo sebe pomocí senzorů. Na závěr našeho seriálu se podíváme, jak bychom mohli kvantifikovat úspěšnost naší snahy udržet tamagočiho v dobré náladě.
Měříme oddalování neodvratné smrti tamagočiho aneb Počítáme si skóre
Pokud vás snaha udržet ovečku co nejdéle naživu začala bavit stejně jako mě, určitě byste ji rádi půjčili kamarádům a porovnali, kdo je lepší v péči o věčně nespokojeného tamagočiho. Jasně, můžeme si měřit čas… Ale to není úplně nejlepší ukazatel. Asi by to chtělo nějaké počítání skóre. Pro začátek můžeme vyjít z toho, že kdo vícekrát splní přání své ovečky, ten je úspěšnější.
Využijeme toho, že už jsme se seznámili s proměnnými a vytvoříme si proměnnou score a zajistíme, že po spuštění programu se nastaví na hodnotu 0. Pojďme se teď zamyslet, kdy je naše skóre zvýší – ideální by bylo, kdyby to bylo v nějakém místě, kterým program projde vždy, když je splněn požadavek ovečky. Už to máte?
Určitě jste přišli na to, že takovým místem je funkce evaluation – přesněji okamžik, kdy podmínka rozhodne, že se má nálada změnit na happy. A hned za toto rozhodnutí přidáme blok měnící skóre: <change score by []>. Přednastavené máme zvýšení o jedna – ale chceme opravdu jen prosté počítání průchodů? Nebylo zajímavější, kdyby skóre bylo ovlivněno i tím, jak rychle se podařilo úkol splnit? Máme stále uchovaný počet průchodů kontrolou v proměnné countera čím větší je, tím méně bodů hráč získá. To znamená, že tuto hodnotu budeme nejspíš odečítat – ale od čeho? Nemůžeme prostě počítat jen trestné body?
Zkusme se nad tím zamyslet – pokud bychom počítali jen trestné body, znamenalo by to, že každým průchodem by hráč jen ztrácel a tak by se vlastně nevyplatilo ovečce plnit její požadavky. Dobrá, takže musíme zajistit, aby s každým splněným požadavkem skóre o něco vzrostlo. Bude potřeba, abychom hodnotu proměnné counter odečetli od nějakého čísla, o kterém víme, že bude vždy vyšší. Můžeme třeba zvolit libovolné číslo – ale když se pak rozhodneme změnit obtížnost, mohli bychom nechtěně opět skončit v záporných číslech. Počkat – ale vždyť my celou dobu určujeme úspěšnost tak, že counter musí být menší než difficulty! Takže řešení se nabízí samo: jednoduše odečteme counter od difficulty. Výsledek potom bude vypadat takto:
Báječně, už máme počítadlo skóre! Jenomže ho nevidíme… Dobrá, poměrně logické by bylo skóre ukázat, když je ovečka mrtvá. To nás směřuje k úpravě funkce dead. V tuto chvíli tato funkce jen rozsvěcí obrázek lebky. Ten nejspíš budeme chtít zachovat a vypsat hodnotu scoreaž poté, co se obrázek objeví. To už bychom měli umět, prostě použijeme <show string> ze záložky Basic. Teď se jistě divíte, proč nepoužijeme <show number>, když skóre je číselný údaj?
Odpověď zní: Už přeci jenom nejsme úplná ořezávátka a není to náš první program, tak bychom mohli učinit zobrazení skóre uživatelsky trochu příjemnější a pěkně tam vypsat ″score: ″ a teprve k tomu přidat jeho hodnotu! Uvědomme si, že čtení běžícího textu není tak příjemné, jako klasické zobrazení a ten kratičký nápis nás upozorní, abychom věnovali pozornost číslu, které bude následovat.
Aby bylo čtení pěkně plynulé, budeme muset znovu rozbalit záložku Advanced, v ní vyhledáme záložku Text a blok <join [″″] [″″]> – ten nám umožní spojit dva (či více, pokud bychom pomocí tlačítka plus přidali další) řetězce do jednoho. Do prvního políčka pro řetězec vepíšeme ″ score: ″ (všimněte si mezer před a za textem – jsou důležité, protože bez nich by se text nalepil hned na obrázek, který vytlačí z obrazovky a zároveň by se skóre nalepilo hned na dvojtečku, slouží tedy k optickému oddělení a snadnější čitelnosti) a do druhého vložíme proměnnou score.
Teď se zamysleme nad jedním detailem – když zobrazíme text ihned po rozsvícení obrázku lebky, uvidíme ho vůbec? Nejspíš ne, protože bude ihned přepsán běžícím textem a lidské oko obrázek ani nezaznamená. Vložme tedy mezi obrázek a text krátkou pauzu – třeba 500 ms.
Výsledný program si můžete prohlédnout zde – ale nezapomeňte, že parametry senzorů jsem volil podle svých podmínek a nemusí pro vás být ideální:
[ CVIČENÍ 4 ] Je možné, že časem hráči získají cvik a budou schopni udržovat ovečku spokojenou tak dlouho, jak je to bude bavit – pro takový případ by se hodilo, kdyby obtížnost pomalu rostla. Například tak, že za každých dosažených 100 bodů skóre se o jedna sníží hodnota difficulty. Napovím, že pokud si zavedete proměnnou starting_diffiulty, velmi si tím usnadníte výpočet nové obtížnosti. Samozřejmě, že k cíli ale vede mnoho cest.
[ CVIČENÍ 5 ]Může se stát, že si hru naopak budete chtít prodloužit, nebo vám přijde příliš kruté, že ovečka hned umře. a) Co kdyby ovečka měla tři životy a po ztrátě prvních dvou jen na sekundu usnula? b) Obtížnost si ale můžeme zvednout tak, že pokaždé, když se probere, snížíme hodnotu difficulty.
[ CVIČENÍ 6 ] Také se vám zdá poněkud nepraktické, že když chcete začít novou hru, je třeba resetovat micro:bit? Zkuste přidat možnost, že můžete kdykoli hru resetovat současným zmáčknutím tlačítek A+B. Napovím, že pokud chcete minimalizovat riziko, že budete na více místech mít stejné nastavení a zapomenete ho někdy v budoucnu změnit, zaveďte si novou funkci newGame, kterou budete volat kdykoli chcete začít novou hru.
Shrnutí projektu tamagoči
Máme za sebou první větší projekt, na kterém jsme si ukázali, jaké možnosti má počítač micro:bit bez jakéhokoli rozšiřujícího modulu (nad držákem baterií přimhouříme oči – ovečka by ostatně ožila, i když by byla připojená k nabíječce či počítači, jen by to bylo trochu méně pohodlné). Nelze říci, že bychom možnosti vyčerpali – například jsme vůbec nevyužili zabudovaného teplotního senzoru -, ale myslím, že jsme získali docela dobrou představu.
Také jsem v průběhu programování tamagočiho nadnesl několik cvičení, která ukazují, kudy lze možnosti rozšířit pomocí programování. Avšak ne vše lze rozvinout softwarově – setkali jsme se například s tím, že zobrazení naměřených hodnot či skóre na matici diod 5×5 je poněkud nouzové řešení. Bylo by lepší připojit nějaké větší výstupní zařízení – i kdyby mělo jít jen o větší matici, například 8×16 LED Matrix modul.
K přidání takového zařízení bude potřeba vyvést piny na kontakty, abychom měli vůbec kam připojovat – to už ale překračuje rámec tohoto projektu a podíváme se na to někdy příště.
Post scriptum aneb Jednodušší varianta, která vám neudělá ze třídy bojiště
Žádný učený z nebe nespadl (no, pokud by spadl, dalo by se pochybovat o jeho učenosti, navíc by po dopadu byl nejspíš mrtvý)! Abych si ověřil, že celý postup je dostatečně srozumitelný, nechal jsem ho otestovat na těch nejpovolanějších – na učitelích!
Díky jejich zkušenostem a připomínkám se ukázalo, že je dobré mít v záloze i jednodušší verzi programu, kde si můžete natrénovat každý požadavek zvlášť. Ukázalo se totiž, že ve zmatku skupinové výuky se mohou ukázat jako problematické i takové praktické věci, jako je nacvičení manipulace s magnetem, nebo si přichystat svítilnu: Hodně lidí bude asi využívat svítilnu z mobilu a je potřeba zvyknout si na to, jak ji rozsvítit, kam bezpečně položit telefon… No zkrátka, když se vrhnete v zájmu dotáhnutí projektu do konce hodiny, do zrychleného tempa, může se vám snadno stát, že za chvíli budou pomůcky létat vzduchem!
[ TIP ] Pokud vám tamagoči neustále umírá, protože nestíháte, nebojte se zvednout hodnotu proměnné difficulty!
Pokud chcete nácvik provádět od nejjednodušší po nejnáročnější variantu, doporučuji postupovat v opačném sledu, než jsme funkce zaváděli v třetím díle tohoto seriálu. To znamená v níže uvedeném pořadí – na konci máte k nahlédnutí zjednodušený kód pro natrénování saturace dané potřeby.
funkce scared
Nastavení akcelerometru na rozpoznávání gesta; ⪧ zkontrolujte, že všechny kostky jsou řádně docvaknuté a micro:bit i držák baterií pevně drží, jinak vám mohou při manipulaci vypadnout! [ TIP ] Nastavení této funkce je nejjednodušší, ale může se stát, že bude třeba trocha nácviku, protože pro splnění podmínky je potřeba mít ovečku hlavou dolů, takže hned nevidtíte, jestli jste úkol splnili. To si ověříte až když otočíte ovečku zpět a uvidíte, jaká ikonka svítí.
funkce gloomy
Nastavení LED matice na měření intenzity okolního osvětlení; ⪧ je třeba provést měření programem MereniSenzoru.hex! [ TIP ] Připravte si místo, kde budete mít položenou svítilnu; pokud používáte světlo z telefonu, nacvičte si jeho vypnutí a vypnutí.
Internetem obchází zprávy o nové generaci oblíbeného vzdělávacího počítače s původem ve Spojeném království. A protože různé články přinášejí různé střípky informací, pokusil jsem se pro vás shrnout informace do jednoho textu.
[ POZNÁMKA ] V článku záměrně používám název micro:bit v2 ve variantě s dvojtečkou i bez (microbit v2), aby byl článek dohledatelný pro co největší množství čtenářů.
Odpovědi pro netrpělivé čtenáře
Je mi úplně jasné, že v článku představujícím novou verzi oblíbené vývojové platformy, většina čtenářů hledá nejprve rychlé odpovědi na některé základní otázky. Pojďme se tedy nejprve podívat na to, co vás pravděpodobně zajímá nejvíce:
Bude microbit v2 podporovat mé stávající rozšiřující desky?
Vývojáři se chlubí spoluprací s autory přídavného vybavení k microbitu a snažili se maximalizovat zpětnou kompatibilitu, takže naprostá většina vybavení by měla umožňovat prosté vyměnění současné verze microbitu za microbit v2. Pokud je ale microbit umístěn v nějaké rozšiřující desce jak se říká „natěsno“, pak je nejlepší kompatibilitu nejprve prověřit.
Mohu své stávající programy použít i pro microbit v2?
Ano, ale musejí projít novou kompilací do tzv. univerzálního .hex souboru. Tyto soubory obsahují kompilovaný kód pro konkrétní procesor a tím, že nová generace používá jiné, výkonnější, CPU, tak je potřeba program znovu zkompilovat i pro něj.
Programy vytvořené v oficiálně podporovaných prostředích (MakeCode, Micropython) stačí otevřít v prostředí a znovu stáhnout program do micro:bitu – nový soubor potom bude fungovat na obou generacích. Nevýhodou je, že tím narostla velikost tohoto souboru a z ~700kB nakynul na ~1.8MB.
Vejde se micro:bit v2 do obalů pro micro:bit první generace?
U obalů pro microbit je bohužel pravděpodobné, že nebudou na novou generaci micro:bitu pasovat, protože na zadní straně desky došlo k výrazným změnám.
Nicméně i volnější obaly by mohly být nevhodné, pokud by zakrývaly přístup k novým funkčním prvkům (LOGO sloužící jako dotykové tlačítko, zabudovaný mikrofon a reproduktor).
Kolik bude micro:bit v2 stát?
Skvělá zpráva je, BBC micro:bit v2 by měl stát stejně jako jeho předchůdce. Nicméně to se bavíme o zemi původu, tedy o Spojeném království, v českých obchodech se může cena mírně lišit, protože kurz libry se mohl výrazněji pohnout.
Kdy bude micro:bit v2 k sehnání?
Ve spojeném království chtějí uvést micro:bit v2 na trh v listopadu 2020, jak rychlá bude distribuce do okolních zemí potýkajících se s pandemií lze těžko soudit, nicméně lze očekávat že na domácím trhu by měl být k dispozici do konce tohoto roku.
Co přináší micro:bit v2 nového?
Pojďme si projít to, co zajímá většinu čtenářů na druhém místě (hned po zodpovězení výše sepsaných otázek): Co nám přináší druhá generace za novinky a vylepšení?
Konec hluchoněmého prokletí aneb Integrovaný mikrofon a reproduktor
Asi nejvýraznější novinkou je zabudování jednoduchého reproduktoru přímo do desky micro:bitu v2. Tato zdánlivá drobnost dokáže ušetřit mnoho místa, protože když budete chtít zabudovat nějakou zvukovou reakci, nebudete už muset řešit, kam umístit reproduktor, ani jak ho napojit na příslušné piny, pokud nepoužíváte rozšiřující desku s vývodem do jacku. (Já osobně zvažuji, že bych díky této novince v budoucnu rozšířil úspěšnou tamagoči ovečku právě o zvukovou odezvu).
K reproduktoru je přibalený i nový blok, kterým se aktivuje, v případě, že ho chcete využívat a můžete ho opět vypnout, pokud chcete používat jiné výstupní zařízení.
Dále je přímo na desku přidaný Knowles MEMs microphone sensor, který najde využití jako senzor měřící hladinu hluku v okolí. K mikrofonu je připojený i LED indikátor, který se rozsvítí vždy, když zařízení naslouchá. MakeCode samozřejmě poskytne nové bloky pro tento senzor.
Klidně si sáhněte aneb Kapacitní dotyková tlačítka
Když srovnáte přední strany první a druhé generace micro:bitu, můžete si všimnout, že starší model měl logo vyvedené ve stejné barvě jako trojúhelníkovou grafiku v levém horním rohu. Nový microbit má v místě loga obnaženou masku plošného spoje a celé logo je pak zlacené, stejně jako hranový konektor.
Je to proto, že druhá generace používá LOGO jako dotykové tlačítko, jak ho znáte z různých mobilních zařízení. V záložce vstupy potom najdete nové bloky událostí podobné těm, které reagují na stisktnutí tlačítek.
Nenápadným vylepšním je možnost použít jako kapacitní dotyková tlačítka i velké piny (tedy piny 0, 1, 2). Již u současné verze micro:bitu je lze využít jako dotykové senzory, ovšem jako rezistivní, což znamená, že je třeba uzavřít elektrický obvod. Jednoduše řečeno, u první generace micro:bitu se musíte kromě velkého pinu dotknout i pinu GND, aby procesor zjistil aktivaci. To však u kapacitní technologie není třeba a stačí se dotknout pouze velkého pinu, stejně jako loga. Pokud tedy budete chtít využít microbit v2 jako dálkové ovládání, máte k dispozici poměrně velké množství tlačítek (reálně o jedno navíc oproti první generaci, ale tři dotykové piny se nyní aktivují mnohem intuitivněji).
Zubatý úsměv aneb Zapuštěné velké piny
Změna, kterou je vidět na první pohled a která tak vytváří charakteristický vzhled micro:bitu v2, je zapuštění velkých pinů (piny 0, 1, 2, 3V a GND). Jedná se o reakci na časté využívání tzv. krokosvorek či krokodýlků pro rychlé sestavování obvodů při výuce. Krokodýlky je doporučováno zapojovat kolmo k hranovému konektoru (to je ta spodní lišta s vodivými vývody pinů) a nově zavedené zapuštění velkých pinů zajistí, že budou zoubky krokosvorek lépe držet na pinu a nebudou sklouzávat k okolním pinům.
Ukolébavka aneb Režim spánku
V současné době, pokud potřebujete ukončit vykonávání programu, je třeba micro:bit odpojit od zdroje – což v případě, že ho programujete z počítače znamená, že je třeba vytáhnout microUSB kabel.
S přidáním zabudovaného reproduktoru však vzrostla i potřeba možnosti program zastavit, aniž by bylo potřeba neustále rozpojovat kablíky. (Věřte mi, že nejen malé děti občas propadnou radosti ze života hodnou osmáka degu a když mají možnost generovat nějaké zvuky, tak čím hlasitější a otravnější, tím větší radost z toho mají! Jenže pak to potřebujete testovat a nechcete poslouchat takový rámus, když zrovna přemýšlíte nad připojením dalších zařízení k micro:bitu.) Nově přichází microbit v2 s možností uvést počítač do režimu spánku tím, že podržíte na několik sekund tlačítko RESET na zadní straně desky. Pro probuzení stačí znovu zmáčknout tlačítko RESET.
Jestli micro:bit spí nebo vykonává program poznáte jednoduše podle LED indikátoru vedle microUSB portu:
pokud svítí nepřerušovanou červenou barvou, micro:bit vykonává program;
pokud bliká červeně, micro:bit je v režimu spánku;
pokud je kontrolka zhasnutá, micro:bit není napájen.
Jako příjemný přídavek k režimu spánku má micro:bit v2 nižší spotřebu energie, čehož jistě využijete, pokud potřebujete monitorovat data vysílaná dlouhodobě běžícím programem.
Generační srovnání
Pokud vám nestačil výše uvedený seznam nejvýraznější novinek, můžete si prohlédnout podrobnější specifikace micro:bitu v2 a srovnání s micro:bitem v1:
25 pinů. 3 dedikované GPIO, PWM, I2C, SPI a externí napájení. 3 kruhové piny připojení banánků nebo krokodýlků
25 pinů. 4 dedikované GPIO, PWM, I2C, SPI a externí napájení. 3 kruhové piny připojení banánků nebo krokodýlků, zapuštěné pro snadnější připojení
[ I2C ]
sdílená sběrnice I2C
dedikovaná sběrnice I2C pro periferie
[ bezdrátová technologie ]
2.4 GHz radio BLE Bluetooth 4.0
2.4 GHz radio BLE Bluetooth 5.0
[ napájení ]
5V skrz microUSB 3V skrz hranový konektor nebo battery box
5V skrz microUSB 3V skrz hranový konektor nebo battery box
LED indikátor napájení Power off funkce tlačítka RESET
[ napětí pro příslušenství ]
90 mA
200 mA
[ pohybový senzor ]
ST LSM 303
ST LSM 303
[ rozměry ]
50 x 40 mm
50 x 40 mm
Jak můžete z tabulky vyčíst, dostal micro:bit v2 novější procesor, který slibuje zvládnout mnohem náročnější úlohy, jako je strojové učení nebo umělá inteligence, což je oblast na kterou se chce Micro:bit Educational Foundation soustředit s právě pro v2 s tím, že bychom se příští rok měli dočkat nějakých novinek.
Co se týče paměti, má nová generace k dispozici osmkrát větší RAM a dvojnásobnou Flash paměť, kam můžeme nahrát vlastní program, takže se můžete pustit do rozsáhlejšího kódu.
Potěší i možnost většího odběru pro periferie: 200 mA je více než dvojnásobek oproti současné generaci (různé zdroje uvádí mírně odlišné hodnoty, lze se dočíst i o 190 mA). Toho by mělo být dosaženo díky nově přidanému regulátoru (viz blokové schéma hardwaru).
[ POZNÁMKA ] Blokové schéma jsme převzali ze zahraničního magazínu, který ho rekonstruoval na základě oficiálních informací, avšak oficiální schéma nebylo v době sepisování článku k dispozici. Publikováno by mělo být v oficiálním přehledu specifikací.
Pin-out starý a nový
Jedna změna, která není viditelná, dokud se nepodíváme do specifikací je rozdílná implementace LED matice.
Matice je v obou případech fyzicky vyvedena do uspořádání 5×5 – tomu odpovídá i implementace v microbitu v2, ovšem u první generace byla vnitřní implementace realizována jako matice 9×3 (tedy 9 sloupců ve 3 řádcích), s tím že poslední řádek ve sloupcích 8 a 9 nebyl využitý. Na tuto zajímavost narazil asi každý, kdo chtěl využít piny, které matici řídily, k něčemu jinému.
Nicméně se změnou realizace LED panelu se také mírně změnil pin-out a jedná se tak o jeden z mála zdrojů možné omezené kompatibility příslušenství. Je však třeba říct, že nejspíš půjde o velmi vzácný jev, protože příliš rozšiřujících desek velmi pravděpodobně nevyužívalo přímo těchto pinů. Porovnání rozdílných verzí si můžete prohlédnout níže:
Svět není černobílá záležitost a ani mBot si to nemyslí. Nemyslí si to, protože dokáže vidět barevně. A barevně dokáže vidět díky snímači barev zvaném také color sensor.
MBot vidí barvy v klasickém režimu RGB. Jinými slovy si výslednou barvu skládá ze tří barevných kanálů – červené barvy, zelené a modré. Barvy, které mBot vnímá jsou barvy, které jsou odražené od povrchu na který je namířený modul pro čtení barev. Podobně jako u jiných modulů není přímo nějaké předepsané místo, kam by se musel modul color sensor montovat. Umístění modulu tak vyplývá z účelu za jakým chceme barvy číst.
Modul ME Color Sensor V1
Montáž modulu Me Color Sensor je jednoduchá, podobně jako u ostatních modulů z dílny firmy Makeblock. Pro její upevnění k šasi mBota lze bezproblémově využít konstrukční prvky typu L. Asi nejčastěji se budete snažit tento modul využít ke čtení barvy povrchu na který mBot vjede, tudíž nejčastější instalace bude nejspíše někam do přední části mBota. Po krátkém laborování v tomto směru se mi velmi osvědčila montáž do perforovaného M na boku mBota. Lze tam umístění modulu „doladit“.
Modul snímače barev je využitelný kromě mBotů i u vozítek typu mBot Ranger, nebo Ultimate z produkce Makeblocku. Připojuje se přes konektor typu RJ-25, který je modré barvy, tudíž pro své fungování využívá sériové sběrnice I2C. U mBota je to jedno, připojit lze tento modul na kterýkoliv ze čtyř hřbetních konektorů. U jiných typů robotů se raději řiďte barevným kódem a připojujte pouze „modrou na modrou“.
Mým prvým nápadem, když se mi dostal tento modul do ruky bylo využít jen podobně jako ME Line Follower – snímač čáry s tím, že by mBot chodil dle programu po přesně určených barevných čarách. Tak bohužel takto tento modul nelze využít. K mBotovi totiž je možné připojit pouze jeden tento modul (výrobce v datasheetu tuto skutečnost i jasně deklaroval). Jeden modul snímá barvu pouze jedním snímačem, tudíž jej nelze použít pro snímání dvou hran, jako to umí snímač pro čtení čáry.
Modul pracuje tak, že dvěma LED diodami přisvětluje povrch a v 160 ms intervalech pak čte všechny tři barevné kanály. Intenzitu odrazu světla v každém barevném kanálu převede do intervalu od 0-255 a posílá tuto informaci dál mBotovi. Čtení povrchu zkresluje velice mnoho věcí, například fakt je-li povrch lesklý, nebo matný. Je proto vhodné si správnou funkčnost na daném povrchu raději nanečisto vyzkoušet a upravit vzdálenost snímače od snímaného povrchu. V praxi se tato vzdálenost pohybuje od 0,5 do 3 cm.
Programování ME Color Sensor
Chceme-li používat snímač barvy musíme do programu mBlock 3, kterým programujeme mBoty, doinstalovat rozšíření pro ME Color Sensor od firmy Makeblock. Já vše programoval s verzí 1.0 tohoto rozšíření.
Tyto dva bloky, o které je rozšířeno naše portfolio lze používat buď v kombinaci s podmínkovými příkazy, nebo v kombinaci s blokem činnosti (například s příkazem k rozsvícení LED na hřbetě mBota). Blok, který je na grafice jako první (s oblými konci bloku) nám vrací zpět hodnotu naměřenou v daném barevném kanále (tři kanály R-G-B) v rozmezí od 0 do 255.
Druhý blok, který je zakončen špičkou vyhodnocuje formou pravda/nepravda jestli snímač „vidí“ jednu ze šesti nadefinovaných barev (bílá, červená, žlutá, zelená, modrá a černá). Samotný tento blok lze použít přímo v podmínkovém příkazu.
Program Color-Preview
Abychom si jednoduše předvedli, jak lze použít snímače barev a vyzkoušeli si fungování, vytvořil jsem dva jednoduché projekty.
Sami vidíte, že použití bloků z tohoto rozšíření je velmi prosté. Program neustále cykluje v intervalech 500 milisekund + 160 milisekund (měření snímače barev) a průběžně aktualizuje svit hřbetních LED světel podle naměřených hodnot.
Využívám zde faktu, že snímané hodnoty a hodnoty, které jsou potřebné pro zadání přesných parametrů barvy hřbetního světla mBota jedou ve stejném rozsahu 0 – 255. Snímaná hodnota se nám tedy bezprostředně projevuje i na světlech mBota. MBot nám tedy ukazuje co vlastně vidí.
Pokud bychom vyhodnocovali, co vlastně mBot vidí, uvědomíme si, že vlastně nevidí třeba „čistě“ červenou barvu (jak si to vykládá náš mozek), ale kombinaci tří kanálů, ve které navíc hraje velmi silnou roli i podíl bílé barvy (rozuměj směsi všech tří kanálů najednou). Z tohoto poznatku vyplývá, jak v dalším díle seriálu poznáme, že spolehlivá detekce barvy není až tak jednoduchou věcí, jak by se mohlo zdát.
Program Colormetr
Z programu Color-Preview je odvozený následující program Colormetr.
Program Colormetr doplňuje vizuální část programu Color-Preview o složku zvukovou a tím pádem mBota přetváří v cosi, co bychom mohli označit, jako barevný dozimetr :-).
V prvním kroku programu vloženém do nekonečné smyčky vkládáme do proměnné ton součet tří hodnot naměřených snímačem barvy ve třech kanálech.
V druhém kroku tyto hodnoty zobrazí na hřbetním LED světle mBota podobně, jako v předchozím programu.
V posledním třetím kroku programu mBota zahraje hudební tón o frekvenci dané hodnotou proměnné ton (hodnota může nabýt velikosti od 0 do 765) po dobu 100 milisekund. Hodnota proměnné ton se vždy po každém cyklu aktualizuje novou hodnotou, kterou naměřil snímač barvy.
A v čem je tento program zajímavý? Již víme, že výslednou hodnotou je součet všech tří barevných kanálů. Před tím, než jsem si začal hrát s tímto programem jsem si myslel, že naměřené hodnoty typu čistě červená, zelená a modrá budou víceméně stejné. Ovšem není tomu tak (viz. video).
Modrá barva (podle snímače barev) obsahuje kupodivu značně menší podíl červené a zelené složky a tudíž výsledný zvuk programu je výrazně hlubší, než u červeného a zeleného podkladu při jejichž měření snímačem mBot signalizuje výrazný podíl dalšího barevného kanálu (zvuk je o něco vyšší). Pokud položíme mBota například na žlutý, fialový, nebo azurově modrý podklad, indikujeme opět o poznání vyšší frekvenci/zvuk – jedná se totiž o sekundární barvy vzniklé smísením barev ze dvou barevných kanálů. Nejviditelnější tento jev ovšem bude, položíme-li mBota na bílý podklad. Bílá je totiž směsicí barev ze všech tří barevných kanálů a tudíž výsledný součet je nejvyšší.
Schválně co se stane, když mBota položíte na podklad o černé barvě?
Tip: Pokud jsou obrázky programu Colormetr a Color-preview příliš malé, zobrazte je po kliknutí pravého tlačítka na obrázek na nové kartě ve větším rozlišení.
Program Stopka při jízdě
Prvé dva programy, které vám představuji v tomto článku byly víceméně demonstrační, abychom pochopili jak vlastně snímač barvy neboli Color Sensor funguje v praxi. V dalším programu již ale snímače využijeme jako regulátoru jiné činnosti.
V konkrétním případě se bude jednat o regulaci klasické chůze po čáře, kdy budeme chtít, aby mBot chodil klasicky po čáře (již jsem o tom psal v tomto článku). Za tím účelem využijeme i program jízda po čáře, který ovšem mírně upravíme.
Program je spuštěn po stisku tlačítka na hřbetě mBota. V nekonečné smyčce, která zabezpečuje neustálé testovaní okolí dvěma moduly mBota, testujeme jednak barvu vedle černé čáry (tuto informaci nám dodává snímač barvy) a také testujeme snímačem pro čtení čáry jestli stojí mBot na čáře.
Vyšší prioritu v našem programu má stav čtení barvy protože chceme, aby na červeném podkladu mBot zastavil. Tuto skutečnost pak v programové rovině realizujeme soustavou podmínkových příkazů, přičemž ty, které reagují na stav snímače čtení čáry jsou podřízené – vložené do jedné větve podmínkového příkazu, který reaguje na čtení barvy. Vše snadno pochopíte z předchozího obrázku.
Všimněte si, že v hlavičce podmínky je použit blok pro čtení barvy z nainstalovaného rozšíření (blok se špičatými konci).
Snad se vám mé povídání o snímač barev pro vašeho mBotího kámoše bude hodit a v příštím článku si trošku podrobněji popovídáme na stejné téma.
Pojem STEAM už tady nějakou dobu existuje a určitě jste o něm již slyšeli. A nemám teď zrovna na mysli horkou páru! :) STEAM označuje poměrně nový, ale čím dál více populárnější koncept výuky, o kterém většině lidí chybí praktické informace. A to je velká škoda, protože přes těch pět písmenek může vést cesta k lepším výsledkům ve škole, k větší chuti do učení nových věcí nebo na druhé straně k efektivnějšímu využívání času rodičů nebo kantorů.
V následujících odstavcích si problematiku STEAM rozebereme a ukážeme si, jaké výhody přináší.
Ať jste tedy učitel nebo rodič, který to myslí s dětmi vážně, tento článek pro vás může být inspirací!
Co je to vlastně ten STEAM?
Zkratka STEAM vznikla z prvních písmen anglických názvů Science – věda, Technology – technologie, Engineering – technika, Art – umění a Math – matematika. Může se zdát, že se jedná o složení pěti samostatných oborů, ale STEAM je více o speciálním přístupu k výuce technických předmětů zahrnující využití nejrůznějších kreativních aktivit, jako například hry, tance, hudby, vizuálního umění či divadla. STEAM tedy nepředstavuje klasický způsob vzdělávání, ale přibližuje výuku reálnému životu a nahrazuje příliš teoretické a izolované pojetí výuky vzájemným větším propojením předmětů.
Co znamená výuka pomocí konceptu STEAM?
Než se objevil koncept STEAM, používal se více koncept STEM zaměřený primárně na vědu, technologie, techniku a matematiku. Rodiče a samotné děti ale zjistily, že tato metoda není dostačující. Důraz, který kladly školy na STEM, nepřinesl očekávané výsledky.
Jednoduše řečeno, myšlenka novějšího konceptu STEAM nespočívá v oddělené výuce technických předmětů a kreativních předmětů, ale zapojuje do výuky kreativitu a nové způsoby vnímání technických předmětů.
Prostředky STEAM rozvíjejí a podporují zvídavé, kreativní a kritické myšlení, logické úsudky a týmovou spolupráci. Často se při výuce používají pomůcky, které pomáhají vzbudit ve studentech větší zájem o zmiňované obory a motivovat k práci. Vzdělávání formou hry je jedna z nejlepších metod, jak zapojit děti do učení, aniž by o tom měly ony samy tušení.
Proč se ve STEAM výuce používají roboti a kreativní hračky?
Co přesně znamená, když mluvíme o robotech? Možná si vzpomenete na Čapka a jeho R. U. R., nebo dálkově ovládané stroje provádějící průzkum na Měsíci. Robotika ve STEAM kontextu je ale mnohem přátelštější k dětem, a navíc byla vytvořena pro vzdělávací účely. Kreativní hračky a roboti jsou navíc vytvořeni tak, že si je dítě hned od počátku zamiluje.
Roboti hrají ve STEAM konceptu důležitou roli. Při výuce mohou nabídnout zapojení více smyslů a umožnit dětem určité věci s robotem přímo zažít. Tento fakt významně zvyšuje schopnost dětí učit se a poznávat nové věci – a to v mnoha různých oblastech. Použití robotů ve STEAM výuce dětem také názorně ukáže reálné použití technologií při řešení problémů.
A proč je STEAM výuka pro děti tak důležitá?
Důležitost STEAM výuky stojí na mnoha výhodách, které z ní děti a studenti mohou těžit:
Rozvoj samostatného uvažování
Ve školách se děti obvykle musí přihlásit o slovo, než je jim dovoleno se projevit. STEAM koncept ale dává studentům mnoho prostoru k přemýšlení, vyhodnocování a rozhodování o tom, jak dosáhnout stanoveného cíle. Výsledky nejsou hodnoceny jednoduše jen podle toho, zda uspěly nebo propadly. Namísto toho je důležitý způsob uvažování a to co se naučili při práci na projektu, který pro ně něco znamená.
Komplexní přístup k problematice
Mnoho lidí má tendenci oddělovat technické předměty od umění z obecně zažitého důvodu – umění stojí na kreativitě a představivosti, zatímco technika a STEM obecně jsou založeny na číslech a faktech. STEAM výuka ale pracuje s průnikem kreativních a technických oblastí, a proto je důležitá pro všechny studenty nezávisle na oboru.
Podporuje přirozenou zvědavost
STEAM výuka povzbuzuje studenty k jinému způsobu myšlení „out of the box“ a inspiruje také jinými předměty než pouze těmi technickými. To vyžaduje pedagogy, kteří studentům nenastaví příliš tvrdé mantinely, ale naopak pomohou rozvíjet jejich zvědavost a nadšení pro učení se nových věcí.
Hlavní rozdíl mezi STEM a STEAM
Hlavní rozdíl mezi STEM (technické obory) a STEAM (technické obory s využitím kreativity) je následující: STEM se při výuce vědy a techniky zaměřuje na řešení problémů pomocí kritického a analytického myšlení, oproti tomu STEAM se do výuky stejných předmětů snaží zahrnout kreativní myšlení a umění.
Umění spočívá v objevování a vytváření neobvyklých způsobů řešení problémů. Zahrnutím umění a kreativity do výuky STEM předmětů tak studenti mohou využívat obě části jejich mozku – analytickou i kreativní. A díky tomu se z nich v budoucnu mohou stát raketoví inženýři, molekulární biologové a nebo třeba průzkumníci neprobádaných míst na světě.
Jednoduše řečeno to chybějící „A“ teprve přináší do konceptu výuky tu správnou šťávu, která ještě více zvyšuje motivaci a nadšení při výuce!
Jak sestavit plán výuky STEAM?
STEM a STEAM výuka se skládá z velmi široké škály témat. Pro učitele a rodiče, kteří chtějí vyučovat STEAM předměty pravděpodobně bude velmi náročné zapojit děti do světa STEAM. Pokud ale budou mít správnou strategii pro výuku, může jim to velmi zjednodušit práci. Jak tedy sestavit STEAM výukový plán? Inspirací pro sestavení plánu STEAM výuky může být následujících pět kroků.
5 tipů pro sestavení plánu na STEAM výuku
1. Popřemýšlejte, co přesně budete potřebovat
Na trhu naleznete mnoho STEAM robotických stavebnic, ale ne všechny se budou hodit pro vaše studenty. Nejprve dobře popřemýšlejte, co plánujete studenty přesně naučit a podle toho vyberte konkrétní robotický set. Ve výsledku najděte jeden až dva sety, které budou nejlepší a těm pak věnujte potřebný čas.
2. Používejte hlavně ruce
Všechno je to o tvoření a dělání věcí rukama. Ujistěte se, že trávíte více času zapojením dětí do praktického vytváření věcí rukama, než pouze vyučováním teorie. Během stavby robota vlastníma rukama se studenti naučí mnohem více, než si myslíte.
3. Týmová práce dělá divy
Nemůžete všechno zvládnout sami! Proto neváhejte do výuky zapojit pomocníka nebo dalšího učitele, který pomůže řešit všechny ty drobné věci a dodržet tak důležitý časový plán. Pak se budete moci pořádně zaměřit na vaši výuku a to je právě potřeba.
4. Využijte sílu mobilních učeben
Výuka formou STEAM může být náročná také v tom, že studenti budou diskutovat nad mnoha problémy, budou klást dotazy a přemýšlet, proč daná věc funguje tak, jak funguje. Možná budou problematiku některých věcí chtít prakticky vyzkoušet a otestovat, prostorná učebna s mobilním nábytkem pro vás bude velkým benefitem.
5. Zkuste menší skupiny
Studenti mají (nejen) během konstrukce robota tisíce otázek, a je na vyučujícím, aby na ně odpověděl. Představte si ale skupinu o dvaceti studentech, dotazy každého z nich by zahltily i sebelepšího učitele! Ideální je, pokud je ve skupině maximálně dvanáct studentů.
Příklady plánů pro STEAM výuku
Chcete se inspirovat, jak sestavit plán a strategii pro STEAM výuku? Můžete si projít následující příklady (anglicky):
The 10 Weeks of Afterschool Maker Program – Program je vhodný pro předškolní děti až do věku 11 let. Důraz je kladen hlavně na získání praktických zkušeností s tvořením, zvýšení zájmu o výuku a rozvoj samostatného uvažování.
STEAM + Coding Program – Určený pro děti ve věku cca 8 – 14 let. Program je zaměřen na práci na šesti aktivitách kreativní elektroniky a programování.
10-Week STEAM Program – Studentům je během 10 týdnů představen koncept STEAM prostřednictvím kreativních projektů, na kterých děti pracují doma. Program je vhodný pro děti předškolního věku.
NASA – STEM Lessons From Space – Tento výukový program vytvořený NASA je rozhodně unikátem svého druhu a rozvíjí STEM praktické znalosti.
STEAM & STEM Robotické stavebnice nejen pro děti a rodiče
Pro zapojení vašich dětí do STEM nebo STEAM výuky je možné využít nejrůznější online kurzy a programy. Doporučujeme ale také STEM nebo STEAM robotické kity a stavebnice. Vaše děti si s roboty užijí spousty legrace, ale také se hravě naučí nové věci. Díky robotům je bude výuka více bavit a odnesou si z ní tak více informací. Zde je přehled 10 nejlepších STEAM robotických stavebnic, které by vás mohly zaujmout a pomoct zvládnout STEAM i u vás doma nebo ve škole.
Tyto robotické sety prodávané pod značkami mBot a Codey Rocky tak trochu vystupují z davu. Jsou vyráběny silným hráčem na technologickém poli, firmou Makeblock, a můžete se na ně opravdu spolehnout.
Codey Rocky je chytrý robot pro začátečníky v oblasti programování a umělé inteligence. Kombinuje teoretickou výuku softwaru s praktickým ovládáním hardwaru, a to pomáhá dětem porozumět souvislostem rychleji a efektivněji.
mBot je další výborný STEAM robot, díky kterému se začátečníci mohou naučit programovat. V porovnání s Codey Rocky, který je již sestavený, přináší mBot možnost zkonstruovat robota od nuly, za pomocí podrobného návodu a šroubováku.
Máte nějaké otázky ohledně STEAM výuky? Dejte nám vědět do komentářů!
V dnešní době se programování mezi dětmi stává stále oblíbenější. Pro mnoho rodičů je ale uvedení jejich dětí do problematiky programování pro děti náročný úkol a to i přesto, že se pro děti může programování zdát jako rychle pochopitelné. Na vyřešení tohoto úkolu a usnadnění práce dospělým bylo během posledních let vytvořeno mnoho softwarových aplikací a služeb. Zde přinášíme přehled 11 nejlepších a volně dostupných nástrojů, které mohou rodiče využít pro uvedení svých dětí do úžasného světa programování. Pojďme se na ně společně podívat.
1. MakeCode
Asi největší boom v nástrojích na programování pro děti zažila v poslední době platforma micro:bit a grafické programovací prostředí MakeCode, o kterém jsme si tady již psali. A není se co divit, MakeCode je velmi jednoduchý a dokáže v něm vytvořit první program během chvilky i úplný začátečník. Navíc není potřeba pro základní práci instalovat žádná rozšíření a nabízí se k dispozici velké množství rozšiřujících modulů pro micro:bit, které zhmotní váš programový výtvor do podoby robota, auta, hračky nebo třeba projektu na zavlažování rostlin. Z prostředí MakeCode dítě navíc jen tak nevyroste, protože se může z grafického programování jednoduše přepnout do populárního jazyka MicroPython nebo JavaScript, které otevírají cestu pro další růst.
Scratch je jednoduchý programovací jazyk navržený skupinou MIT’s Media Lab. Momentálně se jedná o nejrozšířenější celosvětově používaný vizuální programovací jazyk pro děti. Scratch se používá ve více než 150 zemích světa a je dostupný ve více než 40 jazycích. Nástroj dělá programování pro děti stejně jednoduché jako používání stavebnicových bloků. Grafický jazyk Scratch je používán jako platforma mnoha výukových robotů (například Arduino robot mBot od firmy Makeblock). Umožňuje mladým studentům programování robota souběžně s ovládáním jeho pohybů pomocí práce s přednastavenými bloky kódu.
Programování ve Scratch funguje na jednoduchém principu „drag and drop„. Pro efektivnější zlepšování jejich programovacích dovedností Scratch umožňuje tvůrcům z celého světa sdílet projekty, tutoriály a ostatní zdroje. Tým Media Labu, který Scratch vyvíjí, také vytváří a přidává instruktážní obsah na svou vývojovou platformu.
3. Code.org
Code.org je projekt, který se snaží zpřístupnit výuku informatiky širším masám lidí, zvláště pak ženám a také znevýhodněným skupinám lidí. Poskytuje nástroje pro studenty velkého věkového rozpětí, díky kterým se mohou naučit základy programování a informačních technologií. Projekt poskytuje různé kurzy od úrovně základní školy, až po profesionální kurzy pro instruktory. Studenti zde mohou najít více než 24 milionů tutoriálů k projektům různých druhů, jako např. Minecraft nebo Play Lab.
4. Made with Code by Google
Made with Code má za cíl zdokonalovat mladé studenty, zvláště pak mladé ženy, ve výuce programování. Web používá vizuální programování, každý kurz je relativně krátký a odpovídající zájmům studenta kurzu. Ve výukových videích projektu Made with Code se často vyskytují ženy z různých odvětví a za pomocí jejich inspirativních příběhů se snaží oslovit mladé ženy začínající s kariérou.
5. Khan Academy
Khan Academy je projekt nabízející výuková videa, procvičovací úlohy a personalizovanou studijní nástěnku, která studentům umožňuje učit se vlastním tempem, a to za všech podmínek a okolností. Mezi studijními obory je k dispozici výuka matematiky, přírodních věd, programování, dějepisu, umění, ekonomie a mnoho dalších. Obsah kurzů tvoří odborníci a je překládaný do více než 36 jazyků včetně češtiny. Khan Academy učí studenty mnoho různých předmětů z oboru informačních technologií, např. JavaScript nebo HTML/CSS. Výborné na Khan Academy je také partnerství s institucemi jako NASA nebo MIT. Tyto instituce plní projekt odborným obsahem zaměřeným na cílovou skupinu projektu.
6. Stencyl
Stencyl pomáhá dětem programovat bez zbytečného zatěžování odbornými termíny. Jedná se o nástroj pro vytváření videoher, který umožňuje uživatelům vytvářet 2D videohry pro počítače, mobilní zařízení a web. Stencyl, podobně jako Scratch, je programovací nástroj založený opět na stylu stavebnicových bloků. Jednoduchou hru tak vytvoříte pouhým tažením bloků kódu. Děti díky tomu mohou dobře porozumět, jak programování funguje.
7. Code Monster from Crunchzilla
Code Monster from Crunchzilla je interaktivní webový nástroj pro děti. Webovou stránkou provází interaktivní postavička – „praštěná příšera“ (Goofy Monster). Studenti se drží instrukcí, které jim příšera pomocí textové bubliny říká. Tutoriály doprovázené příšerou jsou nejprve jednoduché, poté se ale dostanou na komplexní úroveň. Studenti kurzu se naučí porozumět JavaScriptu a naučí se v něm programovat na základní úrovni. Kurzy mohou opakovat a ukončit, kdy se jim zachce.
8. CodeCombat
Děti musí programování zaujmout. Proto CodeCombat mění složitější problematiku programování na zábavnou hru. CodeCombat je webová RPG hra, ve které hráči využívají programovací jazyky k tomu, aby vyhráli bitvu. Hráči musí pro postup ve hře používat kód. Web také nabízí individuálně zaměřené kurzy. Hra umožňuje mladým studentům proniknout do základních i pokročilých úrovní programování.
9. Codecademy
Codecademy je online výuková platforma, která nabízí bezplatné výukové kurzy zaměřené na různé programovací jazyky. K dispozici je například Python, Java, JavaScript atd. Součástí je obrovská interaktivní komunita, kde je zapojeno přes 45 milionů studentů. Codecademy může být vhodnější pro pokročilejší studenty, kteří zvládají základní práci s počítačem a mají schopnost lépe porozumět textu. Začátečníci v oboru se ale také mohou postupně naučit základy programování a informačních technologií. K dispozici je jim totiž podrobný strukturovaný průvodce, který se pro ně může stát velkým pomocníkem.
10. Alice
Alice je bezplatný program, který umožňuje dětem vytvářet animace nebo programovat jednoduché 3D hry. Projekty si studenti vytváří pomocí bloků s kódem. Jejich umísťováním se mohou děti naučit základní koncepty programování. Zároveň se rozvíjí i jejich představivost. Projekt poskytuje mnoho tutoriálů a video příkladů prostřednictvím YouTube kanálu. Na webových stránkách Alice jsou k dispozici kurzy, procvičovací úlohy a návody, které vytváří vývojový tým, ale také komunita uživatelů z celého světa. Alice má v plánu stát se široce dostupným nástrojem pro posílení výuky informačních technologií v raném věku.
11. mBlock
MBlock je grafické programovací prostředí založené na Scratch. Tvorba programu probíhá přesouváním funkčních bloků. Software mBlock5 je volně dostupný také v češtině a k dispozici zdarma i pro mobilní zařízení s označením mBlock Blockly. S těmito aplikacemi založenými na Scratch se děti mohou naučit programovat za asistence umělé inteligence. Tyto nástroje jsou navíc kompatibilní s dalším open-source hardwarem a platformami jako například micro:bit. Dětem je tak umožněno vidět funkce vytvořeného programu v reálném fyzickém světě (např. robot vydává zvuky, svítí, pohybuje se apod.) a to děti ještě více motivuje a přirozeně vtahuje do úžasného světa programování pro děti a zábavného tvoření.
Chcete rychle začít používat mBlock5? Podívejte se na tuto ppt prezentaci o rychlém startu v mBlock a 10 hravými úkoly. A pak už vám zbývá jen pořídit si nějakého chytrého robota, ať má to programování šťávu! :)
Programování pro děti stojí za to
Používáním těchto nástrojů programování pro děti se mohou naše ratolesti naučit hravě programovat. Zároveň si zdokonalí logické myšlení, zlepší schopnosti řešit problémy nebo vidět souvislosti. Nástroje jako Scratch dětem pomáhají navíc propojit jejich dovednosti s kreativitou a praxí. Programování robotů, jako mBot, mBot Ranger, nebo pokročilejšího mBot Ultimate 2.0 pomůže posunout jejich programovací schopnosti na vyšší úroveň a oživit jejich vrozenou kreativitu.
Dokážete si představit minipočítač, který můžete programovat jen třemi tlačítky? V tomto článku si jeden takový představíme a možná budete překvapeni, co všechno se dá s takovým minimalistickým řešením vytvořit. Univerzální kuchyňská minutka, jednoduchý AD převodník nebo kompas jsou otázkou pár minut.
Jak jsem se dostal k MyCo programování?
Před pár lety, nějakou dobu po tom, co jsem se začínal seznamovat s úžasným světem elektroniky, jsem narazil na stavebnici Mikrokontroler – elektronika výuková sada od 14 let. Stavebnici jsem složil, mikrokontrolér, tlačítka a diody nasázel do nepájivého pole podle schématu, zapojil drátky a postupoval dál podle návodu. Zvláštní kombinací mačkání tří tlačítek jsem měl dosáhnout požadovaného efektu.
Zprvu to vypadalo nedosažitelně, ale německy důkladný návod mě nenechal na holičkách – netrvalo dlouho a série čtyř barevných diod zablikala v pořadí, v jakém měla! Během krátké doby jsem měl základní programy zvládnuté a nezbývalo, než celou stavebnici zapájet do nějaké trvalejší formy a vyzkoušet na ní programy vlastní.
Co je to vlastně MyCo?
Na začátku byla myšlenka malého počítače s jednoduchým rozhraním (Tastenprogrammierbare Steurung, zkráceně TPS, v anglické variantě MyCo, neboli My Computer). Autorem nápadu byl tvůrce elektronických stavebnic B. Kainka.
Úvaha byla taková, že mikropočítače či mikrokontrolery potřebují pro své programování připojení k počítači nebo mobilu. Tvůrci vymysleli komplexní prostředí, které umožní programovat takříkajíc z ruky, s minimalistickým grafickým výstupem, konkrétně čtyřmi světelnými diodami.
Výše uvedené je stavebním prvkem celého systému – čtyři diody dokáží zobrazit v hexadecimálním kódu maximální hodnotu 15 (F), sada programovacích příkazů a hodnot je omezena na stejnou hodnotu, tj. čtyři bity.
To je na jednu stranu omezující, nicméně díky tomu je také celý systém jednoduchý, přehledný a skladný. A omezení výrazně snižují další vlastnosti systému: čtyři digitální vstupy, čtyři digitální výstupy, dva analogové vstupy a jeden PWM výstup.
Co se s takovým vybavením dá vytvořit? Po tom, co si začátečník vyhraje s všemožným blikáním výstupních diod, časováním, proměnnými, dvěma tlačítky či podmínkami, není problém jako u každého otevřeného systému připojit na vstupy a výstupy například sedmisegmentový displej, klávesnici 4×4, zvukový výstup či nějaký senzor. Díky analogovým vstupům může MyCo posloužit třeba jako jednoduchý AD převodník.
S šikovnými vstupy (třeba s micro:bitem, vysvětlím níž) se mi podařilo během pár minut nakódit univerzální kuchyňskou minutku, jednoduchý kompas či VUmetr.
Jak se v MyCo programuje?
Nechci popisovat kompletní postup na programování v Myco, vše je dobře zdokumentováno v odkazech. Nicméně, zkusím aspoň jednoduchý nástin pro představu, jak to funguje. K dispozici máme tři tlačítka a čtyři led diody. Not great, but not terrible!
Práce s čísly
Vzhledem k omezeným vstupům a výstupům nezbývá než zadávat a číst data v binárním, respektive hexadecimálním tvaru. Pro člověka neznalého problému je dobré najít si nějaký převodník z desítkové do hexadecimální soustavy, a zkusit si na to přijít. Nebo počítat kliknutí tlačítkem. Odečtení „výstupu“ je pak potřeba umět převézt zpětně do desítkové soustavy. Není to složité, za krátkou chvíli už třítlačítkový programátor převádí z hlavy, podobně jako třeba uživatelé binárních hodinek.
Adresa, příkaz, hodnota
Každý řádek programu se skládá ze tří čísel. Zápis jednoho řádku vypadá třeba takto: 0 1 1
První číslo udává adresu, respektive číslo řádku, na kterém se nachází. Původní systém má navigaci pro přehledné čtení adresy – než se rozsvítí první příkaz, problikne číslo řádku.
Druhé číslo je příkaz, MyCo jich má, překvapivě, 15. Pro představu ukážu tři příkazy (v pořadí příkaz, název, hex kód příkazu a jeho popis):
1 Port 0001 Příkaz rozsvítí první diodu (počítá se z pravé strany)
2 Wait 0010 Program počká zadanou dobu. Začíná 1 ms, a hodnota 9 je například doba 1 vteřiny
3 Jump 0011 Skok zpět o zadaný počet řádků
Třetí číslo je tedy hodnota příkazu, v případě příkazu Port je to výstupní dioda, u příkazu Wait čas, u příkazu Jump počet řádků, o které se program vrátí.
Pokud bych chtěl výše uvedené rovnou využít, vypadal by program třeba takto: 0 1 1, 1 2 9, 2 3 2. Výsledkem je svítící pravá dioda.
Konkrétní příklad s vysvětlením se pokusím rozvést v pokračování.
Zápis do MyCo a spuštění programu
Asi nejzajímavější kapitola, tady totiž začíná ta pravá palcová gymnastika. Program funguje ve dvou módech, v módu editace a v módu běhu programu.
Pro editaci stačí zmáčknout tlačítko reset a zároveň pravé tlačítko. Pravým tlačítkem se skáče nejdřív po řádku (příkaz, hodnota), posléze i na další řádek. Levé tlačítko zadává příkazy a jejich hodnoty.
Pokud chci zapsat řádek „rozsviť první diodu“, bude palcová choreografie v pořadí levý, pravý, levý, pravý (1, 1 – rozsviť první diodu). A hotovo, jenom potvrdit program (obvykle obě tlačítka) a resetem (třetí tlačítko) spustit první rozsvícenou diodu!
Oprava programu
Do kódu lze libovolně vstupovat a editovat ho. Stačí kombinací resetu a pravého tlačítka skočit do editačního režimu, najít řádek, který je potřeba opravit, zadat novou hodnotu a potvrdit.
Spuštění programu
Stačí potvrdit program a restartovat. A už to běží! A to je vlastně celé.
S výše zmíněnými příkazy už by měl jít vytvořit jednoduchý blikač. Pro okamžité vyzkoušení jde stáhnout simulaci – SPS Emu
Další platformy
Původní MyCo byl nahraný v mikrokontroleru HT46F47, na stránkách tvůrce jsou k dispozici další platformy, například ATtiny44 či ATmega8. Hlavní podmínkou je, aby měl mikrokontroler dost nožiček na vstupy a výstupy. Shánčlivý bastlíř by tedy mohl sáhnout do šuplíku pro správný mikrokontroler a za krátkou chvíli si to celé vyzkoušet na vlastní palce.
Myco:bit a ještě další!
V projektu se poslední dobou angažoval též Neil Avery a připravil implementaci MyCo pro desky na základě micro:bitu. Program běží i na starých microbitech (1.3B), nicméně zajímavé to začíná být u micro:bitu V2. Podařilo se mu totiž rozšířit programovou tabulku o interní vstupy microbitu, takže je k dispozici zvukový vstup a výstup, akcelerometr či kompas.
Stačí jenom otevřít stránky autora, stáhnout hex soubor pro správnou verzi desky a flashnout ho do microbitu. Odkaz obsahuje základní informace, odkazy a několik vzorových příkladů. Podstatná je ještě tabulka příkazů, zde pro micro:bit V2.
V Myco:bitu je přehlednější čtení programu, na každé „straně“ (matrice 4×4) editovaného programu jsou vidět dva řádky programu, v jednom řádku příkaz, v následujícím jeho hodnota. Navigace v programu se zobrazuje v levém sloupci matrice (číslo řádku) a spodním řádku (stránka).
Příklad programování v microbitu:
Poslední implementaci, o kterou se Neil aktuálně snaží je nové Raspberry Pico.
Lidé kolem MyCo
Otcem programovacího jazyka a celého systému je Burkhard Kainka.
Popularizátorem a autorem knih nejen o MyCo je Juergen Pintaske.
A kometou, která tenhle zajímavý systém přenesla na aktuálně žhavé platformy Neil Avery – zdrojové kódy pro mycobit / microbit a další platformy podobné micro:bitu.
Závěr
MyCo bylo určeno především jako vzdělávací pomůcka pro programování pro děti od 14 let, nicméně je to zábavná hračka i pro dospělé a je jistě možné na něm vytvořit i serióznější, ale v každém případě zábavné aplikace – viz stránky pana Kainky. Přístupné jsou i zdrojové kódy, což dává myslím hodně zajímavé možnosti.
Jeho největší výhoda ale je, že se dá programovat z ruky. Podle mého názoru jde o unikátní záležitost a hlavně jednoduchý vzdělávací systém s výborně zpracovanou dokumentací vhodný pro děti, začátečníky v programování, ale užije si ho jistě i zvědavý geek.
Rozšířením na další platformy získává MyCo ještě další rozměr, z většinou jednoúčelově naprogramovaných mikrokontrolérů dokáže vytvořit docela všestranný nástroj.
Pro návrh složitějších programů je vhodné vzít si k ruce ještě papír a tužku, což také v dnešní přetechnizované době neuškodí. Člověk u programování dobře zaměstná svoji představivost a logické myšlení. A ještě jedna podstatná věc, programování MyCo je prostě návykové! :)
V dalším pokračování si ukážeme a vyzkoušíme konkrétní program. Tak se můžete těšit!
Cenami ověnčený Minecraft je velmi oblíbená hra a také pěkně návyková. V roce 2009 ji pro PC vytvořil švédský programátor Markus “Notch” Persson a později přidal podporu pro několik dalších herních konzolí. Minecraft byl také v roce 2014 koupen Microsoftem za neuvěřitelných 53 miliard korun.
Nadšenec do Arduina i Minecraftu s přezdívkou Lakhanm vytvořil klávesnici s pomocí Arduina, která nahrazuje všechny základní tlačítka nutná pro hraní Minecraftu. Projekt je možné rozběhnout na deskách Arduino Micro, Arduino Leonardo a ostatních, které podporují knihovnu Keyboard. Pokud si jej chcete vyzkoušet, stačí vzít tlačítka, rezistory, kontaktní pole s vodiči a můžete se pustit do bastlení.
Program pro Minecraft ovladač
Do vaší Arduino desky nahrajte následující kód.
#include <Keyboard.h>
void setup() { //This runs only once
pinMode(2, INPUT_PULLUP);//Define pin 2 as input
pinMode(3, INPUT_PULLUP);//Define pin 3 as input
pinMode(4, INPUT_PULLUP);//Define pin 4 as input
pinMode(5, INPUT_PULLUP);//Define pin 5 as input
pinMode(6, INPUT_PULLUP);//Define pin 6 as input
pinMode(7, INPUT_PULLUP);//Define pin 7 as input
pinMode(8, INPUT_PULLUP);//Define pin 8 as input
pinMode(9, INPUT_PULLUP);//Define pin 9 as input
pinMode(10, INPUT_PULLUP);//Define pin 10 as input
Keyboard.begin();
}
void loop() { //Runs continuously
if(digitalRead(2) == HIGH){ //If the button 2 is pressed
Keyboard.write(113);//Drop item (q)
delay(200);//Wait 0.2 seconds
}
if(digitalRead(3) == HIGH){ //If the button 3 is pressed
Keyboard.write(101);//Inventory (e)
delay(1000);//Wait 1 second
}
if(digitalRead(4) == HIGH){ //If the button 4 is pressed
Keyboard.press(KEY_LEFT_SHIFT);//Sneack (LShift)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(5) == HIGH){ //If the button 5 is pressed
Keyboard.press(' ');//Jump /Fly (Space Bar)
delay(20);//Wait 0.02 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(6) == HIGH){ //If the button 6 is pressed
Keyboard.press('w');//Walk Forwards (W)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(7) == HIGH){ //If the button 7 is pressed
Keyboard.press('s');//Walk Bakcwards (S)
delay(20);//Wait 0.02 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(8) == HIGH){ //If the button 8 is pressed
Keyboard.press('a');//Strafe Left (A)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(9) == HIGH){ //If the button 9 is pressed
Keyboard.press('d');//Walk Backwards (D)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(10) == HIGH) { //If the button 10 is pressed
Keyboard.press(KEY_ESC);//Escape(Pause)
delay(1000);//Wait 1 second
Keyboard.releaseAll();//Release the key
}
}
Přeloženo z http://blog.arduino.cc/2014/09/22/a-keyboard-for-minecraft-addicted/comment-page-1/ a mírně upraveno.
V minulém díle jsme si představili minipočítač Myco a jak ho programovat. V sérii pokračování si ukážeme pár jednoduchých prográmků a něco si společně nakódíme. Pro naše programování využijeme asi nejdostupnější a nejvděčnější desku – micro:bit. Z této destičky vytvoříme malé Myco a vznikne nám Mycobit. Výhodou Myco provozovaném na microbitu je velmi přehledné zobrazení kódu.
Mycobit na micro:bitu V2 umí navíc využít interní vstupy a výstupy, tedy akcelerometr, kompas, mikrofon, měření intenzity světla či buzzer. Začneme zlehka, zobrazením a přičítáním proměnné.
Co budeme pro Mycobit potřebovat
Základem je deska micro:bit (postačí jakákoliv verze) a pak se hodí nějaký šikovný zdroj. Microbit se dá napájet i přes USB kabel, ale daleko větší volnost při programování zajistí bateriový modul. Například držák baterií od HWKITCHEN dobře poslouží, protože má i vypínač. A teď si můžete příklad jednoduše vyzkoušet. Stačí stáhnout hex soubor ze zdrojových stránek pro příslušnou verzi a nahrát ho do micro:bitu. Zdrojové stránky mají velmi dobrou dokumentaci, k ruce se určitě hodí tabulku příkazů.
Trocha teorie pro Mycobit – proměnné
Práce s proměnnými je pro Myco specifická. Má k dispozici 4 proměnné označené jako A, B, C a D. Hodnota A – akumulátor je součástí všech početních operací, a zároveň přijímá výsledek výpočtu. Proměnná B je zapotřebí pro výpočet operace, C a D slouží jako dočasná paměť pro operace smyček.
Nejvíc se pracuje s proměnnou A, většina změn ostatních proměnných funguje jejich definováním pomocí této proměnné. Proměnná A si umí jako jediná sahat na vstupy a výstupy mikropočítače.
Rozcvička – přičítání (counter)
Pokud se nahrání hex souboru podařilo, měl by na mycobitu blikat ukázkový příklad – běžící matrice. První krok je vstup do režimu editace. To se provede souběžným zmáčknutím tlačítka reset a pravého tlačítka (tlačítko B), pustit tlačítko reset a počkat do objevení zdrojového kódu (u starších verzí micro:bit to chvíli trvá).
Zobrazovací pole mycobitu je 4 x 4, spodní řádek zůstává prázdný, levý sloupec zobrazuje číslo řádku. Při otevření módu editace jsme na řádku 0. Zmáčknutím levého tlačítka A se vynuluje příkaz a začínáme zadávat vlastní program. Levým tlačítkem zadáváme hodnotu, pravým skočíme na další řádek.
Program se bude skládat z cyklu definování proměnné A, její zobrazení na matrici, nějaké prodlevě a skoku zpět. Z tabulky příkazů je patrné, že proměnná A se definuje příkazem 4. Řekněme, že nastavíme hodnotu 1. Zápis je tedy včetně označení nultého řádku následující – 0 4 1. Technicky stačí namačkat levé tlačítko A do hodnoty 4, a pravým tlačítkem B potvrdit.
Druhý krok je zobrazení proměnné A na matrici. Příslušný příkaz je 5 4. Jsme na řádku 1, tedy na třetím řádku mycobitu, v levém sloupci by se mělo objevit číslo řádku, zbývá přepsat původní kód. Technicky to znamená zmáčknout 6x levé tlačítko (první zmáčknutí nuluje řádek), potvrdit pravým tlačítkem a znovu 5x levé tlačítko.
První stránka, respektive první dva řádky programu by měly vypadat takto:
Dalším potvrzením pravým tlačítkem skočíme na druhou stránku, řádek 2. Abychom mohli později sledovat nějakou změnu, nastavíme prodlevu – příkaz wait – 2. Hodnoty příkazu wait jsou odstupňované tak, aby pokryly co největší časový rozsah – od milisekundy po minutu. Půl vteřiny nám bude stačit, hodnota tedy bude 8.
Následuje přičtení hodnoty 1. Příslušný příkaz A=A+1 je 7 1
Zbývá program dokončit a příkazem jump vrátit na první řádek programu. Řádek 0 definuje první zobrazenou hodnotu, provede se jenom jednou, na začátku programu. Jsme na straně 3, řádek 4, příkaz a jeho hodnota je 3 3.
Za řádkem 4 zůstanou nejspíš další řádky ukázkového programu, což vůbec nevadí, protože příkaz jump program dál nepustí. Nicméně je možné jakýkoliv řádek vyčistit jedním zmáčknutím levého tlačítka.
Spuštění a oprava programu v Mycobit
Pro potvrzení programu stačí už jen dlouze zmáčknout a podržet pravé tlačítko, a k tomu krátce levé tlačítko. Po tom by se měl rovnou program spustit. Program začíná hodnotou 1, po půl vteřině přičítá hodnotu 1 až do hodnoty 15 (F), potom se vrátí na hodnotu 0 a pokračuje stále dokola.
Pokud program nefunguje jak má, nebo je na něm potřeba něco změnit, stačí se vrátit do režimu editace, a příslušný příkaz nebo hodnotu přepsat. Například 2 2 8 na 2 2 9 natáhne intervaly počítání na 1 vteřinu.
Máte to? Co dál?
V další části program upravíme a rozšíříme o interní výstup microbitu V2 – mycobit odečte zadaný časový úsek a zahraje tón. Univerzální kuchyňská minutka je s mycobitem záležitost na pár minut, stačí kód jenom upravit a přidat podmínku.
Na závěr článku chci upozornit, že to co je Myco zažijete jen a pouze, pokud tomu dáte šanci a vyzkoušíte na vlastních prstech. :) Samotná zkušenost z kódění Myco se do článku nedá moc přenést. Teorie programování se možná zdá na první pohled trochu komplikovaná, ale to je tím, že je to zcela jiný způsob programování (tak zvané kódění).
Až začnete mačkat tlačítka, tak najednou uvidíte, jak do sebe všechno zapadá!
Do Velikonoc už máme jen pár dní a tak je nejvyšší čas se na ně pořádně připravit. Co takhle použít EggBota, ale nebudeme předbíhat!
Jedním ze starých a krásných zvyků, které přežily do dnešních let je darování malovaných vajec koledníkům. Nabízí se samozřejmě otázka, jestli si pro vejce letos vůbec někdo přijde, když tady máme pořád lockdown! Tak bude alespoň konečně čas a prostor zkusit malovat vejce zcela jinak a ještě si u toho zabastlit!
Ono se řekne malovat vejce, ale když má výsledek za něco stát, může jedno zabrat i pár hodin. Nejen pro tento účel vznikl EggBot, díky kterému vytvoříte zajímavá a originální vejce během několika minut. Na obrázku najdete většinu vajec, která maloval Eggbot. Děti tam ale propašovaly i pár ručně malovaných.
EggBot od Evil Mad Scientists Laboratories je kompaktní, snadno ovladatelný, open-source robot, jehož dovednost spočívá zjednodušeně řečeno v tom, že umí kreslit na kulaté objekty. Svoji práci zvládá tak dobře, že se nezastaví ani nad golfovými míčky, žárovkami, baňkami nebo malými dýněmi. Ve své podstatě ale představuje hlavně výborný start do světa CNC (počítačem řízené obráběcí stroje) a DIY robotiky. Všechny jeho elektronické součásti by se teoreticky daly využít na sestavení naprosto odlišného projektu. EggBot je vlastně takový umělecký “CNC” kreslící robot pro začátečníky.
Na obrázku je Deluxe Kit, který představuje nejpokročilejší verzi robota pro malování vajec. Základ tvoří pevné ale nastavitelné šasi se dvěma krokovými motory pro rotační pohyb kulatého předmětu a vodorovný pohyb pera. Mechanismus pro uchycení kreslítka je dále vybaven servem na jeho zvedání, aby se mohlo bezpečně přesouvat mezi různými částmi kresby. Uchycení předmětu, v našem případě vejce, zajišťuje pružinový mechanismus s tlumící podložkou. Vzhledem k množství důmyslných nastavení přístroj umožňuje opravdu komfortní práci při malování na sférické předměty. EggBota lze také rozšířit o speciální diamantový rytec, se kterým můžete gravírovat ornamenty například do vánočních baněk.
Software uvnitř tohoto krasavce umožňuje skrze freeware program Inkscape vytvořit přesný koncept požadovaného grafického vzoru – ať už jde o fotografie, předem vytvořené designy či narychlo spíchnuté malůvky. Zde najdete užitečné stránky pro rychlý start s Inscape.
Na trhu je EggBot dostupný v různých variantách: Pro, Deluxe a Ostrich. Verze Ostrich umožňuje kreslit i na obří vejce nebo dokonce pštrosí. Verze Pro je pak už opravdu vychytaná, ale cenově vychází už mimo možnosti většiny bastlířů. Zlatý střed je tak verze Deluxe, kde je optimální poměr mezi cenou stroje a užitnými vlastnostmi. Stroj má vynikající opakovatelnost, stejně namalovaná vejce jsou jedno jako druhé.
A co takhle Arduino EggBot?
Takový Egg robot pro malování velikonočních vajec tedy dává laťku pěkně vysoko. Je třeba uznat, že kvalita zpracování a užitná hodnota je velmi vysoká. Za takovou kvalitu a originalitu se platí a EggBot není výjimkou – verze Deluxe vás přijde na $220. Open Source komunita však vzala věci do svých rukou: uživatel Nikus na stránkách Instructables zveřejnil návod na sestrojení finančně dostupného EggBota ovládaného Arduinem. Na ukázku tady máme zjednodušenou verzi a pár obrázků:
K sestavení budete potřebovat následující součásti: 2 x krokové motory+drivery, Arduino/ATmega328, zdroj motoru, mikro servo, umělohmotná deska, 3x 40cm šrouby + matice, fixy aj.
Propojíte komponenty dle nákresu – link je níže
Z vámi vybraného materiálu vyřežete základní konstrukci, vybrousíte ji a vyvrtáte díry pro šrouby
Propojíte komponenty s ramenem pera
Stáhnete si přiložený Arduino kód
…a můžete začít kreslit!
DIY malování vajec jede naplno
Projekt je v úplnosti dostupný zde. Jedná se ale pouze o jeden z mnoha takovýchto klonů. Je proto z čeho vybírat!
Ať už se rozhodnete pro vlastní konstrukci a nebo si zajistíte stavebnici tohoto unikátního robota, určitě se nebudete o Velikonocích nudit a ještě se leccos naučíte!
V minulém díle o MyCobitu jsme si ukázali jednoduchý counter s MyCo. V tomto článku ho předěláme na kuchyňskou minutku s odpovídajícím výstupem – zahráním tónu, a to jak na interní zvukový výstup, tak na digitální výstup microbitu. Uvedený příklad pěkně demonstruje možnosti MyCobitu i specifika jeho programování.
Postup, jak nainstalovat MyCo do MyCobitu je uveden v předchozím díle. Dál už by měla být potřeba jen tabulka příkazů a hlavně chuť to vyzkoušet.
MyCobit jako kuchyňská minutka
Vyjdeme z předchozího příkladu s tím rozdílem, že první hodnota proměnné A bude vyšší a bude se postupně odečítat až k nule, potom zahraje melodii nebo spustí digitální výstup pro bzučák a zastaví se.
Nejdříve definujeme hodnotu, u které se odpočet zastaví. To se provede přes proměnnou A a z ní se načte proměnná B. Pokud chceme, aby se odpočet zastavil na hodnotě 0, musí být hodnota B o jednu nižší. MyCo ale se zápornými čísly pracovat neumí, nicméně v našem příkladu na to poslouží hodnota 15 (F) – tedy o jednu menší než hodnota 0 v dalším cyklu. Zápis programu v pořadí – číslo řádku, příkaz, hodnota:
0 4 F A = 15(F)
1 5 1 B=A
Potom definujeme hodnotu, od které se začne odečítat a výstup na matrici micro:bitu pro vizuální kontrolu.
2 4 6 definování počáteční hodnoty proměnné A = 6
3 5 4 výstup na horní řádek matrice micro:bitu
Následuje funkce odečtu jedné a časová prodleva. V minutce na vajíčka na hniličku by se musela hodnota nastavit na celou minutu (F), nicméně program se bude lépe zkoušet s kratším intervalem.
4 7 2 proměnná A = A – 1
5 2 9 čekej 1 s
Asi nejzajímavější část programu, kontrola hodnoty, u které program skončí. Dokud je hodnota proměnná A odlišná od hodnoty B, následuje další řádka – skok na začátek cyklu, ve chvíli kdy se budou rovnat, řádek přeskočí na další řádek programu.
6 C 3 přeskoč pokud A=B
7 3 4 skoč o 4 řádky zpět, tedy cyklus programu
Poslední část programu, která se otevře až po splnění předchozí podmínky. Řádek 8 zahraje jednu notu.
8 E 7 zahraj notu A
Protože starší microbity nemají interní buzzer, doplníme program ještě o digitální výstup na bzučák. MyCobit umí 4 digitální výstupy, pinout je popsaný dole v tabulce příkazů. Digitální výstup 0 je podle popisu na pinu 12. Pro realizaci projektu stačí buzzer jednoduše zapojit do kontaktního pole a připojit k microbitu.
Program bude ještě potřeba rozšířit o jeden řádek, který definuje dobu, po kterou bzučák sepne, řekněme na 1 s. Pak bude vypadat následovně:
9 5 B Digitální výstup na pin 12
A 2 9 Čekej 1 s
B 3 0 Skok zpět o 0 kroků, tedy konec programu
Pokud máte k dispozici jiný rozšiřující modul pro kontaktní pole, například Pinbit, který nemá výstup na pin 12, stačí upravit digitální výstup na jeden ze třech zbývajících pinů. Například pro pin 8 micro:bitu stačí poslat signál na digitální výstup 1. Řádka 9 by byla tedy 9 5 C.
Uložení a spuštění programu
Program se uloží zmáčknutím pravého tlačítka B, a následného zmáčknutí tlačítka levého A. Pokud program nefunguje jak má, je potřeba znovu vstoupit do režimu editace – reset a tlačítko B, program projít a případně opravit.
Pro odladění programu je výhodné nastavit krátkou časovou prodlevu, my jsme zvolili 1 vteřinu. Kuchyňská minutka ale funguje s prodlevou 1 minuta, je nutno tedy opravit řádek 5, příslušná hodnota proměnné je F. Celý řádek potom bude 5 2 F.
Čas kuchyňské minutky se nastaví úpravou proměnné A na řádku 2 – pro minutku na vajíčka na hniličku pak bude řádek 2 4 3.
Jiné řešení pro MyCobit
Existuje samozřejmě několik cest, jak se dostat k cíli. Uvedený program jsem zvolil tak, aby navazoval na předchozí příklad a aby ukazoval práci s proměnnou A a B. Nicméně náš problém by šlo efektivněji řešit pomocí proměnné C (případně D), které jsou přímo určené pro omezený počet kroků. Rozdíl oproti proměnné B je ten, že příkaz C jump odečítá při každém kroku z počáteční definované hodnoty a zároveň vrací program o nastavenou hodnotu řádků zpět. Vše uvedené, včetně tutoriálů jde vyzkoušet a nastudovat i na počítači.
A máme to!
A to je celé. Příklad kuchyňské minutky dobře ukazuje specifika MyCo. Programování v něm je poměrně jednoduché, ale má samozřejmě svoje omezení. Nicméně v podobě jaké je MyCo nyní, je dostatečně kompaktní na to, aby ho bylo možno použít ve spoustě mikrokontrolerů.
MyCobit provozovaný na microbitu je to dle mojí zkušenosti nejuniverzálnější systém, se kterým je možné vytvořit spoustu jednoduchých aplikací bez jakéhokoliv připojení na počítač. Tím se posouvá mikropočítač s obvykle jednoúčelovými aplikacemi na všestranný nástroj do kapsy, nebo třeba na zápěstí.
Poznali jste někdy ten pocit, když vám přijede rodinná návštěva a ten bratránek, co sedí naproti u stolu, je v každém ohledu na který si vzpomenete o něco lepší? Tak nejspíš takové pocity asi bude mít náš mBot z první verze, až se setká s mBotem verze druhé. A je to tak asi dobře a zároveň by to mohlo znamenat i jisté posuny v robotím ekosystému u Makeblocku. MBot2 je v potravním řetězci zkrátka o něco výše než jednička a my si v následující recenzi na tohoto nového fešáka zkusíme zaspekulovat co by to mohlo znamenat.
Musím říci, že u mBota 2 je velmi těžké zhodnotit jednotlivá vylepšení, protože to pánové z Makeblocku vzali skutečně od podlahy a vylepšovali nejenom stávající moduly a jednotlivosti, ale řadu vylepšení na tomto modelu provedli přímo v rámci celkové koncepce. Podle posledních informací bude mBot2 cenově jen o něco dražší (cca 30%) než jeho starší bratránek, což znamená že se nám do rukou dostává kvalitativně daleko lepší robůtek za cenu více než přijatelnou. S mBotem jedničkou jsme se už něco nadováděli, teď se ale podívejme podrobněji na jeho povedeného mbotího bratránka.
Vylepšení číslo 1 – Modul CyberPi
Toto vylepšení je pro mě jednoznačně topkou mezi všemi vylepšeními, které vývojáři z Makeblocku na mBotovi provedli. Jedná se vlastně o kompletní “výměnu mozku” – tedy mikrokontroléru arduino ve staré verzi mBota 1 za mikrokontrolér ESP32 pro novou verzi mBota 2. Samotný CyberPi je v průhledném plastovém pouzdře a je
snadno demontovatelný z šasi robůtka. Modulek CyberPi je jednoduše vložitelný do konektoru. Obsahuje vstup USB – C na boku pro programování a napájení. Mikropočítač CyberPi je provozovatelný i samostatně jako řídící platforma pro vlastní konstrukce, ale je třeba jej doplnit dalším modulem, který řeší napájení. Napájecí modul je pak součástí stavebnice CyberPi Go Kit. V případě mBota tuto roli zastupuje jeho šasi, kde je umístěna LiPo baterie. Samotné šasi je bez řídící jednotky CyberPi mrtvým kusem hliníku/plastu .
A nyní co nám modul CyberPi vlastně umožňuje. Při prohlídce následujícího obrázku, na kterém je rozložení prvků na modulu CyberPi zjistíme, že nám tento modul nabízí minimálně dvě integrované funkcionality, které byly ve starší verzi mBot 1 realizovatelné pouze dokoupením doplňkových modulů.
Zmiňovaným vylepšením je 1,44 palcový barevný lcd displej a druhým je integrovaný zvukový modul umožňující nahrávání a přehrávání zvuků, což jsme mohli u mBota 1 realizovat pomocí ME TFT LCD Displeje a pomocí zvukového modulu ME Audio Player.
Kromě toho je na modulu pětiosý joystick a dvě programovatelná tlačítka A a B. Joystick slouží zejména k pohybu v menu (CyberPi má jakýsi mini OS), ale není důvod nevyužít jej k řízení vlastních programů, stejně jako obě tlačítka. MBot 1 nabízel pouze jedno jediné programovatelné tlačítko.
Zvětšení kapacity se dočkalo i vybavení LED. Oproti dvěma LED světlům na hřbetě mBota 1 obsahuje CyberPi LED pásek s pěti RGB svítivými diodami, které po vsazení modulu do šasi svítí v zadní části mBota.
Vybavení čidly doznalo rozšíření o modul gyroskopu a akcelerometru. Zůstal snímač osvětlení a velkým plusem je možnost využívání Bluetooth i Wifi sítě (dříve měl mBot integrovanu funkci buď Bluetooth, nebo WiFi, ale ne obojí).
Zajímavou možností je také využití jakéhosi mini operačního systému CyberPi, které umožňuje uložit až osm programů (mbot 1 pouze jeden). Z výroby jsou na těchto slotech dodány demonstrační programy, které také stojí za shlédnutí, předvádějící možnosti modulu.
Vylepšení číslo 2 – Celková konstrukce
Celkově jeví celá konstrukce řadu drobných optimalizačních zásahů, které přispěly jednak ke zpevnění celé sestavy, ale také ke zjednodušení montáže.
Zůstalo typické modré tělo z ohýbaného perforovaného hliníkového plechu, kde se pouze rozšířily otvory pro průchod kabeláže (čímž makeblock vychytal asi jedinou chybu této části mBota). Kovové šasi a kolečka jsou ale asi tak to jediné, co zůstalo víceméně beze změny.
Oproti mBotu typu 1 zmizely mosazné distanční sloupky mezi kovovým šasi a plastovým modulem s mikrokontrolerem. U mBota 2 plastový modul s mikrokontrolérem volně dosedá na kovové šasi. Výsledkem je výrazné zpevnění sestavené konstrukce a zjednodušení celé montáže. Drobným nedostatkem z toho vyplývajícím je zmenšení prostoru pro kabeláž, takže při instalaci nějakého doplňkového modulu bude zřejmě nutno horní desku demontovat, vložit kabeláž a opět vše přišroubovat. Demontáž vrchní desky je ovšem snadno proveditelná a proto je tento problém vyloženě drobností.
U MBota 2 došlo k radikální změně v případě kabeláže. Zmizely staré robustní konektory RJ25, byly vyměněny za konektory typu JST. Tato změna má, jak už to tak bývá, své výhody i nevýhody. Výhodou jsou zcela určitě menší rozměry konektoru a jejich typová variabilita. Variabilita konektoru, co se týče počtu obsluhovaných vodičů, umožňuje volbu typu konektoru JST přímo podle potřeby (a tím se opět optimalizuje prostor potřebný pro konektory).
Nevýhodou změny konektorů (a zde se jedná víceméně o můj subjektivní dojem) je náročnost manipulace s tímto typem konektoru. Pro vyjmutí i zasunutí je třeba jisté šikovnosti a zejména síly v prstech. V případě sestavování mBota, které bylo dříve realizovatelné i malými dětmi, je třeba, aby v této fázi pomohl nějaký šikovný dospělák. Řada konektorů je vyjmutelných pouze tahem za kabeláž, což by mohlo v dlouhodobém horizontu ovlivnit i životnost kablíků. Ale předpokládám, že bude možno časem objednávat kabely i zvlášť a pak by případná likvidace konektoru opotřebením asi nehrála takovou roli.
Nerovnost mez počtem modulů, které by bylo možno na mBota 2 osadit (mBot 1 umožňoval pouze čtyři moduly) je řešena využitím sériové komunikace. V rámci tohoto způsobu přenosu dat zvládne CyberPi obhospodařit až 10 různých modulů pospojovaných sériovou sběrnicí. Pro připojení na samotného mBota tak stačí pouze jediný konektor po pravé straně v přední části mBota.
V rámci zapojení je úplně jedno jak moduly řadíte. Každý z nich má zabudovaný identifikační obvod díky kterému si je CyberPi dokáže bez problémů vybrat a využít.
Vylepšení číslo 3 – Moduly v základní sestavě
Měl jsem k dispozici pouze dva moduly dodávané v základní sestavě mBota 2. Podobně jako u mBota 1 se jednalo o ultrasonický modul pro měření vzdálenosti a line follower – modul pro čtení čáry. Dlužno ještě poznamenat, že v rámci této platformy makeblock ohlašuje až 60 dalších různých modulů, z nichž některé jsou velmi zajímavé a jiné zase orientované spíše na fyzikální pokusy (což může být dobrá zpráva zejména pro školy).
Oba moduly mají společné “průchozí” uspořádání konektorů vhodných pro sběrnicově řešené zapojení kabeláže, což jako přidanou hodnotu k celé věci umožňuje i vyšší variabilitu při zapojení. Každý modul je možné do sběrnice připojit ze dvou různých stran. Oba moduly byly vloženy do jakéhosi plastového pouzdra, což vděčně kvituji (v případě starší verze mBota ho občas děti upustily na zem, zejména přímo na modul s utrasonicem, a v tom případě to byla pro modul většinou konečná).
Modul s ultrasonicem doznal ještě jednoho drobného doplňku, což je svítící prstenec kolem vysílače a přijímače u kterého se přiznám – jsem nikde nenašel nějaké podorobnosti k jeho využití. Tiše doufám, že se nejedná pouze o designový doplněk, ale že to bude využito, třeba jako doplňková signalizace.
Velké změny nastaly u modulu pro čtení čáry, kdy z mého pohledu zasloužilého uživatele mBota 1 byly do jednoho modulu pro mBota 2 sloučeny tři různé moduly mBota 1 (ME Snímač čáry, ME Profi snímač čáry a ME snímač barev). Vylepšený Line Follower totiž má rovnou čtyři snímače (které mohou díky šikovné knihovně pracovat ve třech různých režimech odpovídajícím předchozím verzím) a samozřejmě čte nejen černou a bílou, ale i barvy. U starší verze mBota tyto možnosti nebyly v základní nabídce.
K dalším připravovaným modulům jsem nedostal žádné doplňující informace, ale již jejich výčet (získaný z knihoven, které jsou v editoru mBlock 5 k dispozici) je velmi zajímavý a leccos naznačující – chytrá kamera, senzory vlhkosti půdy a ovzduší, či tepelné čidlo. Magnetický senzor a detektor plynu. Různé moduly pro “čtení” vzdáleností. LED matrix. Ovladač serva, nebo PIR detektor. Také se těšíte? :-)
Vylepšení číslo 4 – Baterie
Novinky se nevyhnuly ani bateriové soustavě. Oproti verzi mBot 1, kde byla baterie externě umístěna mezi mikrokontrolerem a pojezdovým šasi ve formě buď LiPo baterie v pouzdru, nebo bateriového modulu se čtyřmi tužkovými baterkami, má mBot2 pořádnou baterii přímo integrovanou do pouzdra s mikrokontrolerem. Baterie je naddimenzována (viz. následující tabulka) a nevyměňuje se. Životnost baterie v materiálech, které jsem měl k dispozici, nebyla nijak deklarována, ale můj odhad je, že nějaký ten pátek by měla vydržet :-).
Lego Ev3
Lego Spike
mBot 1
mBot2
Kapacita baterie
2,050 mAh
2,000 mAh
1,800 mAh
2,500 mAh
Srovnání kapacity baterie různých výrobců robotů
Baterie je dobíjena přes USB konektor z PC přes modul CyberPi, což se mi jeví, jako poněkud nešikovné. Odhadl bych, že více vybitou baterii bude třeba tímto způsobem nabíjet delší dobu. Uvidíme jak na to Makeblock zareaguje, zejména školám, které by provozovaly větší počet mBotů tohoto typu, by to mohlo poněkud zkomplikovat práci. Třeba uvidíme na trhu nějakou multinabíječku na větší počet mBotů 2.
Vylepšení číslo 5 – Motorová soustava
Na možné vylepšení ohledně pohonu mBota 2 jsem byl velmi zvědavý. Konstrukce motorků byla totiž u mBotů verze 1 dlouholetou a velmi bolavou záležitostí. Motorek byl komplet v plastu (a to včetně převodů) a tomu také odpovídala přesnost pohybu. Vzhledem k tomu, že velká část programovacích úloh při mé výuce byla typu: “někam dojeď po zadané dráze”. Fakt, že robůtek mBot 1 jezdil někdy s naprosto šílenými odchylkami, byl značně deprimující. Odchylky se pak zvyšovaly přímo úměrně se služebním stářím mBota, jak byla celá soustava vyviklaná.
Nepříjemný byl i případný pád mBota na zem, kdy se občas urazila plastová osa a bylo vše třeba vyměnit. Makeblock na tento problém reagoval doplněním základní sestavy mBota 1 náhradními osami, ale to samozřejmě nevyřešilo problém s převodovkou a nepřesným motůrkem.
Motorky pro mBota 2 jsou chválabohu kovovou záležitostí a navíc mají pro zajištění přesného pohybu enkodéry. Celá konstrukce převodovky i motorku je kompaktně a pevně spojena a stažena šrouby. Nic se neviklá a osa vystupující z převodovky je kovová. Při indikativním testování přesnosti jízdy se mBot choval velmi slušně. Zřejmě s přesnějším chováním motorků počítal i výrobce, vzhledem k programovým blokům editoru, které optimisticky umožňují přímo zadávat pohyb v centimetrech a otáčení v přesných úhlech. Je to rámcově skutečně přesné, ale je jasné, že je třeba započítat i vliv povrchu na kterém se má mBot pohybovat.
Konstrukce motorků umožňuje ovšem nejenom přesnější pohyb, ale nabízí díky zabudovanému enkodéru i další zajímavou možnost – snímání počtu otáček z každého motorku. Tím je možné pohyb robota naprosto přesně kontrolovat. Podobné řešení motorů s enkodéry známe z například z robota mBot Ranger. Kromě této možnosti je funkcionalitu možné využít například i jako možnost přesné regulace čehokoliv otáčením kola (pokud bude šasi mBota například využito jako pevná základna).
Co se týče celkového vylepšení pohybového ústrojí mBota je jasné, že tomuto problému věnovali v Makeblocku značnou pozornost a dali si s vylepšením velkou práci. Proto pro mě s podivem zůstává, že k vylepšeným motorkům s vylepšenou převodovkou s akcelerometrem byla použita laciná původní kolečka s prokluzující pneumatikou, která sice nejsou úplně na závadu, ale vzorem přesnosti jistě také nebudou.
Vylepšení číslo 6 – Programování mBota
Pro programování mBota 2 je třeba využít editoru mBlock 5, který výrobce nabízí volně ke stažení na svém webu.
Makeblock nabízí verzi mBlock 5 pro PC (64 bitová verze pro Windows 7/10 a macOS 10.12+), pro mobilní telefony (verze pro Android 6.0+ a iOS 10.0+). Vyzkoušet programování je možné i online ve webové verzi (nezkoušel jsem). MBot2, respektive jeho řídící jednotku je možné programovat buď graficky ve Scratchi, případně kódem v MicroPythonu. Musím říci, že dojmy z práce v tomto editoru jsou pro mě značně rozporuplné (možná díky návykům z verze 3).
Je jasné, že mBlock 5 je nástroj poskytující značné možnosti. Problémem podle mě je, že je vlastně neustále ve vývoji, stejně jako robotické platformy, které by měly být přes něj programovány. A tak v editoru mBlock 5 naleznete sem tam různé nedodělky typu nepřeložené programovací bloky, nebo chybějící nápovědu, či texty v čínštině. Ale to jsou zjevně potíže zrodu. MBlock 5 pozoruji již delší dobu a je zřejmé, že se z něj stává robustní nástroj pro programování celé škály výrobků od Makeblocku.
Poměrně snadno lze s mBlock 5 programovat více než 100 typů různých zařízení, včetně Arduina, ve dvou režimech – pomocí scratchových bloků (vhodné pro nováčky), či v MicroPythonu (vhodné pro pokročilejší). Touto duální koncepcí mBlock 5 umožňuje editoru být univerzálně použitelný ve výuce jak pro začátečníky, tak pro pokročilejší. V mBlock 5 lze snadno nadefinovat vlastní bloky či proměnné, což je opět velmi dobře využitelné ve výuce i při tvorbě vlastních algoritmů.
Oproti verzi mBlock 3 přibyla řada vylepšení, které ocení zejména začínající programátoři snažící se v problematice teprve zorientovat – například položka kurzy, která obsahuje několik již hotových programů. Přesto si myslím, že v oblasti komunitní podpory, nápovědy, případně výukových lekcí má tento program co dohánět.
Závěrem
Na závěr bych rád shrnul celkové dojmy z mBota 2. Robůtek má zcela jistě velký potenciál a je velmi dobře použitelný. Neubráním se srovnávání s verzí mBot1. Technologicky je mBot2 rozhodně vychytanější, než jeho předchůdce. Druhá verze mBota dokázala vyřešit řadu nedostatků, kterými trpěl mBot 1 – nepřesnost v pohybu, průměrnou kompaktnost konstrukce, problematický bateriový systém, malou modularitu, či problematické použití v síti. Nabízí dokonce i některé nové možnosti – daleko sofistikovanější systém programování a vyšší kapacitu, kterou sebou přináší využití CyberPi, lcd displej a vylepšené moduly v základní verzi, nebo sběrnicový systém připojení modulů.
Co ovšem paradoxně mBot2 začíná poněkud postrádat je jistá jednoduchost, která byla právě doménou mBota verze 1. Je to asi daň za zdokonalení celé sestavy a za nové možnosti, které mBot2 přináší, že je složitější na programování. Složitější je i prvotní orientace v tom, co vlastně můžeme využít. V tomto případě by asi mohl pomoci servis Makeblocku co se týče informací o této platformě a jejích možnostech. Nepochybuji, že Makeblock v tomto směru zafunguje a informace dá k dispozici.
Můj celkový dojem z této situace je ten, že mBot2 zajímavým způsobem překlenuje mezeru mezi mBotem 1 a sestavami Ranger, či Ultimate určenými spíše pro středoškoláky. Jeho výhodou je poměrně značné rozpětí toho, co se s ním dá podnikat. V tomto směru ještě čekáme na informace o modulech, které bude moci mBot2 využívat (a které určí opravdovou využitelnost v různých oblastech výuky). Další výhodu dává mBotu2 v tomto směru koncepce editoru mBlock 5 zaměřená na opravdu značný počet zařízení se kterými je kompatibilní. Rozhodně v tomto směru aspiruje na pozici jakéhosi standardu v oblasti robotiky.
Firma Makeblock se netají svým zacílením na oblast výroby edukačních platforem. Z mBota 2 tato skutečnost čouhá, jako příslovečná sláma z bot. Proto by u této platformy měly zbystřit zejména školy a školská zařízení zabývající se výukou robotiky, či informatiky, nebo fyziky. Svou koncepcí a schopností ukládat například naměřená data přímo na cloudové úložiště si lze snadno představit zpestření výuky třeba v přírodovědě ve formě ukládání naměřených dat při sledování prostředí, či počasí.
Pokud si mBota 2 pořídí zájemci z řad rodičů coby dárek dětem, je dobré počítat s tím, že je třeba, alespoň ze začátku pomoci s programováním, či při kompletaci kablíků. Je třeba také chápat, že mBot2 sice vypadá jako hračka, ale tak úplně to hračka není. Je to robůtek určený pro výuku a teprve pokud jej využijete v tomto smyslu projeví se jeho opravdový potenciál.
BBC microbit je jednoduchý a šikovný mikropočítač, který se dobře hodí pro úplné začátečníky, ale nezklame ani pokročilé uživatele. Už jsme si na bastlírně psali, jak microbit programovat a co se s ním dá všechno dělat.
Jak můžeme ale s bastlením na platformě microbit začít úplně od nuly? To si ukážeme v dnešním článku, kde si představíme první český BBC microbit Starter kit!
Microbit Starter kit je stavebnice od firmy Elecfreaks, která usnadní vstup do programování elektroniky pro začátečníky s microbitem. Začínajícím bastlířům, ale i pokročilým uživatelům poskytne základní elektronické komponenty pro práci na nepájivém kontaktním poli. Tato stavebnice pro microbit je navíc kompletně zasazena do českého prostředí, protože ji doprovází český návod s barevnými obrázky. Podívejme se tedy blíže na to, čím je stavebnice pro české bastlíře a hlavně začátečníky zajímavá.
Microbit Starter kit dodá bastlení šťávu
Microbit je úžasný v tom, že na jedné desce spojuje zajímavou kombinaci různých periferií od tlačítek, přes sensory až po zvukový či grafický výstup. Tu pravou šťávu ale bastlení s microbit dostane, až k němu začneme připojovat další součástky a propojovat je třeba na nepájivém kontaktním poli. Člověk si vyzkouší zapojování reálných elektronických součástek, osvojí si jejich základní funkce, ale hlavně se naučí používat je ve vlastním programu. Takový přístup je daleko větší zábava, než se učit programování z příkazové řádky bez kontaktu s reálným projektem. To si pak člověk ani neuvědomí, kdy si ještě hraje a kdy se už učí!
Grafické programování v MakeCode
Veškeré programování probíhá v grafickém prostředí MakeCode. Pro práci s MakeCode není potřeba nic víc, než základní znalosti práce s počítačem a znalost jazyka. Neřeší se syntaxe jazyka a programovacích pravidel je minimum. To znamená tohle programování zvládne doslova i dítě. MakeCode je jednoduše strukturovaný a po pár pokusech získá uživatel přehled, jak vytvořit program, aby fungoval. MakeCode navíc ve spoustě případů dokáže v simulátoru ukázat fungování programu a tak si program odladíte dříve, než ho do microbitu vůbec nahrajete. Pokročilejší uživatel může v tomto prostředí přepnout do moderního jazyka Python a rozvíjet se dále na profesionální dráze.
Microbit a jeho zlatý hřebínek
Microbit disponuje více jak 20 signály, které jsou vyvedeny na zlacený hranový konektor. Nejjednodušší možnost, jak je využít je jejich vyvedení pomocí adaptéru do nepájivého pole. Ve chvíli, kdy máme signály z microbitu připojené na nepájivé pole, můžeme s nimi začít pracovat. Propojování součástek realizujeme pomocí vodičů. Výhodou je, že propojení se dá jednoduše a rychle měnit a není potřeba žádné pájení.
Český návod je základ
Návod pro micro:bit Starter kit je kompletně v češtině a obsahuje 11 hravých projektů. Každý projekt zahrnuje seznam součástek, popis funkce, schéma propojení elektronických součástek, program v MakeCode s popisky funkcí jednotlivých částí programu a samozřejmě popis výsledného chování programu. Uživatel Starter kitu pro microbit si připraví součástky, zapojí je podle schématu, v makecodu si vytvoří kód, který nahraje do microbitu. V případě, že funguje vše jak má, je v návodu pro Starter kit připraven ještě doplňující úkol pro samostatnou práci. Že program funguje správně si může uživatel ověřit z popisu výsledku. V případě neúspěchu musí zkontrolovat seznam použitých součástek, správnost zapojení a program.
Pokud vás český návod pro microbit starter kit zaujal, můžete si ho stáhnout v záložce SOUBORY přímo u produktu BBC micro:bit Starter Kit.
V návodu je vše přehledně označeno, součástky jsou očíslované a tak by uživatel neměl tápat s jejich rozpoznáním a propojením na kontaktním poli. K dobrému porozumění programu, přispějí přehledné komentáře k jednotlivým blokům programu. Samotný program a jeho bloky jsou záměrně ponechány v angličtině, aby to alespoň trochu motivovalo uživatele ke zvládnutí základů angličtiny pro programování, kterým se stejně v budoucnu nevyhne. V návodu nechybí ani podrobnější informace ke správnému zapojení součástek, jako je fotobuňka nebo LED. Projekty jsou doplněny také různými poznámkami, které jistě český bastlíř ocení.
Většina zapojení využívá napěťové piny (3V a zem) a nějaký analogový nebo digitální pin. Zapojení jsou relativně jednoduchá, k realizaci jednotlivých obvodů stačí obvykle pár součástek a propojovací kablíky. Ty jsou v návodu přehledně zakresleny.
Součástky aneb co se s tím dá dělat
Microbit Starter kit používá u všech projektů fyzické programování (tj. přímé a neabstraktní). Začátečník získá ze schémat základní pochopení zapojení, podrobnější vysvětlení a další projekty může dohledat též na webu výrobce Elecfreaks. Starter kit se svými vybranými příklady provádí začátečníka ve fyzickém programování použitím základních elektronických komponentů. Uvedu dále několik příkladů.
LED dioda a tlačítka
Starter kit začíná příkladem se střídavým blikáním dvou LED a použití tlačítek. Tím se začínající bastlíř naučí používat jednoduchý digitální vstup a výstup. Jde o základní dovednost, kterou lze využít u většiny mikrokontrolerů či mikropočítačů. Uživatel díky tomu přestává být závislý na řešení elektrického obvodu a mikropočítač mu bez dalších elektronických součástek umožní například různou periodu blikání diod či zpožďování výstupů. Projekty blikání všeho druhu jsou pěkná zábava a člověk si u toho rychle osvojí základní práci v programovacím prostředí MakeCode.
Potenciometr
Důležitou součástí mikrokontrolerů je analogový vstup. Zjednodušeně jde o to, že si mikrokontroler změří napětí na analogovém vstupu, podobně jako voltmetr, a použije hodnotu pro další zpracování. Pro jednoduché pochopení je ve Starter kitu potenciometr – součástka, která změnu napětí umožní otočením knoflíku. Tím uživateli Starter kit předvede jednoduchou možnost měření napětí. Na základě změny napětí je pak možné ovládat jas LED, nastavovat otočení serva nebo měnit tón buzzeru.
Fotobuňka
Totobuňka je užitečná součástka, která reaguje na úroveň okolního osvětlení. Dají se s ní realizovat různé projekty, kde na základě zjištěné úrovně světla provede microbit nějakou akci. Například při setmění rozsvítí LED osvětlení, změní barvu RGB LED kroužku nebo spustí alarm jako zvuk bzučáku.
Snímač teploty
Microbit je vybavený interním senzorem teploty, nicméně často se hodí mít senzor vyvedený mimo mikropočítač. Práce se snímačem je pak pohodlnější, například dá se lehce zahřát dotekem ruky. Tepelné senzory tvoří zajímavou část elektronických součástek a jsou nedílnou součástí automatizace. Na příkladu se snímačem teploty je vysvětleno nastavení rozsahu zobrazení na LED matici microbitu a jednoduchý výpočet teploty ze senzoru. Se snímačem teploty získá uživatel zpětnou vazbu z měřeného prostředí.
Mini servo
Jde o základní součástku, která dokáže převádět elektronické pulsy z mikropočítače na rotační pohyb, většinou k ovládání nějaké fyzické věci. Můžeme například realizovat projekt, kde se teplota pomocí servomotoru převádí na fyzický pohyb – konkrétně natočení ramena servomotoru. Servo představuje jeden ze základních prvků světa chodících robotů a mechatroniky.
Motor
Je další elektrická součástka umožňující pohyb, která se dobře hodí do různých elektronických projektů. Jednoduchý příklad Starter kitu ukazuje, jak použít tlačítko tak, aby jedním stisknutím motor zapnulo, a dalším vypnulo. Zapojení obvodu motoru je trochu větší výzva oproti ostatním příkladům, ale to není vůbec na závadu. V obvodu se používá výkonový tranzistor a dioda a realizujeme zde jednoduchý větráček.
RGB duhový kroužek
Poslední dobou začíná být zajímavá takzvaná nositelná elektronika. Jde o elektronické komponenty, které uživateli umožní se vizuálně vyjádřit. Duhový kroužek je kruh barevných RGB LED, které se mohou rozsvěcovat v různém pořadí a barvě. Velmi snadno se dá realizovat například rotující duhové světlo a nebo můžeme použít kroužek pro zobrazení naměřené veličiny.
A ještě pár dalších užitečných součástek
Pro představu, co se s kitem dá realizovat, jsem popsal základní součástky. V balení najdete samozřejmě i propojovací vodiče, kontaktní pole, nějaké odpory, bzučák, držák baterií AAA s vypínačem, USB propojovací kablík, RGB LED a další. Součástí je také kompaktní krabička pro uložení drobnějších součástek.
Kit vám na zajímavých projektech představí postupně všechny součástky a naučíte se je používat, pak už můžete vytvářet další obvody a funkce, nebo získané znalosti a zkušenosti použít ve vlastním projektu.
Microbit Starter Kit pro děti a tatínky
Microbit stavebnice je vhodná pro základní seznámení s programováním microbitu a umožňuje rychlý start bastlení na této platformě. Microbit Starter kit vzbuzuje také zvědavost a zájem o další využití součástek ve vlastních projektech. Možnosti realizace dalších projektů jsou opravdu velké a tak záleží jen na představivosti a odhodlání, jaký projekt člověk po zvládnutí základů nakonec realizuje.
Starter kit je též použitelný i pro pokročilejší uživatele microbitu, adaptér je univerzální prostředek pro vyvedení pinů microbitu do nepájivého pole, který se hodí většině uživatelů microbitu, stejně jako další součástky kitu. Návod Starter kitu je k dispozici v češtině což ještě více usnadní začátky programování.
Drobnou nevýhodou Starter kitu je, že některé funkce součástek stavebnice jsou vysvětlené jen v základních souvislostech. To je ale do jisté míry logické, protože mikropočítače pracují s mnoha elektronickými součástkami, které mají svoje funkce a jejich pochopení je záležitost dalšího studia. Pokud mají zvídavé děti tatínky, co rozumí elektronice, pak je to ideální kombinace společně něco zažít a naučit se.
Na další prohloubení znalostí a rozvinutí příkladů ze starter kitu se podíváme v příštím díle.
Dítě zrozené z divokých sil chaosu, někdy nazývané démonem, vychované však lidskými rodiči – to je princ Nezha[ 1 ], který se vzepřel svému údělu a změnil svůj osud. Tento hrdina tradičních čínských pověstí byl zároveň přítelem Opičího krále Sun Wukonga[ 2 ], bylo by tedy těžké najít vhodnějšího patrona pro stavebnici, která chce zpřístupnit svět elektroniky začátečníkům bez předchozích znalostí.
Jeden inspirativní TED talk, který spustil tichou revoluci
Začátkem roku 2012 přednesla charismatická inženýrka Ayah Bdeir[ 3 ] svou vizi stavebnice budoucnosti: Začíná připomenutím roku 1868, kdy svět poznal betonové bloky, stavební prvek pevné velikosti, díky kterému lze rychle stavět větší a komplexnější celky. O necelých sto let později se stala duchovním pokračovatelem této myšlenky firma LEGO®, která uvedla na trh dnes světoznámé kostičky.
Ovšem ve stejné době Bellovy laboratoře představili tranzistor, klíčový vynález pro současnou elektroniku. Stejně jako betonové bloky, nebo plastová stavebnice, i tranzistor umožňuje skládat větší a komplexnější celky blok po bloku – ale je tu jeden velký rozdíl: tranzistory byly srozumitelné pouze odborníkům a to brzdilo jejich rozšíření do umění nebo každodenního života.
Ayah Bdeir se rozhodla, že tuto překážku odstraní a přišla s konceptem elektroniky jako stavebnice, kde do sebe jednotlivé prvky snadno připojujete, aniž byste museli mít hlubší znalosti o tom, jak fungují uvnitř, stačí, když umíte použít jejich výstupy. Zrodil se tak koncept, který bychom mohli nazvat stavebnice černých skříněk, protože abyste mohli dílky spojovat, stačilo vědět, co je potřeba připojit na vstup a co můžete získat z výstupu. Navíc byly dílky navrženy tak, aby se naprosto minimalizovala možnost špatného zapojení.
V této chvíli pravděpodobně mnozí z vás chtějí vznést námitku: „Ale co Arduino? Vždyť to přišlo s podobnou myšlenkou již v roce 2005!“ A já za tuto námitku děkuji, protože projekt Arduino je skutečně velmi důležitým milníkem v historii elektroniky, který představil relativně jednoduchou prototypovací platformu, původně určenou pro studenty. Pořád však šlo o platformu, která vyžadovala nějaké elektrotechnické vědomosti a příležitostně i nějaké to zápasení s připojováním drátků, či dokonce pájení.
Koncept stavebnice černých skříněk oproti tomu přináší další úroveň abstrakce, která umožňuje rychle dosáhnout požadovaného výsledku. A díky zkušenosti lektora robotiky si myslím, že tohle je přístup, který současné generaci dětí, která vyrůstá ve světě, který neustále vyžaduje okamžitě viditelné výsledky, vyhovuje. Můžete stvořit fungující techniku a teprve zpětně zkoumat, jak vlastně pracuje uvnitř, což, budete-li chtít, umožňuje získat stejnou radost ze získaných zkušeností jako strýc František[ 4 ].
Démonické dítě a Opičí král
Nezdá se pravděpodobné, že by rozšiřující modul Nezha byla přímo ovlivněna výše uvedenou přednáškou, je však poměrně zjevné, že je duchovním pokračovatelem konceptu stavebnice černých skříněk a zároveň má mnoho společného s již dříve uvedený modul Wukong, taktéž společnosti ELECFREAKS.
Obě dvě spojuje myšlenka, že zapojení do mechanické stavebnice, kterou děti, jakožto primární cílová skupina, důvěrně znají, usnadní osvojení nových konceptů. Ale nebojte se, mnoho dospělých též propadlo kouzlu stavebnic: Když se dobře podíváte kolem sebe, zjistíte, že celé naše prostředí je plné různých stavebnic. Jediný rozdíl je v tom, že ty drahé stavebnice ve kterých se vozíme, obvykle mívají dílky vyrobené na míru a není tak jednoduché si je postavit doma v garáži z vlastních zásob – ačkoliv i to někteří dělají.
Dalším shodným rysem obou desek je vestavěný dobíjecí akumulátor: 400mAh LiPol akumulátor v případě desky Wukong a akumulátor LiPol 900 mAh v případě desky Nezha.
Wukong sice nabízí menší, kompaktnější provedení, připojování senzorů se však stále spoléhá na připojování jednotlivých vodičů a potřebu znát pinout micro:bitu, který modul řídí. Zároveň zde můžeme najít integrovaný driver pro ovládání dvou DC motorů a piny pro připojení až osmi servomotorů. K řízení serv a senzorů využívá Wukong třívodičový standard GVS. Samotný plošný spoj modulu Wukong je potom přišroubován ke klonu běžného rámečku stavebnice LEGO® Technic, čímž je zajištěna snadná mechanická kompatibilita.
Modul Nezha je oproti Wukong zapouzdřen v robustním krytu, který je mechanicky kompatibilní jak se stavebnicí LEGO® Technic, tak konkurenční stavebnicí Fischertechnik. Co se týče připojení senzorů, nabízí Nezha sedm barevně kódovaných portů:
Vpravo se nachází čtyři číslované porty, kam je možné připojit digitální rozšiřující moduly. Porty J1 a J2 navíc umožňují zapojení i analogových senzorů. Digitální senzory jsou označeny červenou barvou portu, analogové senzory žlutou; na straně samotné desky Nezha si můžete všimnout, že zmiňované porty J1 a J2 jsou označeny žlutým kolečkem na červeném poli, což značí, že je možné k nim připojit jak žluté, tak červené senzory.
Vlevo potom máme čtyři modré porty pro moduly využívající rozhraní I²C (zde poněkud netradičně označeno IIC) – číslování zde není potřeba, identifikaci zařízení obstará zvolené rozhraní.
[ POZNÁMKA ] Všimněte si, že na krytu jsou číslované porty označeny pouze číslem, kdežto v programovacím prostředí jsou navíc označeny prefixem J-. Pravděpodobným důvodem tohoto označení je snaha zamezit záměně číslovaných portů s označením vlastních pinů micro:bitu.
Co se týče možností připojení motorů, nabízí Nezha poměrně bohatý výběr: Máme tu hned čtyři přípojky pro DC motory. Počítá se, že budeme využívat konektor se zámkem PFH02-02P, který znemožňuje špatné připojení vodičů, zásuvka ovšem umožňuje i připojení pomocí tradičních Dupont koncovek – jen si v případě, že na tom záleží, musíme ohlídat polaritu vodičů. Pracovní napětí je dle dokumentace 3,8 V, což bohužel celkem omezuje výběr motorů, které můžeme použít. Dobrou zprávou ovšem je, že se předpokládá využití motorů Geekservo, které od začátku počítají s možností využít micro:bit jako řídící jednotku.
Zajímavým rozšířením možností je adaptér pro připojení 9V motorů stavebnicového systému Fischertechnik. Menší komplikaci ovšem představuje skutečnost, že stavebnice využívá vlastních koncovek, které se k vodičům připojují pomocí šroubovacích svorek. Zkušenějšímu elektronickému kutilovi se ale otevírá cesta, jak připojit i další 9V motory.
Pokud nepotřebujeme kontinuální pohyb klasických motorů, ale místo toho využijeme natočit motor o konkrétní úhel, můžeme využít porty S1 až S4 pro připojení serv, tradičně pomocí standardu GVS.
Barvy z Planety X
PlanetX je označení pro systém elektronických modulů jejichž srdcem je právě modul Nezha, stejně dobře však poslouží i robot pro nejmenší TPbot[ 5 ]. Charakteristické je pro PlanetX použití kablíků s koncovkou RJ11 4P4C. Pokud byste chtěli doplnit kablíky z nabídky některého obchodu s elektronikou, ujistěte se, že jste vybrali správnou koncovku – standard RJ11 definuje několik typů zakončení a do přípojky 4P4C vám jiné pasovat nebudou.
Samotné elektronické, tedy pomyslné černé skříňky této stavebnice, jsou pak rozčleněny do třech kategorií označených barvami. Jak bylo již výše uvedeno, jedná se o označení typu periferie a příslušnou barvou je označena nejen přípojka na modulu a na desce Nezha, ale dokonce i rozšíření pro programovací prostředí MakeCode zachovává barevné značení, což umožňuje opravdu rychlou orientaci v zapojení.
V základní sadě Nezha Inventor’s kit for micro:bit naleznete především moduly značené ∎ – jedná se o komponenty, které můžete připojit do všech číslovaných portů, protože jsou řízeny vodičem s digitálním signálem, tedy signálem, který ostře rozlišuje pouze stavy 1 nebo 0, obvykle značící zapnutí a vypnutí. Takto elementární užití využijete například u různobarevných LED modulů, které v sadě najdete, nicméně i s digitálním signálem lze kódovat složitější informace, například hodnoty ze snímače vzdálenosti či snímače čáry, které v Inventor’s kitu najdete také.
Nezha Inventor’s kit for micro:bitobsahuje i dva moduly označené ∎ – snímač vlhkosti půdy a potenciometr. Zejména potenciometr najde využití v mnoha projektech, protože díky tomu, že měří výstupní hodnoty v rozsahu 0-1023, je vhodným ovládacím prvkem, pokud chceme nastavit hodnotu určité veličiny nějakého jiného prvku, například rychlosti u motorů.
Tajemná písmena IIC či tradičněji I²C jsou zkratkou pro Inter-Integrated Circuit, tedy doslovně přeloženo inter-integrovaný obvod, což je počítačová sériová sběrnice vyvinutá firmou Philips používaná pro připojení nízko rychlostních periferií k základní desce či vestavěnému systému.
Stručně shrnuto, jde o způsob, který umožňuje pomocí dvou vodičů řídit vícero zařízení. Jeden z vodičů je určený pro hodinový signál (značí se SCL a v micro:bitu je zabudován do pinu 19) a druhý je datový kanál (značí se SDA, což je zkratka pro Synchronous Data a v micro:bitu je zabudován do pinu 20). Pokud vás mate, že konektory pro I²C mají nejčastěji čtyři vodiče, pak je třeba si říct, že další dva vodiče bývají určeny pro distribuci napájení, tedy jeden je GROUND a druhý POWER.
Pokud jste se prokousali poměrně technickým popisem výše, pak už nejspíš tušíte, proč přípojky IIC pro moduly značené ∎ nenesou číselné označení: Ve skutečnosti se jedná o tři vývody z týchž PINůmicro:bitu. O identifikaci zařízení se pak stará komunikace probíhající na sběrnici I²C. V Inventor’s kitu byste však hledali příslušné moduly marně – obvykle se jedná o pokročilejší senzory a patří tak do rozšiřujících kitů, jako je například Sada příslušenství pro interaktivní kódování. Zde najdete hned dva moduly označené ∎: barevný senzor a snímač gest.
Mezi I²C moduly ovšem můžete najít i rodinné stříbro systému PlanetX: Smart AI Lens čili Chytrou kameru pro A.I. umělou inteligenci. ELECFREACKS vyvinuli tuto kameru speciálně pro použití s micro:bitem a zprostředkovávají tak v co nejpřístupnější podobě nástroj pro zpracování obrazu: Díky použité umělé inteligenci můžete využívat rozpoznávání obličeje, trasování objektu či rozpoznávání karet či piktogramů. To vše zabaleno do robustního pouzdra, protože kamera je určena i pro nejmenší zájemce o elektroniku a měla by tedy něco vydržet.
[ 1 ] Nezha (Natča, někdy Ne-Ča, případně Ne-Čao) patří mezi oblíbené mytologické postavy. O tom, že jeho příběh oslovuje i současnou generaci svědčí i nedávné filmové adaptace Nezha: Birth of the Demon Child (2019) či New Gods: Nezha Reborn (2021). Uvádím názvy pro anglofonní distribuci, pod kterou filmy nejsnáze dohledáte, odkazuji potom na stránky Česko-Slovenské filmové databáze, kde se můžete dozvědět i další distribuční názvy. Druhý z uvedených filmů je v době vydání článku ke shlédnutí ve službě Netflix.
Oba filmy jsou však spíše variací na tradiční příběh o dítěti zrozeném ze sil chaosu, které leč bylo dobromyslné, bylo i zlobivé a často ve snaze pomoct napáchal mnoho škod. Nicméně jde o příběh hrdiny, který obětoval vlastní život, aby zachránil mnoho lidí, kterým hrozil Dračí král zkázou, pokud mu ho nevydají. Nezhova matka ve svém smutku našla cestu jak ho přivézt zpět, čímž získal mystické schopnosti. Ty jsou důvodem, proč je vyobrazován s vícero rukama případně i hlavami.
[ 2 ] Sun Wukong (dle tradičního českého přepisu Sun Wu-kchung) je pletichář a šejdíř, ale také statečný hrdina známý jako Opičí král. Své jméno, které znamená „Ten který pochopil prázdnotu” získal od jednoho z žáků samotného Buddhy. Tato literární postava se proslavila díky románu Putování na západ, který je považován za jedno z nejvýznamnějších děl čínské literatury. Ve zmíněném příběhu se mimochodem několikrát objeví i princ Nezha, který zpočátku změří své síly s Opičím králem, ale později se z nich stanou přátelé a spojenci.
Wukong je také označení rozšiřující desky od společnosti ELECFREAKS, která přišla s propojením micro:bitu se slavnou stavebnicí právě ve snaze otevřít svět elektroniky nováčkům. Oproti desce Nezha však míří na o něco starší či zkušenější cílovou skupinu, výhodou jsou však menší rozměry.
[ 3 ] Ayah Bdeir je inženýrka libanonsko-kanadského původu. Rodiče nevěřili v genderové predispozice k různým talentům, proto podporovali své dcery v přírodovědných zájmech a kariéře vědkyň a inženýrek. Ayah si v hrála s chemickými soupravami a ve svých 12 letech navštěvovala lekce programování na počítači Commodore 64. Její vášní bylo jak umění, tak láska k matematice, která nakonec rozhodla o dráze počítačové inženýrky. Stala se z ní výrazná protagonistka hnutí Open Hardware a proponentka hnutí za genderovou neutralitu hraček.
[ 4 ]„Názor tety, že strýc byl vědeckým pracovníkem, také není možno úplně vyvrátit. V určitém smyslu slova byl člověkem, který objevil celou řadu chemických pouček a pravidel nejrůznějšího druhu. Všechna tato pravidla už před ním objevili jiní, ale strýc o tom nic nevěděl, a nelze proto jeho zásluhy přehlížet. Protože chemii vůbec nerozuměl, byly cesty jeho objevů posety trny a zkropeny potem, ale tím větší byla jeho radost ze získání zkušeností.
Nebylo mu lze upřít sportovního ducha. Podobal se člověku, který po ovládnutí malé násobilky prohlásil svým učitelům: ‚Dál už mi nic neříkejte. Nechci nic slyšet o tom, že pan Pythagoras, Eudoxus, Euklides, Archimédes a tak dále vymyslili to a to. Nepotřebuji týt z toho, co objevili jiní. Dejte mi papír, tužku a kružidlo a nechte mne na pokoji. Však já na to přijdu sám.’”Zdeněk Jirotka: Saturnin
[ 5 ]TPbot, ve svém jménu ukrývá dalšího s hrdinů Putování na západ, nebeského maršála Tianpenga, který byl za svůj prohřešek proměněn do napůl prasečí a napůl lidské podoby. Známější je však pod jménem Zhu Bajie, či pod přezdívkou Čuník (v angličtině Pigsy). Přestože jeho slabinou je sklon k přílišnému holdování jídlu a pití, jedná se o kladnou postavu, která se vždy snaží udržet své přátele v dobré náladě.
BBC micro:bit je šikovný mikropočítač do kapsy. Může sloužit jako všestranný pomocník, chytrá hračka či jako výborná pomůcka pro zvládnutí základů programování.
V úvodním článku jsme si představili microbit Starter kit a nastínili jeho možnosti. V tomto pokračování bych rád ukázal, jak s pomocí stavebnice microbit Starter kit udělat první krůčky ve světě mikropočítačů. Kombinace micro:bit a Starter kit je pro tyto první kroky ideální.
K práci budeme potřebovat desku micro:bit V1.5 nebo microbit V2, stavebnici microbit Starter kit a počítač. Verze microbit není pro práci rozhodující, protože stavebnice funguje spolehlivě se všemi dostupnými verzemi. Součástí stavebnice je český návod a všechny potřebné součástky pro ukázku základních možností mikropočítače.
Připojení microbit Starter kit
Pro práci s microbit Starter kit budeme potřebovat nejprve připojit microbit k počítači. K připojení využijeme USB propojovací kabel, který je součástí stavebnice. Připojíme micro:bit kabelem do USB zdířky počítače. Počítač by měl mikropočítač microbit automaticky rozpoznat a zobrazit podobně jako USB FLASH paměť. Pokud počítač micro:bit náhodou „nevidí“, mělo by pomoci nahlédnout sema problém odstranit.
Prostředí, ve kterém vytvoříme první program se jmenuje makecode. Jde o grafické rozhraní, ve kterém můžeme tvořit jednoduché programy pouze manipulací s grafickými bloky.
Spárování s makecode
Prvním krokem v makecode je spárování micro:bitu s počítačem. Hotový program se pak nahraje přímo do micro:bitu. Existuje ještě druhá možnost, totiž uložení programového souboru (.hex) do počítače a jeho přetažení myší do micro:bitu. Pro příjemnější práci v makecode je možné v nastavení programu zvolit český jazyk. Nyní je váš microbit Starter kit připraven na první programování.
První projekt s microbit
Micro:bit má na rozdíl od jiných mikropočítačů spoustu vlastních interních vstupů a výstupů. Pokud máte otevřený makecode, prohlédněte si nabídku – sloupec mezi plochou na programování a simulací micro:bitu.
Většinu vstupů najdeme v záložce Vstup. Micro:bit umí reagovat na tlačítka, gesta (například zatřesení), dokáže změřit intenzitu světla a hluku, magnetického pole a také teplotu či akceleraci. Interní výstupy pak najdeme převážně pod záložkami Základní (texty a obrázky na displej), Hudba a Displej. A pokud máme k dispozici více micro:bitů, dokáží mezi sebou též komunikovat bezdrátově.
Přes všechny možnosti mikropočítače je velmi užitečné, naučit se pracovat s externími vstupy a výstupy. Microbit Starter kit pracuje převážně s nimi. To jsou ty pozlacené zoubky – piny micro:bitu, kterými umí přijímat a vysílat různé signály a spojovat se tak s dalšími zařízeními. V makecode většinu příkazů pro piny najdeme v nabídce Rozšířené – Piny. Práce s elektronickými moduly a součástkami připojenými k desce microbit je také mnohem větší zábava, protože je můžeme používat na nejrůznější věci, a tak je jednoduše umístit přímo do projektu.
Právě externí vstupy a výstupy dělají z micro:bitu šikovný a univerzální nástroj, pomocí kterého můžete třeba ovládat robota, vyrobit meteostanici s výstupem dat na cloud nebo jednoduchou herní konzoli. Možností je mnoho, a nejsou omezeny jen moduly k micro:bitu. Ale zpátky k základům.
Jdeme na to!
Pokud máme micro:bit připojený, můžeme se rovnou pustit do prvního příkladu. Je to blikání LEDky – příklad číslo 1 z českého návodu.
Pokud bychom stejný úkol chtěli řešit klasickou elektronikou, potřebovali bychom výrazně větší znalosti a sestavení obvodu by zabralo nějaký čas. Takhle jednoduchý projekt ale zvládne micro:bit hravě, stačí pár bloků a je to.
Prvním krokem u všech příkladů microbit Starter kitu je připojení micro:bitu do nepájivého pole. To provedete pomocí modulu pro kontaktní pole.
Nepájivé pole
Nebo také anglicky breadboard a česky bastlířský chleba! Nepájivé pole slouží na propojení součástek pomocí vodičů bez použití pájení. Je rozděleno na dvě nezávislé poloviny, zdířky jsou propojeny do jednotlivých sloupců vždy po pěti. Kraje nepájivého pole tvoří dva řádky po obou stranách pole označené modrou a červenou barvou – mínus a plus. Pokud bychom chtěli používat i ty, museli bychom spojovacími kablíky propojit příslušné řádky – červenou na pin micro:bitu označený 3V, modrou na G (Ground znamená zem). To se hodí u složitějších zapojení a práce s obvodem je pak přehlednější.
Zapojení svítivých diod LED
Nyní nás čeká zapojení LED podle schématu na straně 1. Plusy diod budou připojeny z pinů P0 a P1, mínus na zem označenou G je na pravé straně pinové lišty. Plus diody se pozná podle delší nožičky, pokud se zapojí obráceně, dioda se nerozsvítí. Dioda totiž funguje podobně jako zpětná klapka, propouští proud jenom jedním směrem. Plus diody je propojen z micro:bitu pomocí odporu 100 Ohmů (o odporech si řekneme později).
Program pro microbit
A tím je zapojení hotové, nyní se můžeme pustit do programování. V nabídce makecode vybereme první záložku – Základní, najdeme a přetáhneme na plochu blok opakuj stále. Jde o jeden ze dvou základních příkazů. Pokud bychom chtěli, aby diody zablikaly jenom jednou na začátku, vybrali bychom blok umístěný hned pod ním – při startu.
V nabídce rozklikneme možnost Rozšířené, a vybereme záložku Piny, příkaz Zapiš do pinu P0 logickou hodnotu 0. Příkaz přetáhneme tak, aby zapadl do příkazu opakuj stále. Stejný příkaz budeme potřebovat celkem 4x, buď jej znovu přetáhneme z nabídky, nebo si ho pravým tlačítkem nakopírujeme a opravíme hodnoty. Zbývá doplnit příkaz čekej (v záložce Základní) za první dva stavy a na konec programu s hodnotou 500 ms (0,5 vteřiny).
První program je hotový!
Pak stačí program nahrát do micro:bitu zmáčknutím tlačítka stáhnout. Pokud je micro:bit spárovaný s počítačem a všechno ostatní je v pořádku, měla by zablikat dioda pod usb portem micro:bitu (nahrání se říká flešnutí programu) a po nahrání by se měly diody střídavě po půl vteřině opakovaně rozsvěcet a zhasínat.
Funguje to!
Pak si můžete zkusit změnit proměnné – tj logické hodnoty pinů (0/1) a časovou prodlevu. Například tak, aby blikaly obě diody současně po jedné vteřině. Nyní by to mělo být úplně jednoduché.
Nefunguje
Nevěstě hlavu, ne vždy se vše povede na první pokus. Nejdřív zkontrolujte zapojení a projděte si program, jestli jsou tak, jak je uvedeno v příkladu. Jsou správně otočené nožičky u LED? Máte micro:bit spárovaný s makecode? Jsou všechny drátky ve správných dírkách? Použili jste správné rezistory s hodnotou 100 Ohm? Pokud najdete chybu, opravte jí a znovu vyzkoušejte. Stále nefunguje? Někde musí být ještě další problém. Najít, opravit, znovu vyzkoušet. Chybami se člověk naučí nejvíc a je to asi to nejcennější, co můžeme při práci udělat, protože se tím člověk naučí nejvíce. Naštěstí micro:bit je na nějaké ty chyby zvyklý a vydrží poměrně hodně, takže vzhůru do bastlení!
Úkol pro vás
Každý příklad v microbit Starter kitu je doplněný o úkol – otázku. V tomto příkladě otázka zní, zda bychom dokázali z diod sestavit barevný semafor. Barevné diody v microbit Starter kitu máme, stačí vybrat tři. Obvod už máme z velké části hotový, jen ho rozšíříme o připojení na další pin, zvolíme třeba P2. Program by měl být také jednoduchý, zapnout příslušnou diodu, počkat a zapnout následující; jen předchozí diodu nesmíme zapomenout vždy vypnout.
Jak to vlastně funguje?
A první příklad máme za sebou! Co se vlastně v obvodu děje? Zjednodušeně to, že mikropočítač pomocí instrukce v programu jednou za půl vteřiny (nebo jinou nastavenou časovou prodlevu) každý z označených pinů aktivuje (pošle na něj napětí) nebo naopak vypne. Podrobně je to po řádcích popsané v poznámkách na pravé straně návodu pro microbit Starter kit.
Použití rezistorů (odporů)
Pokud se člověk seznamuje se světem elektroniky přes moderní mikropočítače, není nutná velká znalost elektroniky, nicméně jsou věci, bez kterých se neobejde. Jedna z nich jsou právě odpory. Fungoval by náš obvod, pokud bychom mezi pin a diodu nedali odpor? Pravděpodobně fungoval, ale otázkou je, jak dlouho.
Nicméně důvod proč se před konkrétní součástky předřazuje odpor je, aby součástka měla právě takový proud, na který je konstruovaná. Pokud si vzpomeneme na Ohmův zákon, pak proud I = U/R. Víme, že napětí U v micro:bitu je 3 V a do obvodu jsme zařadili odpor 100 Ohmů. Potřebné napětí na LED (aby svítila) budeme pro jednoduchost uvažovat 2 V. Ve skutečnosti je napětí na LED různé podle její barvy, lidské oko je také jinak citlivé na jednotlivé barvy a dioda má schopnost stabilizovat napětí. Ale to už bychom zabíhali do zbytečných detailů, které v tomto příkladu nehrají velkou roli.
Aby obvod fungoval správně, je potřeba vytvořit úbytek napětí na odporu cca 1 V. Proud bude tedy 1 / 100 = 0,01 A tj. 10 mA, což je přesně proud, který dioda potřebuje, aby dobře svítila a nebyla přetížená. Pokud bychom použili jiný odpor, změnila by se též intenzita svitu diody.
Ve stavebnici microbit Starter kit je množství dalších součástek, které se postupně naučíte používat stejně jednoduše, jako LED z tohoto článku. Výhoda microbit Starter kitu je to, že umožňuje efektivně a hravě vstoupit do světa moderní elektroniky aniž by vás ochudil o setkání s opravdovými elektronickými součástkami.
Co nás čeká s microbit Starter kit příště
Prvním příkladem jsme si ukázali, jak funguje jednoduchý výstup z micro:bitu. V dalším díle se zaměčíme na vstupy. A nejjednodušší vstup je samozřejmě tlačítko.
Před časem doputovala do českých luhů a hájů z čínského Shenzenu novinka tak žhavá, že jste si sáhnutím na modrý balíček od Makeblocku mohli normálně popálit prsty. Nasadil jsem si proto azbestové rukavice a vybalil z balíčku mladšího bratránka našeho mBota – jeho druhou, vylepšenější verzi mBot2. A protože je mBot2 dokonalejší, jeho hliníkové šasi více vyblýskané a navíc vlastní modul CyberPi, který se rozhodně nebojí použít, musíme mu prostě věnovat pozornost. Nový mBot2 a CyberPi navíc slibuje jedinečné možnosti výuky programování pro děti.
Chceme-li programovat nový přírůstek Makeblocku zákonitě se seznámíme s programem určeným výrobcem pro tento účel – programem mBlock 5. Pokud je mi známo jiným software mBota 2 nelze programovat. Naštěstí mBlock 5 nám v tomto směru poskytuje dostatečný servis a tak se s ním seznámíme.
MBlock 5
MBlock 5 je program, který je možné stáhnout na stránkách Makeblocku zde. Jak snadno zjistíte, program má ještě verzi mBlock 3 (starší se kterou se ale dají přehledně programovat robůtci verze mBot Explorer) a je zde ke stažení i verze určená pro mobilní zařízení (tento SW by měl být ke stažení i na Google Play a na Appstore).
MBlock 5 je kompatibilní s operačním systémem Windows i iOS. Kromě verze pro PC a pro mobil existuje i online verze, která je přístupná zde. Online verze i desktopová verze funguje prakticky totožně.
V obou případech je třeba si v rámci programu založit uživatelský účet. Možnost založit si účet naleznete v programu skrytý v pravém horním rohu (viz. následující obrázek).
Tento účet vám umožňuje jednak využívat cloudové úložiště pro vaše projekty (nebojte, mBlock 5 nemá problém s tím, aby jste si ukládali své soubory i na svůj PC) i řadu dalších funkcí programu. Mimo jiné se lze zapojit i do komunity využívající platformy mBlock5 a zveřejňovat vlastní projekty. Programování pro děti s mBlock 5 je zábava.
Popis prostředí – levá strana plochy
Musím po pravdě říci, že prostředí mBlock5 pro mě bylo při prvních seznámeních dosti matoucí (a to jsem léta pracoval s jeho starší verzí). Asi je to tím, že se snaživý vývojový tým Makeblocku pokusil do mBlock5 nacpat prostě úplně všechno o čem si vývojáři mysleli, že je to dobrý nápad. Jak se postupně s touto verzí programu sžívám, tak to začínám oceňovat.
Logo firmy, která to vše má na svědomí a logo programu. Samo o sobě jen obrázek, skrývá ale odkaz na webovky Makeblocku, kde po troše pátrání můžete nalézt řadu zajímavého od tutoriálů a nápovědy po hotové kódy makebločí komunity. Občas mírně zmatené, což je dané asi zejména typovým rozsahem produkce Makeblocku. Chce to prostě chvilku hledat a jistě naleznete co hledáte.
Malý obrázek zeměkoule skrývá možnost přepnutí do jiné jazykové verze. MBlock5 češtinu poměrně solidně podporuje (podporoval ji i v předchozí verzi, takže je to již jakási dobrá tradice). Nicméně čas od času na vás vykoukne v lepším případě angličtina, v horším čínské znaky. Děje se to zejména u nových knihoven, které výrobce zřejmě ještě nestačil přeložit.
Menu „Soubor“ umožňuje ukládání projektů do vašeho PC.
Menu „Editace“ umožňuje nastavení zobrazení pracovní plochy programu a nastavení „režimu turbo“ u kterého jsem pořádně nezjistil k čemu vlastně slouží. Myslím že souvisí s možností výroby scratchových prográmků, který jsme u nás v Domečku nikdy nevyužívali.
Tlačítko „Uložit“ ukládá váš projekt do cloudu vašeho účtu. Zdánlivě je mBlock5 poněkud schizofrenní co se týče ukládání projektů (možnost ukládání na třech místech). Logiku to ovšem začíná dávat, když si uvědomíte kam všude mBlock váš kód vlastně ukládá. Co se týče cloudového účtu je příjemné zjištění, že vaše projekty jsou přístupné jak z desktopu, tak z online verze a máte je tak kdykoliv k dispozici.
Tlačítko „Zveřejnit“ vám spouští formulář sloužící ke zveřejnění vašeho superkódu v komunitě Makeblocku. Projekty ostatních je možné shlédnout a je u nich i jakási forma lajkování (stáváte se následovníkem, nebo následovaným – působilo to na mě trošku úsměvně, jako jakási sekta :-))
Bloček pro realizaci scratchových programů.
Jednodotykové volby pro zapínání a vypínání typu zobrazení.
Spouštění a zastavování scratchových prográmků.
Velmi důležité menu umožňující volbu typu zařízení, které je možné programovat. V době psaní článku to bylo 110 zařízení. Kromě výrobního programu Makeblocku a různých verzí arduina, microbitu, nebo raspberry tam naleznete i celou řadu dalších platforem, které jsem ani v Čechách nikdy neviděl. CyberPi pro mBota 2 je naštěstí hned první volbou.
Další důležité menu sloužící pro připojení k zařízení a ukládání souboru do zařízení. Ukládání souborů do CyberPi je malinko komplikovanější, takže o tom budu ještě psát zvlášť.
Scratchové knihovny, které jsou k dispozici. Poměrně snadno lze k těmto knihovnám přikládat i další knihovny (zároveň je to také docela zajímavý přehled hw modulů, které jsou pro danou platformu k dispozici). Zajímavou možností pro pokročilé je i možnost si v tomto menu navrhnout vlastní knihovnu. Poměrně nepříjemnou záležitostí z mého pohledu je, že je pro každý nový program nutné znovu si doinstalovat knihovny, které chcete používat. Uložené projekty si „své“ knihovny pamatují.
Scratchové bloky s příkazy.
Pracovní prostředí, kde je možné přetahováním bloků vyrábět prográmky.
Popis prostředí – pravá strana plochy
Položka „Kurzy“ – odkaz na edukační kurzy makeblocku k jednotlivým platformám. Občas u platforem chybí víceméně obsah a je tam jen běžná obecná informace od výrobce, ale občas zde můžete nalézt odkazy na aktuálně probíhající školení, nebo materiály ke stažení. Je nutné prošmejdit to co vás aktuálně zajímá.
Položka „Kurzy“ následující za položkou kurzy (omlouvám se, ale inteligentněji se to napsat nedalo) obsahuje podrobnou uživatelskou příručku k programu mBlock5 a vzorové kódy ke stažení.
Menu „Zpětná vazba“ je formulář pro navázání kontaktů s podporou.
Menu označené třemi tečkami je obslužný servis k programu mBlock5 obsahující kontrolu aktualizace, povídání o programu, či nastavení co chceme mít automaticky otevírané v mBlock5 (blokový editor, či pythonovskou verzi).
Menu pro registraci do komunity makeblocku (viz úvod článku).
Přepínač na plnohodnotný editor Pythonu.
Záložka pro přepnutí do blokové verze editoru.
Záložka pro přepnutí do python verze editoru.
Moje oblíbená záložka umožňující práci v duálním režimu bloky+kód. Je dobrá pro průběžnou samovýuku Pythonu.
Pracovní prostředí, kde je možné přetahováním bloků vyrábět prográmky.
Připojení mBota k programu a přenos souboru do mBota 2
Samotné připojení mBota 2 k mBlock5 je poměrně jednoduchá, až blbuvzdorná záležitost.
V levém dolním rohu editoru naleznete menu pro spojení s vaším mBotem 2, popřípadě s jinými zařízeními, které je možné na mBlock5 programovat. Já tam měl automaticky předinstalovanou variantu pro CyberPi, což je zřejmě pro Makeblock momentálně ta nejpropagovanější varianta zařízení. Vzhledem k tomu, že mBot 2 je vlastně o CyberPi nebylo co řešit a mohl jsem se hned pustit do práce. Přes tlačítko „přidat“ je možné si přihodit další zařízení (schválně si okoukněte co vše lze s mBlock5 programovat).
Pro připojení k mBot 2 je napřed nutné nastavit spojení. Kliknutím na tlačítko „Připojení“ vybereme typ připojení (USB, nebo Bluetooth). Je nutné mít před připojením mBota k pc připojeného kabelem a zapnutého (stejný postup jako u mBlock3). Nastavíme COM a můžeme do mBota 2 vesele sypat data.
Tip: Chvilku mi trvalo přijít na to, jak uložit program na zvolenou pozici v CyberPi (možnost uložit zde 8 programů zároveň). MBlock5 bere jako aktuální pozici pro ukládání do CyberPi tu, kterou máte momentálně zvolenou v CyberPi menu.
Práce v programovacích režimech mBlock5
V mBlock5 můžete vytvářet programy buď ve vizuálním blokovém režimu, nebo v programovacím jazyku Python. Kód mezi těmito dvěma režimy je bohužel nepřenosný. Částečně lze kód, díky možnosti duálního režimu přenést z blokového do pythonovského režimu.
Mezi režimy se dá přepínat pomocí záložek v pravém horním rohu pracovní plochy. Zajímavá je oranžová záložka se symbolem „</>“, která přepne editovanou plochu do duálního režimu kdy je možné vidět kromě blokového kódu jeho pythonovskou podobu.
Pythonovský kód v duálním režimu nelze editovat. Pokud chcete tento kód editovat a dál s ním pracovat v editoru pro Python je třeba tento kód okopírovat, přepnout záložku pracovní plochy na režim „Python“ a okopírovaný kód vložit. Pak je možné kód editovat.
Dalším problémem je vkládání kódu do mBota 2. Pokud máte v každém režimu jiný kód (pozor – mBlock5 neaktualizuje změny mezi režimy) při odesílání do mBota odesíláte ten kód, který je otevřený v aktuální záložce. Defacto tedy editujete při takovémto způsobu práce dva rozdílné kódy.
Hello world
Každý správný nerd v jakémkoliv programovacím prostředí nutně musí projít úvodní iniciační seznamovací lekcí zvanou „Hello world“. Jelikož se cítím součástí celosvětové nerdí komunity ani já tuto tradici nezanedbám. Tudíž…
Přípojte sestaveného mBota 2 k PC, spusťte program mBlock5 a nastavte spojení k mBotovi. Robůtka zapněte a zvolte si v OS mBota pozici, na kterou budete ukládat váš první program.
Poté v mBlock5 sestavte bloky v následující program.
Program začíná žlutou záložkou, která určuje stav mBota v jakém se má program aktivovat. Tento blok naleznete v záložce „Události/Events“. Pokud tedy bude splněna událost, v našem případě spuštění CyberPi mBota, provede se program, který je na záložku navěšen.
Na záložku je připnut jeden jediný blok (netvoříme ostatně žádný složitý program). Tímto blokem je fialový blok ze záložky displej. Samotný blok je ještě mírně upraven přenastavením parametrů. Do pole textu jsem napsal text „Hello world“, který chci, aby se zobrazil na displeji mBota. Nastavit lze ještě polohu zobrazovaného textu na ploše displeje. Já ponechal střed displeje. Dále ještě v tomto bloku můžeme nastavit velikost zobrazovaného textu. Zde jsem nastavil poněkud zavádějící překlad na hodnotu „uprostřed“, čímž jsem nastavil jakousi střední velikost textu dle Makeblocku.
Po přenesení kódu do robůtka by se měl na displeji zobrazit text Hello world (viz. následující obrázek).
Protentokrát je to ohledně programování pro děti všechno a v dalším díle se pustíme do „vážnějšího“ programování.
Jako kluk jsem vždycky toužil prohánět pořádné auto na dálkové ovládání! Tehdy bylo dálkové ovládání řešené většinou kabelem, který vedl od ovladače k autu, ale to vůbec neubíralo na kráse takového auta pro děti! Bezdrátově ovládané auto pro mě představovalo velké lákadlo a tahle červená Škoda 120LS s délkou skoro půl metru byl můj dětský sen. Pro ilustraci tady musím dát i obrázek.
Dnes už jsou možnosti někde jinde, ale jsem si jistý, že podobná auta baví děti pořád. V článku si představíme jednoduché řešení pro pohon a řízení auta na dálkové ovládání. Celé to postavíme jak jinak než z kostek LEGO a na platformě microbit, ať si u toho můžeme pohrát a taky se něco naučit.
Podobné modely aut využívají často diferenciální řízení, kde stačí ke kolu dát motor a můžeme takřka začít jezdit. Rozdílnými otáčkami kol měníme jednoduše směr pohybu vozítka. Asi k úplné dokonalosti tento druh řízení dovedl model buginy se všesměrovými koly, který dokáže na dráze snad i tančit.
U našeho auta použijeme Ackermanův podvozek, který sice neumožňuje otočení auta na místě a vyžaduje speciálnější součásti, zato ale přináší požitek z řízení, které dobře známe z osobních aut. Tohle auto na dálkové ovládání nakonec může mít i volant!
Co budeme potřebovat na microbit auto?
Podvozek auta je celý z kostek LEGO. Pokud si s LEGO běžně hrajete, tak je pravděpodobné, že budete mít i kostky a díly potřebné ke stavbě. V opačném případě budete potřebovat stavebnici Wonder Building Kit, se kterou postavíte tento projektík a ještě mnohem mnohem více!
Pro řízení je dále nutná deska microbit. Může to být libovolná verze V1.5, V2 nebo V2.2 … všechny budou fungovat. Pokud s microbitem teprve začínáte, tak můžete mrknout do startu na naše prezentace Jak na BBC micro:bit a na Úvod do Makecode.
V úvodu jsme si dali za cíl postavit pořádné auto na dálkové ovládání. Dálkové ovládání nebudeme řešit samozřejmě kabelem, ale pomocí bezdrátového ovladače. Na to se dobře hodí gamepad ovladač Joystick:bit, který zajistí nejen řízení auta, ale umožní i ovládání dalších věcí. Ovladač pěkně padne do ruky a funguje opět s deskou microbit. To znamená, že pro Joystick:bit budete potřebovat ještě jednu. Použití bezdrátového ovladače je velmi jednoduché, stačí nastavit rádiový kanál a přenos příkazů může začít.
Jdeme na to, za chvíli budete jezdit!
Abychom získali ještě více motivace do stavby auta, tak se nejdříve podívejme, jak to bude jezdit! Auto reaguje plynule na pohyby joysticku, kola se otáčí a už se můžete učit parkovat!
Tak už nebudeme zdržovat a po videu jdeme hned na sestavení všech LEGO kostek.
Sestavení auta z LEGO kostek
Sestavení auta na dálkové ovládání je vyobrazeno v 19 krocích návodu. Zapojení elektroniky následuje hned potom.
K modulu Wukong stačí připojit motor pro pohon kol a servo, které plní úkol volantu. Motor připojíme na konektor M2 a servo na piny označené S1. U zapojení serva dejte pozor na polaritu vodičů.
Před prvním použitím nezapomeňte Wukong nabít. K nabití akumulátoru Wukong je potřeba připojení na cca 20 minut k počítači.
Jdeme programovat microbit
Aby to nebylo zase tak jednoduché, potřebujeme udělat programy pro microbit hned dva! Ono to ani jinak nejde. První program je pro joystick, kde se budou podle zmáčknutého tlačítka nebo zaznamenaného pohybu joystickem vysílat příkazy do auta. Druhý program bude v autě sledovat rádiový kanál a podle přijatého příkazu ovládat pohon kol a servo pro točení volantem.
Program pro joystick
V programu si hned na startu nastavíme skupinu rádia, která musí být stejná jako u auta. Potom v nekonečné smyčce měříme pohyb joysticku a zjišťujeme zmáčknutí tlačítek pro pohyb vpřed a vzad určitou rychlostí. Program je jednoduchý, za povšimnutí stojí snad jen příkaz na přemapování analogové hodnoty z joysticku (0 – 1023) na stupeň otočení serva. V klidu je joystick cca uprostřed daného intervalu a po pohybu má tendenci v této poloze setrvat. To znamená pokud se joysticku nedotýkáme, tak auto jede rovně.
Program pro auto
U auta je program ještě jednodušší. Microbit pouze předává přijaté hodnoty do driveru pro motor a serva, aby došlo k příslušné akci. Hodnoty se rozlišují podle názvu. „Angle“ je pro řízení kol a „speed“ je pro pohon.
Auto jezdí a co dál?
V článku jsme si vytvořili jednoduché auto na dálkové ovládání úplně bez drátů. Je to ale spíše jen jezdící podvozek, který nabízí spoustu možností vylepšení a o to právě šlo. Můžeme se pustit do stavby pořádné LEGO kapoty nebo zapracovat na řídících programech. Třeba přidat troubení, efektní baravné osvětlení auta a nebo využít vibrační motorek zabudovaný v joysticku pro zpětnou vazbu od volantu. A když to bude málo, můžeme si na auto přidat robotickou ruku a také ji z joysticku ovládat. Možností je mnoho a záleží už jen na vás, jak moc se kostkami LEGO s „pohonem“ microbit necháte unést!
Svět IoT (Internet of Things) je všude kolem nás a Arduino IoT Cloud nabízí kutilům možnost ovládat jejich zařízení kdykoliv a odkudkoliv na profesionální úrovni. O Arduino online nástrojích jsme si již v minulosti psali, teď se ale zdá, že to už opravdu bude stát za to.
S Arduino IoT Cloud můžete pomocí prohlížeče internetu dálkově ovládat nebo sledovat chod programu vašeho zařízení. V článku si ukážeme jednoduchou meteostanici s Arduino NANO 33 IoT, zobrazením dat na OLED a posíláním do IoT Cloud. Na závěr vyzkoušíme ovládání vašeho zařízení hlasem pomocí asistenta Alexa od Amazonu.
Měříme teplotu, tlak a vlhkost
Pro seznámení s Arduino Cloud jsem zvolil konstrukci jednoduché meteostanice postavené ze dvou mikropočítačů Arduino Nano 33 IoT. K prvnímu mikropočítači je přes sběrnici I2C připojen senzor BME280 pro měření teploty, tlaku a vlhkosti. K druhému mikropočítači je pomocí I2C připojen malý grafický OLED displej 0,96“, který měřené hodnoty zobrazuje. Zapojení je jednoduché a patrné z obrázků níže. Stačí propojit piny VCC, GND, SCL a SDA. Pin VCC je výstup +3V3 z Arduina. Oba mikropočítače se po zapnutí připojí ke cloudu pomocí WiFi sítě a sdílí měřené hodnoty. Při napájení Arduina 5 V do pinu VIN je potřeba počítat se střední hodnotou odebíraného proudu asi 75 mA, při zvýšení napájecího napětí na 18 V hodnota proudu klesne na 25 mA.
Mikropočítač Arduino Nano 33 IoT
Arduino Nano 33 IoT je mnohoúčelový mikropočítač vybavený gyroskopem, akcelerometrem, WiFi, Bluetooth, RTC a spínaným zdrojem v rozsahu vstupního napětí 5-18 V. Zapojením pinů je téměř shodné s původním Arduino Nano (DIL 30), ale napětí I/O obvodů je pouhých 3,3 V s maximální proudem výstupu 7 mA. Mikropočítač používá 32bitový procesor ARM SAMD21 Cortex-M0+ na frekvenci 48 MHz s 256 kB paměti SRAM a 1 MB paměti Flash. Díky integrovanému radiovému modulu uBlox NINA-W102 a kryptografickému čipu ATECC608A je ideální pro konstrukce zařízení IoT. Dokumentaci mikropočítače včetně schéma zapojení najdete třeba zde. Všestranné Arduino Nano 33 IoT je pro použití s IoT Cloud ideální.
Arduino IoT Cloud
Nano 33 IoT je jeden z mnoha mikropočítačů, který můžete programovat online pomocí webové aplikace Arduino IoT Cloud. Podrobný návod, jak pracovat s touto aplikací najdete třeba zde. Prostředí Arduino IoT Cloud je intuitivní a samo vás navede, co je potřeba udělat. Po nutné registraci a instalaci Arduino Create Agent lze pomocí USB připojit váš mikropočítač a začít vytvářet vlastní IoT projekt.
Každý nový uživatel má automaticky nastaven bezplatný plán, který umožňuje vytvořit až dvě IoT zařízení (Things) a využívat až 5 proměnných (Variables), pomocí kterých můžete svůj mikropočítač dálkově sledovat nebo ovládat. Nastudujte si omezení a možnosti rozšíření vašeho plánu. V záložce Thinks-Setup zadáte název svého nového zařízení, k němu přiřadíte a pojmenujete mikropočítač (Device), vytvoříte cloud proměnné a zadáte parametry WiFi sítě, ke které se mikropočítač připojí po zapnutí napájení.
Nastavení cloud proměnných meteostanice jsem vložil do úvodní poznámky programu. V záložce Thinks-Sketch dopíšete vaši část řídícího programu (viz výpis níže), který nakonec nahrajete do mikropočítače. Chod programu můžete sledovat pomocí sériového monitoru webové aplikace. Již vytvořené cloud proměnné se v programu znovu nedeklarují. Řídící panel svého nového zařízení si vytvoříte v záložce Dashboards. Samostatně lze navrhnout panel pro mobilní nebo desktopovou aplikaci. K sestavení řídícího panelu použijte nabídku Widgets. Jde například o tlačítka, přepínače, kontrolky nebo jiné grafické zobrazení hodnot proměnných. Prvky řídícího panelu se nakonec propojí s programem v mikropočítači pomocí vytvořených cloud proměnných.
Přístup z mobilu pomocí aplikace Arduino IoT Cloud Remote
Pro rychlý přístup k vašemu řídícímu panelu z mobilního telefonu si naistalujte aplikaci Arduino IoT Cloud Remote.
Ovládání Nano 33 IoT pomocí hlasového asistenta Alexa
Pro zpestření jsem v zařízení Meteo_Senzor vytvořil navíc proměnnou teplota_alexa, která je v cloudu deklarována jako Alexa kompatibilní proměnná a umožňuje čtení hodnoty pomocí hlasového asistenta Alexa od Amazonu. Zde je ovšem nutné do aplikace Alexa přidat Arduino dovednosti (Skill) a potom v záložce zařízení (Devices) vyhledat nová zařízení (Discover Devices). O to samé můžete Alexu požádat slovně v angličtině. Alexa by měla najít nové zařízení pro měření teploty, které si pak zařadíte do konkrétní místnosti. Potom už jen stačí Alexu požádat, aby vám řekla, jaká je teplota v konkrétní místnosti.
Program v Meteo_Senzor (Device_1)
/*
Nastavení cloud proměnných pro zařízení Meteo_Senzor:
teplota, Float (Basic types), Read only, Variable update periodically 1 s
teplota_alexa, CloudTemperatureSensor (Alexa compatible), Read only, Variable update periodically 1 s
tlak, Float (Basic types), Read only, Variable update periodically 1 s
vlhkost, Int (Basic types), Read only, Variable update periodically 1 s
*/
#include "thingProperties.h" // Parametry definované v Arduino IoT Cloud
#include <Adafruit_BME280.h>
Adafruit_BME280 bme;
float teplota_predchozi = 0;
float tlak_predchozi = 0;
int vlhkost_predchozi = 0;
void setup() {
Serial.begin(9600);
bme.begin(0x76); // I2C adresa čidla 0x76
delay (100);
initProperties(); // Parametry definované v Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection); // Připojení k Arduino IoT Cloud
setDebugMessageLevel(2); // Nastavení důležitosti výpisu zpráv na sérový monitor
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
delay (1000);
teplota = round (10 * bme.readTemperature()) / 10; // Převod na jedno desetinné místo
teplota_alexa = teplota;
delay (100);
tlak = round (bme.readPressure() / 10) / 10; // Převod na jedno desetinné místo a hPa
delay (100);
vlhkost = bme.readHumidity();
delay (100);
if (tlak_predchozi != tlak or teplota_predchozi != teplota or vlhkost != vlhkost_predchozi) {
Serial.print(teplota, 1); Serial.print(" °C ");
Serial.print(tlak, 1); Serial.print(" hPa ");
Serial.print(vlhkost, 1); Serial.println(" %");
teplota_predchozi = teplota;
tlak_predchozi = tlak;
vlhkost_predchozi = vlhkost;
}
}
Program v Meteo_OLED (Device_2)
/*
Nastavení cloud proměnných pro zařízení Meteo_OLED:
teplota, Float (Basic types), Read/Write, Variable update on change, In sync with Meteo_Senzor
tlak, Float (Basic types), Read/Write, Variable update on change, In sync with Meteo_Senzor
vlhkost, Int (Basic types); Read/Write, Variable update on change, In sync with Meteo_Senzor
*/
#include <Adafruit_SSD1306.h>
#include "thingProperties.h" // Parametry definované v Arduino IoT Cloud
Adafruit_SSD1306 display(128, 64, &Wire, -1); // OLED šířka, výška
void setup() {
Serial.begin(9600);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Interní zdroj 3V3, I2C adresa OLED
display.setTextColor(SSD1306_WHITE); // Nastav bílý text na černém pozadí
display.cp437(true); // Použij znakovou sadu CP437
aktualizuj_OLED ();
}
void loop() {
ArduinoCloud.update();
delay (1000);
}
void onTeplotaChange() { // Při změně teploty
aktualizuj_OLED ();
}
void onTlakChange() { // Při změně tlaku
aktualizuj_OLED ();
}
void onVlhkostChange() { // Při změně vlhkosti
aktualizuj_OLED ();
}
void aktualizuj_OLED () {
display.setTextSize(2); // Nastav velikost textu
display.clearDisplay(); // Smaž displej
display.setCursor(0, 0); // Nastav počáteční pozici kurzoru
display.print("T="); display.print(teplota, 1); display.print(" ");
display.print(char(248)); display.println("C");
display.print("P="); display.print(tlak, 0); display.println(" hPa");
display.print("RH="); display.print(vlhkost); display.println(" %");
display.setTextSize(1); // Nastav velikost textu
if (ArduinoCloud.connected()) display.println("CLOUD - SPOJENO");
else display.println("CLOUD - NESPOJENO");
display.display();
}
Kdo by neměl rád hraní her!? Ale co takhle si vytvořit hru vlastní pomocí MakeCode Arcade. To je výzva!
Ráda bych vám popsala mé zkušenosti s tvořením her na herní konzoli Retro Arcade, se kterou si můžete vytvořit arkádovou hru a není k tomu ani potřeba umět programovat! Můj případ!
I když máme v této době nespočet různých her, naprogramovat si vlastní a jedinečnou hru rozhodně stojí za to. Člověk si užije spoustu zábavy při předhánění se v lepším skóre, ale hlavně se může snadno naučit základy programování.
Představení Retro Arcade herní konzole
Herní konzole Retro Arcade má barevný displej s vysokým rozlišením a dobře se na ní hraje, to se mi líbí asi nejvíc. Tlačítka mají opravdu rychlou odezvu a pohodlně se s nimi dají zvládnout i bleskové hry.
Na herní konzoli si také můžete připevnit srandovní šnečí oči z kostek, které pasují do LEGO®. Konzoli udělají ještě zábavnější a nijak nezavází u hraní. Je ale dobré se dívat při hře spíše na displej než do těch očí.
Ruce na konzoli pěkně pasují. Díky její velikosti si ji můžete vzít všude s sebou a dát si třeba vaši oblíbenou hru s kamarády. Nevýhodou je možnost nahrání jen jediné hry, ale to zase dělá ovládání celé konzole jednodušší.
Konzole má také vlastní baterii a ta vydrží opravdu dlouho. Nabíjení je přes konektor USB-C.
Úvod do světa MakeCode Arcade
MakeCode Arcade je prostředí velmi podobné grafickému editoru kódu MakeCode pro micro:bit, o kterém jsme na Bastlírně HWKITCHEN již pár článků měli. Microsoft MakeCode Arcade je pak grafická programovací platforma pro začátečníky, která je speciálně zaměřená na vytváření arkádových her pro web a herní konzole.
MakeCode Arcade jsou webové stránky, kde vznikají a jsou seskupeny všechny možné i nemožné hry. Nahoře jsou umístěny projekty, které vytvoříte nebo otevřete. Uvidíte sami, že vše je velmi podobné prostředí MakeCode, které už znáte. Později můžete naprogramovaný kόd přepnout i do programovacího jazyku Python a JavaScript.
Tutoriály jak tvořit hry
Jsou tady zajímavé tutoriály k vytvoření různých her. Práce probíhá tak, že plníte pokyny v horní liště a po splnění se proklikáváte hlouběji do kódu až ho dokončíte. Je to velmi přehledně a srozumitelně vysvětlené i s nápovědou. Nalezneme zde i tutoriály, které se skládají z více částí, po vytvoření jednoho úseku dostanete na výběr z dalších možností, jak obohatit vaši hru.
Příklady hotových her a videa
V prostředí MakeCode Arcade najdeme také hotové hry. Na nich je dobré, že si je můžete hned zahrát, inspirovat se jimi pro tvorbu vlastních her a také se podívat, jaký kόd je tvoří. Jsou zde i výuková videa, jak tvořit hry v MakeCode. Jsou tady také hotové hry vytvořené v programovacím jazyce JavaScript, návody na hry ve stránkové podobě v kartě lessons a další.
Mapy dovedností Skillmaps
Hodně mě zaujaly mapy dovedností = Skillmaps. Skládají se z několika úrovní, ve kterých opět podle instrukcí vytváříte, opravujete či doplňujete určitý kód. Za splnění všech úrovní v daném okruhu dostanete certifikát, který vás jistě potěší. Mapy vás provedou různými okruhy v programování her, přes vytváření vlastního přání až po létání ve vesmíru. Zvládnutím všech map dovedností získáte v tvoření her mnoho zkušeností a tyto Skillmaps mohu jen doporučit!
Moje začátky s konzolí Retro Arcade
Na začátku mě moc zajímalo, jak těžké je vytvořit si hru podle vlastních představ. Mojí první arkádou bylo šnečí bludiště podle tutoriálu, které jsem vytvořila pro mladší sestru. Můj výsledek se mi líbil a nadchl mě pro tvoření dalších her. Hry jsem začala tvořit tak, že jsem je dělala pomocí návodů. Někdy jsem si vzala hotovou hru, u které jsem zkoumala program a snažila se pochopit souvislosti. Zkoušela jsem si také mapy dovedností a tutoriály na hry z videí na Youtube kanále Microsoft MakeCode. Každá hra mi dala něco nového a pak jsem si uvědomila, že programům rozumím čím dál tím víc. A konečně jsem se odhodlala ke tvoření vlastních her.
V dalším pokračování článku si ukážeme, jak vytvořit hru s jednoduchým bludištěm, hru na postřeh a kočičí hru s více levely. Zatím se můžete podívat blíže na prostředí MakeCode Arcade a zkusit si tam třeba něco jednoduchého vytvořit nebo zahrát. Hru si můžete také stáhnout rovnou do Retro Arcade konzoly. Je to jednoduché, vyberete konzoli s názvem F4 a spárujete ji s počítačem, pak hru nahrajete. Potom si už můžete užívat vlastní hru, ale nebudu předbíhat, o tom si povíme až příště!
Předělejte si staré autíčko a ovládejte ho vlastním mobilem!
Pojďme si vytvořit jednoduché RC auto! Asi každý z nás má doma staré již nepoužívané autíčko, a to buď odložené a zapomenuté ještě z dětství, nebo zničené s odpálenou elektronikou v důsledku opravdu aktivního hraní. V mém případě se jedná o druhý uvedený příklad. V tomto článku se budu věnovat postupu, jak si předělat v podstatě jakékoliv autíčko na ovládání smartphonem přes Bluetooth pomocí Arduina. Postup i kód celého projektu jsou velmi jednoduché, a tak jsem přesvědčen, že tento upgrade zvládne vytvořit každý z vás.
V této apce je mimo jiné 7 tlačítek sloužících na: zapínání světel, klaksonu a řízení serv namontované kamery. Jsou k dispozici také 3 tlačítka (A,B,C) pro libovolné obsazení uživatelem (např. maják, světelná rampa). Ale o těch někdy příště.
Ještě potřebujeme destičku, která bude rozměrově sedět k velikosti auta. Na tuto desku budeme vše montovat a následně ji umístíme na šasi (podvozek) auta. Já používám 2 mm silné plexisklo. Dá se koupit v každém hobby marketu a jedna plotna o velikosti 25 x 50 cm se prodává asi za 80 Kč. Tuto destičku jsem si nařezal na potřebné rozměry pomocí plátku do ruční pilky. Na destičku jsem si přiložil Arduino součástky, relátka a BT modul a fixou jsem si poznačil jejich umístění a přes dírky tenkým fixem označil tečky pro vrtání děr. Součástky, které nemají díru uchytíme pomocí stahovacího pásku. V mém případě jsem pomocí stahovacího pásku uchytil Bluetooth modul.
Na obrázku vidíte namontované komponenty na plexiskle (bez světel a klaksonu).
Vybereme také vhodné místo pro servo, a pomocí šroubů nebo pásků (jako v mém případě) připevníme servo na tyč řízení.
Zapojení RC auta
Vše zapojíme dle následujícího schématu. Baterii dáme původní nebo s podobným napětím (baterie na schématu je pouze orientační).
Arduino program
Spustíme si Arduino IDE a stáhneme si zdrojový kód ZDE.
Otevřeme zdrojový kód a zvolíme COM port a vývojovou desku (já mám: ARDUINO UNO na COM5). Zkompiluj a nahraj do Arduina.
Otevři sériový monitor. Objeví se informace, že BT modul není připojen. Znamená to, že program čeká na spárování s telefonem.
Po spárování telefonu s modulem se objeví následující:
Jednotlivé hodnoty nám udávají směr, rychlost, úhel zatočení, příkazy pro světla, klakson a tlačítka.
Určitě jste byli při konstrukci a montování úspěšní a už si vesele jezdíte s vašim novým Arduino RC autíčkem!