TechLab - Laboratórium budúcnosti
2. JOYSTICKBIT-BLOCKLY
Sedenie 2.1: Debug, zistenie funkcie a tlačidiel
Trvanie: 45 min práca + 45 min samostatne
Cieľ: Naučiť sa čo dokáže Joystickbit a ako ho ovládaťPotrebné:
- 1x Microbit
- 1x Joystickbit (rozšírenie s joystickom)
- 1x USB kábel
- Notebook
Postup (45 min):
- Úvod (5 min)
- Ukáž Joystickbit
- Kde je joystick (X/Y osi)
- Kde sú tlačidlá (C, D, E, F)
- Pridanie rozšírenia (10 min)
- makecode.microbit.org → Extensions
- Vyhľadaj "joystickbit" alebo "gamepad"
- Pridaj rozšírenie
- Ukáž nové bloky v kategórii
- Test joysticku (15 min)
- Vytvor 2 premenné: "x" a "y"
- "forever"
- "set x to joystickbit get x" (alebo podobný blok)
- "set y to joystickbit get y"
- "show number x"
- pause 500ms
- "show number y"
- Pohybuj joystickom, sleduj čísla
- Zisti rozsah (zvyčajne -100 až +100 alebo 0-1023)
- Test tlačidiel (10 min)
- "on button C pressed" (alebo joystickbit event)
- "show string C"
- To isté pre D, E, F
- Vyskúšaj všetky tlačidlá
- "on button C pressed" (alebo joystickbit event)
- Mapa ovládania (5 min)
- Nakreslite na papier kde je čo:
- Joystick hore → Y = 100
- Joystick vpravo → X = 100
- atď.
- Nakreslite na papier kde je čo:
Samostatná práca (45 min):
- Urob vizualizáciu joysticku na LED (bod sa pohybuje)
- Urob "rýchlosť" - čím viac vychýlený, tým vyššie číslo
- Skombinuj joystick + tlačidlá do jednej hry
- Urob "kalibrovaciu" rutinu (ulož streднú pozíciu)
Troubleshooting:
- Joystickbit nefunguje → skontroluj či je zapojený do Microbitu
- Hodnoty skáču → joystick nie je presný, použi "abs" a prahové hodnoty
- Rozšírenie sa nenašlo → skúś iný názov alebo URL z dokumentácie
Sedenie 2.2: Dialkové ovládanie LED
Trvanie: 45 min práca + 45 min samostatne
Cieľ: Ovládať LED displej iného Microbitu pomocou JoystickbituPotrebné:
- 2x Microbit (jeden s Joystickbitom, jeden samostatný)
- 2x USB kábel alebo batérie
- 2x Notebook (alebo flash rovnaký kód)
Postup (45 min):
- Príprava (5 min)
- Pripomeň si chat z Microbit sedenia 1.5
- Vysvetli princíp: Joystickbit ODOSIELA, Microbit PRIJÍMA
- Ovládač - Joystickbit (15 min)
- "on start" → "radio set group 10"
- "forever"
- "set x to joystickbit get x"
- "set y to joystickbit get y"
- "radio send value name=X value=x"
- "radio send value name=Y value=y"
- pause 100ms
- Prijímač - Microbit LED (20 min)
- "on start" → "radio set group 10"
- Vytvor premenné "posX", "posY" (pozícia bodu 0-4)
- "on radio received name value"
- if name = "X"
- "set posX to map value from -100,100 to 0,4"
- if name = "Y"
- "set posY to map value from -100,100 to 0,4"
- if name = "X"
- "forever"
- "clear screen"
- "plot x=posX y=posY"
- pause 50ms
- Test (5 min)
- Nahraj programy do oboch Microbitov
- Pohybuj joystickom, sleduj LED
Samostatná práca (45 min):
- Pridaj tlačidlo - zmena farby (ak máš RGB LED strip)
- Urob "had" - bod zanechá stopu
- Urob "kreslenie" - joystick kreslí, tlačidlá mažú
- Urob racing hru - ovládaš auto, vyhýbaš prekážkam
Troubleshooting:
- LED nereaguje → radio group, skontroluj "map" funkciu
- Bod skáče → pridaj "round" alebo "abs"
- Oneskorenie → zníž pause, zrýchli odosielanie
Sedenie 2.3: Komunikacia ovládanie auta (Cutebot/Mekano)
Trvanie: 45 min práca + 45 min samostatne
Cieľ: Ovládať robota pomocou JoystickbituPotrebné:
- 1x Microbit s Joystickbitom (ovládač)
- 1x Microbit na Cutebote alebo Mekane (auto)
- Cutebot alebo Mekano auto
- Notebook
Postup (45 min):
- Príprava (5 min)
- Ukáž ako funguje auto (motory, smery)
- Vysvetli: joystick hore = dopredu, dole = dozadu, vľavo/vpravo = točenie
- Ovládač - Joystickbit (10 min)
- "on start" → "radio set group 20"
- "forever"
- "set y to joystickbit get y"
- if y > 50 → "radio send string FORWARD"
- if y < -50 → "radio send string BACK"
- "set x to joystickbit get x"
- if x > 50 → "radio send string RIGHT"
- if x < -50 → "radio send string LEFT"
- if abs(x)<20 AND abs(y)<20 → "radio send string STOP"
- pause 100ms
- Auto - Cutebot (25 min)
- Pridaj Cutebot extension (vyhľadaj "cutebot")
- "on start" → "radio set group 20"
- "on radio received receivedString"
- if receivedString = "FORWARD"
- "cutebot set left motor 50, right motor 50"
- if receivedString = "BACK"
- "cutebot set left motor -50, right motor -50"
- if receivedString = "LEFT"
- "cutebot set left motor 20, right motor 50"
- if receivedString = "RIGHT"
- "cutebot set left motor 50, right motor 20"
- if receivedString = "STOP"
- "cutebot set left motor 0, right motor 0"
- if receivedString = "FORWARD"
- Test a doladenie (5 min)
- Vyskúšaj všetky smery
- Uprav rýchlosti motorov
- Vylaď citlivosť joysticku
Samostatná práca (45 min):
- Pridaj tlačidlá - C=turbo, D=signál/klaxón
- Urob "driftovanie" - rýchle otáčanie
- Pridaj svetlá (LED na Cutebote)
- Urob parcours - slalom medzi prekážkami
Troubleshooting:
- Auto nereaguje → Cutebot extension, radio group
- Auto ide opačne → zameň motory alebo znamienko
- Zlé točenie → uprav pomery motorov (jeden pomalší)
Sedenie 2.4: Mekano, ovládanie 8-smerového auta
Trvanie: 45 min práca + 45 min samostatne
Cieľ: Ovládať Wonder Rugged Car s mecanum kolesami do 8 smerovPotrebné:
- 1x Microbit s Joystickbitom (ovládač)
- 1x Microbit na Wonder Rugged Car
- Elecfreaks Wonder Rugged Car (s mecanum kolesami)
- Notebook
Postup (45 min):
- Úvod do mecanum kolies (5 min)
- Ukáž ako fungujú šikmé kolesá
- Vysvetli 8 smerov: hore, dole, vľavo, vpravo, 4x diagonála
- Vysvetli že každé koleso sa môže točiť dopredu/dozadu
- Príprava rozšírenia (5 min)
- Extensions → vyhľadaj "Wukong" alebo "Wonder Rugged"
- Inicializácia:
on start: wukong set all motors to stop radio set group 30- Ovládač - Joystickbit (10 min)
on start: radio set group 30 forever: set x to joystickbit get x set y to joystickbit get y // Vypočítaj smer (8 smerov + stop) if y > 60 AND abs(x) < 30: radio send string "N" // sever (hore) else if y > 60 AND x > 60: radio send string "NE" // severovýchod else if abs(y) < 30 AND x > 60: radio send string "E" // východ (vpravo) else if y < -60 AND x > 60: radio send string "SE" // juhovýchod else if y < -60 AND abs(x) < 30: radio send string "S" // juh (dole) else if y < -60 AND x < -60: radio send string "SW" // juhozápad else if abs(y) < 30 AND x < -60: radio send string "W" // západ (vľavo) else if y > 60 AND x < -60: radio send string "NW" // severozápad else if abs(x) < 30 AND abs(y) < 30: radio send string "STOP" pause 100ms- Auto - Wonder Rugged Car (25 min)
on start: radio set group 30 wukong set all motors to stop on radio received receivedString: // Mecanum kolesá: M1=predné ľavé, M2=predné pravé // M3=zadné ľavé, M4=zadné pravé if receivedString = "N": // Hore wukong set motor M1 speed 80 wukong set motor M2 speed 80 wukong set motor M3 speed 80 wukong set motor M4 speed 80 else if receivedString = "S": // Dole wukong set motor M1 speed -80 wukong set motor M2 speed -80 wukong set motor M3 speed -80 wukong set motor M4 speed -80 else if receivedString = "E": // Vpravo (strafe) wukong set motor M1 speed 80 wukong set motor M2 speed -80 wukong set motor M3 speed -80 wukong set motor M4 speed 80 else if receivedString = "W": // Vľavo (strafe) wukong set motor M1 speed -80 wukong set motor M2 speed 80 wukong set motor M3 speed 80 wukong set motor M4 speed -80 else if receivedString = "NE": // Diagonála hore-vpravo wukong set motor M1 speed 80 wukong set motor M2 speed 0 wukong set motor M3 speed 0 wukong set motor M4 speed 80 else if receivedString = "SE": // Diagonála dole-vpravo wukong set motor M1 speed 0 wukong set motor M2 speed -80 wukong set motor M3 speed -80 wukong set motor M4 speed 0 else if receivedString = "SW": // Diagonála dole-vľavo wukong set motor M1 speed -80 wukong set motor M2 speed 0 wukong set motor M3 speed 0 wukong set motor M4 speed -80 else if receivedString = "NW": // Diagonála hore-vľavo wukong set motor M1 speed 0 wukong set motor M2 speed 80 wukong set motor M3 speed 80 wukong set motor M4 speed 0 else if receivedString = "STOP": wukong set all motors to stopSamostatná práca (45 min):
- Vyskúšaj všetky smery, uprav rýchlosti motorov
- Pridaj tlačidlá - C = rotácia vľavo, D = rotácia vpravo:
Rotácia vľavo: M1=-80, M2=80, M3=-80, M4=80 Rotácia vpravo: M1=80, M2=-80, M3=80, M4=-80- Urob "plynulú" rýchlosť podľa vychýlenia joysticku
- Urob "tanečné" pohyby - kombinácia smerov a rotácií
- Vytvor parcours - slalom medzi kužeľmi
Troubleshooting:
- Auto ide šikmo namiesto priamo → uprav hodnoty motorov, kalibruj
- Niektoré smery nefungujú → skontroluj zapojenie motorov M1-M4
- Kolesa sa zasekávajú → skontroluj či sú mecanum kolesá správne nasmerované (šikmé valčeky tvoria X pattern)
- Slabý výkon → skontroluj batérie, možno použiť vyššie rýchlosti (max 100)
- Wukong extension → ak nenájdeš, skús "elecfreaks wukong" alebo použi priamo URL
