TechLab - Laboratórium budúcnosti

        • 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 motory
          

          Oba 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)

          1. Rozšírenia → vyhľadaj cutebot alebo URL: https://github.com/elecfreaks/pxt-cutebot
          2. 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 X
            • Cutebot turn left speed X – otočenie (ľavý motor stojí)
            • Cutebot turn right speed X
            • Cutebot set left motor X right motor Y – nezávislé nastavenie motorov (-100 až 100)
            • Cutebot stop

          💡 Blok set left motor / right motor je 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 80ms
          

          Prijí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 50ms
          

          Testovanie:

          1. Nahraj odosielateľa do micro:bitu v Joystick:bit
          2. Nahraj prijímača do micro:bitu v Cutebot
          3. Zapni Cutebot
          4. Testuj všetky 4 smery

          Čo kontrolovať:

          • Zastaví auto keď pustíš joystick?
          • Je otočenie správnym smerom? (ak nie – prehoď turn leftturn 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 Z
          • Cutebot 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)

          1. Rozšírenia → vyhľadaj wonder alebo rugged alebo URL: https://github.com/elecfreaks/pxt-wonder-rugged-car
          2. 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 80ms
          

          Prijí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ášť:

          1. Joystick plno dopredu → ide auto dopredu? (nie do strany, nie šikmo)
          2. Joystick plno vpravo → ide auto do boku (krabím pohybom)?
          3. 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ď leftright príkazy
          Diagoná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.

    • Kontakty

      • Základná škola s materskou školou
      • 0915 880 931 - ZÁKLADNÁ ŠKOLA
        0911 348 727 - MATERSKÁ ŠKOLA
        0915 595 176 - ŠKOLSKÁ JEDÁLEŇ
        0908 030 931 - RIADITEĽ
        0940 629 872 - EKONÓMKA
      • Šarišské Dravce 20
        082 73 Šarišské Dravce
        Slovakia
      • sardravce.ms@gmail.com
        sardravce.sj@gmail.com
      • 37876856
    • Prihlásenie