Přejít k navigační liště

Zdroják » Různé » Microbit lavinový vyhledávač (úloha z kroužku programování pro děti)

Microbit lavinový vyhledávač (úloha z kroužku programování pro děti)

Články Různé

Na jednu hodinu s dětmi jsem si ze stránek Microbitu zvolil připravil Proximity Beacon (česky asi nejlépe rádiové měření vzdálenosti) a celé prezentoval jako lavinový vyhledávač.

Text vyšel původně na autorově webu.

Na kroužku programování se snažím používat i hardwarové „hračky“. Není to nezbytné, ale dle mého to dokáže hodiny zpestřit. Zároveň však platí, že se vám pak může víc věcí pokazit. Osobně se z toho nehroutím, beru to tak, že selhání lze i didakticky využít. Z dnešního nepřeberného množství pomůcek (kromě ceny) preferuji takové, ke kterým existuje dostatek metodických materiálů a nebo aktivní komunita. To microbit bohatě splňuje. Vybírat můžete z mnoha úloh. Na poslední hodinu jsem si z jejich stránek zvolil Proximity Beacon (česky asi nejlépe rádiové měření vzdálenosti) a celé prezentoval jako lavinový vyhledávač.

Úvod

Normálně jsem spíš studený čumák a improvizace není moje parketa, ale děti jsou vděční diváci a člověk před nimi nemá takové zábrany. S příběhem jde všechno líp. Lavinový vyhledávač jsem sice nikdy v ruce neměl, ale tuším jak funguje, takže jsem princip dokázal popsat a úlohu Proximity Beacon na zápletku napasovat. Řešení jsme stihli a chvíli hráli ve třídě na shovku. Nicméně k lavinovému vyhledávači tomu ještě notný kousek chybí. Vysílač a přijímač jsou totiž samostatné programy.

Aby přístroj fungoval jako lavinový vyhledávač, tak musí ve výchozím nastavení pracovat jako vysílač a při pátrací akci si ho ti nezavalení dokážou přepnout na přijímač. Takhle jsem to dětem zadal, ale vyřešit jsme nestihli, takže jsem si dodělal za domácí úkol.

Řešení

Takto vypadá řešení naprogramované v blokovém schématu.

Lze testovat i na simulátoru

Všimněte si, že oproti řešení Proximity Beacon mapujeme signál na 25 hodnot místo 9 a získáváme tak větší přesnost měření.

Pozorujte, co se stane, budete-li hledat více než jednoho zavaleného. Můžu vám prozradit, že to funguje. Funkci označení „MARK“ (zaslepení nalezeného signálu) si nechám někdy na příště nebo na laskavé čtenáře.

Na operačním systému Windows pozoruji problém s nahráváním souborů na microbit jako na disk (USB Mass Storage). Pravděpodobně kvůli antiviru. Pomáhá spárovat zařízení a připojit přes WebUSB. Pokud nahrání selže, na microbitu se vytvoří soubor FAILED, ale na samotném zařízení to není vidět na první pohled. I proto je v lavinovém vyhledávači implementovaná blikající LEDka, indikující jednak funkčnost programu, jednak mód, ve kterém zrovna pracuje.

Závěr

Ukázali jsme si, jak úlohu Proximity Beacon navléknout na povídání o lavinovém vyhledávači a jak řešení vylepšit, abyste dokázali jediný program přepínat mezi módem vysílač a módem přijímač. Řešení lze dále rozvíjet například o funkci zaslepení nalezeného signálu. Zatím jsme se vůbec nezabývali směrovou šipkou a omezili se pouze na měření vzdálenosti.

Související

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.

Vite 8 Beta přináší nový bundler Rolldown a zásadní zrychlení buildů

Vite je moderní nástroj pro vývoj webových aplikací, který klade důraz na rychlost a jednoduchou konfiguraci. Umožňuje okamžitý start dev serveru a optimalizované produkční buildy, což urychluje vývoj i nasazení. Verze 8 Beta přináší zásadní změnu díky integraci bundleru Rolldown napsaného v Rustu, který sjednocuje vývojovou a produkční pipeline. Novinka výrazně zrychluje buildy a přináší moderní optimalizace. Součástí jsou také nové funkce pro TypeScript a připravovaný Full Bundle Mode pro rychlejší dev server.