TechLab - Laboratórium budúcnosti
- Laboratórium budúcnosti
- Naše vybavenie
- 1. MICROBIT-BLOCKLY
- 2. JOYSTICKBIT-BLOCKLY
- 3. MAKECODE ARCADE
- 4. SCULPFUN LASER
- Linux – Rýchlokurz
- 5. DOBOT MAGICIAN - PYTHON + LINUX
- 6. XGO ROBOTICKÝ PES - BLOCKLY
- 7. CUTEBOT - AUTONÓMNE VOZIDLO
- 8a. Joystick:bit – Rozšírenie – Lekcia 1
- 8b. Joystick:bit – Rozšírenie – Lekcia 2
- 8c. Joystick:bit – Rozšírenie – Lekcia 3
- 8d. Joystick:bit – Rozšírenie – Lekcia 4
- 8e. Joystick:bit – Rozšírenie – Lekcia 5
8b. Joystick:bit – Rozšírenie – Lekcia 2
Diaľkové ovládanie Cutebot auta a Wonder Rugged Car
Trvanie: 90 minút
Vek: 10–15 rokov
Potrebné vybavenie: Micro:bit v2 (2 ks), Joystick:bit, Cutebot, Wonder Rugged Car (Elecfreaks), USB kábel, notebook
Software: MakeCode editor – makecode.microbit.org
Predchádzajúce znalosti: Joystick:bit Lekcia 1, Micro:bit Úvod
Čo sa dnes naučíš
- Pridať rozšírenia pre Cutebot a Wonder Rugged Car
- Navrhnúť a otestovať schému diaľkového ovládania
- Ovládať Cutebot štandardným joystickom
- Ovládať 8-smerové Wonder Rugged Car všetkými 8 smermi
- Ladiť a kalibrovať ovládanie podľa reálneho správania auta
Ako funguje diaľkové ovládanie – princíp
Celý systém majú dve časti:
[ Joystick:bit + micro:bit ] ---rádio---> [ micro:bit v aute ] ODOSIELATEĽ PRIJÍMAČ číta joystick a tlačidlá prijíma príkazy posiela hodnoty cez rádio ovláda motoryOba micro:bity musia mať rovnakú skupinu rádia – inak sa nepočujú.
Dôležité pravidlo: odosielateľ posiela čo najmenej dát, čo najjednoduchšie. Môžeš posielať:
- Hodnoty osí (0–1023) → prijímač sám rozhoduje čo robiť
- Príkazy ako text ("forward", "stop") → odosielateľ rozhoduje, prijímač len vykonáva
Dnes použijeme oba prístupy – sám uvidíš rozdiel.
Časť A – Cutebot
Krok A1 – Pridaj rozšírenie Cutebot (5 minút)
- Rozšírenia → vyhľadaj
cutebotalebo URL:https://github.com/elecfreaks/pxt-cutebot - Po pridaní sa objaví kategória Cutebot s blokmi:
Cutebot go forward speed X– jazdi dopredu rýchlosťou X (0–100)Cutebot go backward speed XCutebot turn left speed X– otočenie (ľavý motor stojí)Cutebot turn right speed XCutebot set left motor X right motor Y– nezávislé nastavenie motorov (-100 až 100)Cutebot stop
💡 Blok
set left motor / right motorje najsilnejší – plná kontrola nad každým motorom zvlášť. Naučíme sa ho neskôr.
Krok A2 – Jednoduchý ovládač: 4 smery (20 minút)
Cieľ: Joystickom ovládať Cutebot v 4 smeroch. Keď joystick pustíš, auto zastaví.
Logika:
Joystick Y os:
- Dopredu (Y < 350) → jazdi dopredu
- Dozadu (Y > 650) → jazdi dozadu
- Stred (350–650) → zastav
Joystick X os (len keď Y je v strede):
- Vľavo (X < 350) → zatočiť vľavo
- Vpravo (X > 650) → zatočiť vpravo
Odosielateľ (Joystick:bit):
Tento program len posiela hodnoty – nič nerozhoduje.
pri spustení: nastaviť skupinu rádia 11 stále opakovať: rádio odošli hodnotu "jx" = joystickbit X value rádio odošli hodnotu "jy" = joystickbit Y value pauza 80msPrijímač (micro:bit v Cutebot):
Tento program rozhoduje čo auto robí.
pri spustení: nastaviť skupinu rádia 11 nastav jx = 512 nastav jy = 512 pri prijatí rádiového páru (name, value): ak name = "jx": nastav jx = value ak name = "jy": nastav jy = value stále opakovať: ak jy < 350: Cutebot go forward speed 60 inak ak jy > 650: Cutebot go backward speed 60 inak ak jx < 350: Cutebot turn left speed 50 inak ak jx > 650: Cutebot turn right speed 50 inak: Cutebot stop pauza 50msTestovanie:
- Nahraj odosielateľa do micro:bitu v Joystick:bit
- Nahraj prijímača do micro:bitu v Cutebot
- Zapni Cutebot
- Testuj všetky 4 smery
Čo kontrolovať:
- Zastaví auto keď pustíš joystick?
- Je otočenie správnym smerom? (ak nie – prehoď
turn leftaturn right) - Je rýchlosť rozumná? (ak ide pomaly – zvýš hodnotu speed)
Krok A3 – Plynulé ovládanie rýchlosťou joysticku (15 minút)
Cieľ: Čím viac vychýliš joystick, tým rýchlejšie ide auto. Nie zapni/vypni, ale plynulé.
Logika:
- Joystick Y = 512 (stred) → rýchlosť 0
- Joystick Y = 0 (plno dopredu) → rýchlosť 100
- Joystick Y = 1023 (plno dozadu) → rýchlosť 100 (dozadu)
Prepočet pre dopredu:
rychlost = mapovať (512 - jy) z rozsahu 0–512 do 0–100(ak je jy < 512, rozdiel je kladný = dopredu)
Upravený prijímač:
pri prijatí rádiového páru (name, value): ak name = "jx": nastav jx = value ak name = "jy": nastav jy = value stále opakovať: ak jy < 450: nastav r = mapovať (512 - jy) z 0–512 do 0–100 Cutebot go forward speed r inak ak jy > 570: nastav r = mapovať (jy - 512) z 0–512 do 0–100 Cutebot go backward speed r inak: Cutebot stop pauza 50ms💡 Mŕtva zóna (450–570) okolo stredu zabraňuje náhodnému pohybu keď joystick nie je presne v strede. Túto zónu môžeš rozšíriť alebo zúžiť podľa potreby.
Krok A4 – Tlačidlá pre špeciálne funkcie (10 minút)
Cieľ: Tlačidlami na Joystick:bit ovládať svetlá Cutebot.
Cutebot má dve RGB LED na prednej časti:
Cutebot set left LED red X green Y blue ZCutebot set right LED red X green Y blue Z
Pridaj do odosielateľa:
on joystickbit button C pressed: rádio odošli text "lights_on" on joystickbit button D pressed: rádio odošli text "lights_off"Pridaj do prijímača (do bloku
pri prijatí rádiového textu):pri prijatí rádiového textu (receivedString): ak receivedString = "lights_on": Cutebot set left LED red 255 green 255 blue 255 Cutebot set right LED red 255 green 255 blue 255 ak receivedString = "lights_off": Cutebot set left LED red 0 green 0 blue 0 Cutebot set right LED red 0 green 0 blue 0
Časť B – Wonder Rugged Car (8-smerové ovládanie)
Krok B1 – Pridaj rozšírenie Wonder Rugged Car (5 minút)
- Rozšírenia → vyhľadaj
wonderaleboruggedalebo URL:https://github.com/elecfreaks/pxt-wonder-rugged-car - Po pridaní uvidíš kategóriu s pohybovými blokmi pre toto auto
⚠️ Wonder Rugged Car má 4 mecanum kolieska (špeciálne šikmé valčeky). Vďaka nim sa môže pohybovať do strany bez otáčania. To je rozdiel oproti Cutebot.
Krok B2 – Pochop 8 smerov (10 minút)
Mecanum kolieska umožňujú:
Smer Kombinácia motorov Dopredu Všetky dopredu Dozadu Všetky dozadu Vľavo (krab) Ľavé dozadu, pravé dopredu Vpravo (krab) Ľavé dopredu, pravé dozadu Dopredu-vľavo Ľavý predný + pravý zadný dopredu Dopredu-vpravo Pravý predný + ľavý zadný dopredu Dozadu-vľavo Diagonálne dozadu Dozadu-vpravo Diagonálne dozadu Otočenie vľavo Ľavé dozadu, pravé dopredu (rýchlosť) Otočenie vpravo Ľavé dopredu, pravé dozadu Joystick má dve osi → kombinácia dáva 8 + stred (stop) = 9 stavov.
Krok B3 – 8-smerový ovládač (15 minút)
Cieľ: Detekovať 8 smerov joysticku a poslať správny príkaz.
Odosielateľ – detekuje smer a posiela text:
pri spustení: nastaviť skupinu rádia 12 stále opakovať: nastav jx = joystickbit X value nastav jy = joystickbit Y value nastav smer = "stop" ak jy < 350 a jx >= 350 a jx <= 650: nastav smer = "forward" ak jy > 650 a jx >= 350 a jx <= 650: nastav smer = "backward" ak jx < 350 a jy >= 350 a jy <= 650: nastav smer = "left" ak jx > 650 a jy >= 350 a jy <= 650: nastav smer = "right" ak jy < 350 a jx < 350: nastav smer = "fwd_left" ak jy < 350 a jx > 650: nastav smer = "fwd_right" ak jy > 650 a jx < 350: nastav smer = "bwd_left" ak jy > 650 a jx > 650: nastav smer = "bwd_right" rádio odošli text smer pauza 80msPrijímač (micro:bit vo Wonder Rugged Car):
pri spustení: nastaviť skupinu rádia 12 pri prijatí rádiového textu (receivedString): ak receivedString = "forward": WRC go forward speed 60 ak receivedString = "backward": WRC go backward speed 60 ak receivedString = "left": WRC move left speed 60 ak receivedString = "right": WRC move right speed 60 ak receivedString = "fwd_left": WRC move forward-left speed 60 ak receivedString = "fwd_right": WRC move forward-right speed 60 ak receivedString = "bwd_left": WRC move backward-left speed 60 ak receivedString = "bwd_right": WRC move backward-right speed 60 ak receivedString = "stop": WRC stop💡 Presné názvy blokov pre Wonder Rugged Car zisti priamo v rozšírení – môžu sa mierne líšiť od tohto zápisu.
Krok B4 – Testovanie a kalibrácia (10 minút)
Testuj každý smer zvlášť:
- Joystick plno dopredu → ide auto dopredu? (nie do strany, nie šikmo)
- Joystick plno vpravo → ide auto do boku (krabím pohybom)?
- Joystick do diagonálneho rohu → ide auto šikmo?
Časté problémy a riešenia:
Problém Príčina Riešenie Auto ide opačným smerom Obrátené motory Prehoď leftarightpríkazyDiagonálny pohyb nefunguje Podmienky sa neprekrývajú Skontroluj rozsahy v podmienkach Auto nereaguje Iná skupina rádia Over že oba micro:bity majú rovnakú skupinu Oneskorenie ovládania Príliš dlhá pauza Zníž pauzu na 50ms
Zhrnutie – čo si sa naučil
Čo Technika Cutebot 4-smerové ovládanie Podmienky na Y os + X os Plynulé ovládanie rýchlosťou Mapovanie hodnôt + mŕtva zóna Tlačidlá pre extra funkcie Odoslanie textu cez rádio 8-smerová detekcia Kombinácia podmienok na X aj Y Wonder Rugged Car mecanum Špeciálne pohybové bloky rozšírenia
Ďalší krok
Pokračuj na Lekciu 3 – ovládanie XGO psa a kombinované scénare.
