Tartalomjegyzék:

Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével: 11 lépés
Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével: 11 lépés

Videó: Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével: 11 lépés

Videó: Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével: 11 lépés
Videó: Amazing arduino project 2024, November
Anonim
Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével
Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével

A Robocamp 2019 nyári robotikai táborunkban a 10-13 éves fiatalok forrasztják, programozzák és építik a BBC mikro: bit alapú "súlycsökkentő robotját", valamint programoznak egy mikro: bitet, amelyet távirányítóként használnak.

Ha jelenleg a Robocampnél tartózkodik, ugorjon a 3. lépésre, mivel mi az első két lépést csoportként végeztük el

Ez egy lépésről lépésre szóló útmutató a mikro: bit robot kommunikációjának eléréséhez a joystick: bit vezérlővel.

Nem a leggyorsabb utat választja, hogy minden működőképes legyen, hanem apró darabokban próbálja ki a dolgokat, hogy menet közben tesztelhesse a kódot, rányomhassa a saját bélyegét, és megérthesse, miért tesszük, amit csinálunk !

Ehhez a tevékenységhez saját egyedi robotunkat használjuk, de minden olyan robottal működik, amely hasonló motorvezérlőt használ, például egy L9110 -est.

Robotunk tervezési fájljai itt találhatók:

Ez az útmutató kezdőknek készült, de ha még soha nem használt micro: bit -t a MicroPython segítségével, javasoljuk, hogy először próbáljon ki egy egyszerűbb programot, például a nevünk jelvényét Instructable: https://www.instructables.com/id/Felt -Microbit-Nam…

Kellékek

2x BBC mikro: bit

Robot, amely a BBC mikro: bit -jével működik (lásd a fenti magyarázatot)

joystick: bitvezérlő (a miénk a Cool Components)

1. lépés: A robot beállítása

Van néhány lehetősége a MicroPython kód írására a mikro számára: bit:

  • Mu, amelyet innen tölthet le és telepíthet:
  • Az online szerkesztő, amelyet itt talál:

Ezek az utasítások feltételezik, hogy Mu -t használ

Nyissa meg a Mu alkalmazást, és csatlakoztassa a micro: bit -t a számítógéphez. A Mu -nak fel kell ismernie, hogy micro: bit -et használ, és válassza a micro: bit "Mode" -ot, de ha nem, akkor manuálisan módosítsa.

mód kiválasztása
mód kiválasztása

A robotmotor tesztkódjának másolatát innen szerezheti be:

Ha nem vagy hozzászokva a Githubhoz, az intuitív lehet! Ennek a kódnak két egyszerű módja van:

  1. Mentse a Raw fájlt a számítógépére, majd töltse be a Mu -ba:
  2. Másolja és illessze be az összes megadott kódot egy új fájlba a Mu.
nyers fájl mentése
nyers fájl mentése

Most kattintson a "Flash" gombra a Mu eszköztárában, hogy elküldje új kódját a micro: bitnek.

Ez nem fog működni, ha nincs csatlakoztatva a micro: bit

A micro: bit hátoldalán lévő sárga fény villogni kezd. Amikor elkészült, a kódot átvittük.

A MOTOR IRÁNYELVEK BEÁLLÍTÁSA

Ez a program különböző irányokba kapcsolja be a motorokat, ha megnyomja a mikro: bit "A" gombját.

Amit szeretnél, hogy megtörténjen:

  • Amikor megjelenik az „A” jel, a bal motor előrefelé halad
  • Amikor megjelenik a „B” jelzés, balra kell mozgatni a motort
  • Amikor a „C” jelenik meg, a jobb motor előrefelé halad
  • Amikor a „D” jelenik meg, a jobb motor hátra

Valószínűleg nem ez lesz a helyzet, mivel attól függ, hogyan kötötte be a robotját!

A kód tetején talál egy listát a változókról, amelyek meghatározzák, hogy a mikro: bit melyik csapja szabályozza a motor irányát.

Ha valamelyik robotunkat (fájlunkat) használja, cserélje fel a változók nevét, hogy a robot a megfelelő irányba mozogjon:

csere pin változók
csere pin változók

Ha saját robotot használ, a kód szerkesztése előtt ellenőrizze, hogy a motorvezérlő melyik csatlakozóhoz van csatlakoztatva.

A hajtás tesztelése

Most ellenőrizze, hogyan működik a robotja, és cserélje le a fő ciklusban található tesztkódot saját kódjával.

A drive () függvény meghívásával utasítja a robotot, hogy vezessen. Ehhez két érv szükséges - a bal motor és a jobb motor értéke 0 (kikapcsolt) és 1023 (maximális sebesség) között.

A hajtás hívásával (500, 500) például azt mondja, hogy mindkét motor bekapcsol, előrefelé, körülbelül fele sebességgel.

Próbáljon ki néhány lehetőséget, hogy érzékelje, mennyire egyenesen hajt és milyen jól fordul.

Tipp: a motortesztek mind True True ciklusban, mind ha if állításban voltak - a motorok addig nem forogtak, amíg meg nem nyomta a mikro: bit A gombját, és örökre ellenőrzi, hogy megnyomta -e az A gombot.

Tipp: a motorok nem kapcsolnak ki, amíg nem mondod nekik! Mindig folytatni fogják utolsó utasításaikat.

VÁLASZTHATÓ: A VEZETÉS JAVÍTÁSA EGYENES VONALBAN

Ha a robotja nem egyenes vonalban fog közlekedni, előfordulhat, hogy az egyik motor gyorsabban forog, mint a másik.

Miután ellenőrizte, hogy semmi sem akadályozza meg a kerék szabad forgását, szerkesztheti a kódot a hajtás funkcióban, hogy csökkentse a gyorsabb motor fordulatszámát.

Görgessen felfelé, hogy megtalálja a meghajtó funkció definícióját, és nézze meg a felső két utasítást:

def hajtás (L, R):

# Az alábbiakban a motor fordulatszám -eltérésének korrekcióját láthatjuk L = int (L*1) R = int (R*1)

Ez a két sor jelenleg L és R értékét veszi fel, szorozza meg 1 -gyel, majd győződjön meg arról, hogy még mindig egész számok (int).

Például, ha a bal motor gyorsabb, módosítsa a *1 értéket a sorában *0,9 -re, és nézze meg, hogy ez javít -e a helyzeten.

Nem lesz képes tökéletesre csinálni, de folytathatja a beállításokat, amíg egyenesen nem hajt.

A RÁDIÓ BEÁLLÍTÁSA

Most állítsa be a rádiót úgy, hogy a következő sorokat hozzáadja a kód tetejéhez:

import rádió

radio.config (csatorna = 7, csoport = 0, sor = 1) radio.on ()

Ez lehetővé teszi, hogy robotja utasításokat kapjon egy másik micro: bittől, de pillanatnyilag minden más micro: bittől.

Ennek az az oka, hogy a 7. csatorna és a 0. csoport az alapértelmezett csatorna.

Módosítsa ezeket a számokat, válasszon egy csatornát 0-82 között és egy csoportot 0-255 között. A micro: bit most csak másoktól kap utasításokat, amelyek azonos konfigurációs információkkal rendelkeznek.

A sor = 1 azt jelenti, hogy a micro: bit egyszerre csak egy bejövő üzenetet tárol - ez valamivel gyorsabb válaszidőt ad, mint az alapértelmezett, azaz 3.

Most szerkesztenie kell a fő hurokkódot, hogy a gomb megnyomásakor futó utasítások helyett várjon a bejövő rádióüzenetre, és megfelelően válaszoljon.

Próbálja ki a következő kódot tesztként (nem fog semmit tenni, amíg nem állítja be a joystickot a 2. lépésben):

míg igaz:

message = radio.recept () if message == 'forward': drive (500, 500)

2. lépés: A joystick beállítása

Húzza ki a robot micro: bitjét, és csatlakoztassa a joystick micro: bitjét

A joystick beállítási kódjának másolatát innen szerezheti be:

Állítsa be a rádiót ugyanazzal a konfigurációval (csatorna és csoportszám), mint a robot esetében - ez lehetővé teszi a kettő számára, hogy kommunikáljanak egymással.

A program végén indítsa el a fő ciklusát:

míg igaz:

if button_a.was_pressed (): radio.send ('előre')

Ez a kód még nem használja a botkormányt: bit. Üzenet küldéséhez a micro: bit A gombját használja.

Győződjön meg arról, hogy a robot és a vezérlő micro: bitjei is rendelkeznek energiával, majd nyomja meg a gombot az üzenet elküldéséhez.

Ha az üzenet sikeresen megérkezett, és a robotja mozog… jól sikerült! Befejezte a beállítási utasításokat.

HIBAELHÁRÍTÁSI TIPPEK

Ha hibaüzenetet kap a vezérlő micro: bit… hibakeresésével, a vezérlőkódjával

Ha hibaüzenetet kap a robot micro: bitjén … a rádióüzenet sikeresen el lett küldve! De a robot nem tudja megérteni, ezért ellenőrizze, hogy az Ön által küldött üzenet és az az üzenet, amelyet a robotnak mondott, figyeljen a mérkőzésre.

Ha egyáltalán nem történik semmi

  • Győződjön meg róla, hogy a megfelelő kódot villogta minden mikro: bitnek - könnyű véletlenül a rosszat villogni!
  • Győződjön meg arról, hogy csatornája és csoportszáma megegyezik az egyes mikro: biteken

3. lépés: A joystick értékeinek ellenőrzése

A következő néhány lépés a vezérlőkód használatával történik

Mielőtt használni tudná a vezérlő joystickját, tudnia kell, hogy milyen értékeket kap, amikor megnyomja a botot.

Cserélje ki a fő hurkot a következő kóddal:

míg igaz:

joystick = joystick_push () print (joystick) sleep (500)

Villogtassa ezt a kódot a micro: bitre, majd kattintson a RE eszköztárának REPL gombjára. Ez megnyit egy terminált a szerkesztő alján, amely valós idejű linket biztosít a micro: bithez.

nyissa meg a REPL -t
nyissa meg a REPL -t

Ez nem fog működni, ha nincs csatlakoztatva a micro: bit

Nyitott REPL esetén nyomja meg a micro: bit hátoldalán található reset gombot.

Kép
Kép

Látnia kell, hogy néhány érték nyomtatva jelenik meg a képernyőn:

értékek a terminálon
értékek a terminálon

Nyomja meg a botkormány botját, és nézze meg, mi történik a számokkal.

Jegyezze fel az értékeket, amikor a joystick középső helyzetben van - az én esetemben (518, 523).

A Mu eszköztárának újbóli megnyitásához kattintson a REPL gombra a bezárásához - nyitott állapotban nem tudja villogni az új kódot a micro: bit számára.

4. lépés: Az X és Y változók beállítása

Meg akarja változtatni a joystick funkció által megadott értékeket, hogy:

  • középen nulla
  • fel pozitív
  • le negatív.

Ez megegyezik a robot utasításaival - pozitív szám az előrehaladáshoz, és negatív szám visszafelé.

Nézze meg az utolsó lépésben kapott számokat. Az első szám x, a második pedig y.

Szerkessze a joystick_push () definíciót, amely már benne van a programban, mínusz az értékeit az eredetihez képest:

def joystick_push ():

x = pin0.read_analog () - 518 y = pin1.read_analog () - 523 return x, y

Használja a saját számát, lehet, hogy eltér az enyémtől

Villogtassa új kódját, nyissa meg a REPL -t, nyomja meg a micro: bit reset gombját, és ellenőrizze az értékeket.

Kapsz (0, 0)?

5. lépés: X és Y konvertálása a bal és jobb motorok értékeivé

Jelenleg ez a joystick nem lesz túl hasznos robot vezetéséhez. Teljesen előre nyomva olyan értéket kap, mint (0, 500).

Ha megadná ezeket a számokat a robotnak, akkor a jobb motort kapcsolná be, de a bal oldalt nem, ami nem az, amire vágyik!

Ez az ábra azt mutatja, hogy mi történik az x és y értékekkel a joystick mozgatásakor, és mit szeretnénk, hogy a robot tegyen a joystick mozgatásakor.

diagram
diagram

Használnia kell néhány matematikát az x és y értékek összekeveréséhez, hogy valami hasznosabbat kapjon.

n

A MATEMATIKA

Kezdjük azzal, hogy a botkormányt előre nyomjuk.

Egy példa a lehetséges értékekre:

x = 0

y = 500

Ahhoz, hogy hasznos legyen a robot számára, ilyen értékeket szeretne kapni:

balra = 500

jobbra = 500

Próbáljuk meg x és y különböző módon hozzáadni, hogy lássuk, milyen számokat kapunk:

x + y = 0 + 500 = 500

x - y = 0 - 500 = -500 y + x = 500 + 0 = 500 y - x = 500 - 0 = 500

Most nézzük meg, mi történik, ha a joystickot teljesen jobbra toljuk.

Egy példa a lehetséges értékekre:

x = 500

y = 0

Ahhoz, hogy a robot jobbra forduljon, azt szeretné, ha a bal motor előrehajtana, a jobb pedig hátrafelé:

balra = 500

jobbra = -500

Próbáljuk meg újra a képletünket:

x + y = 500 + 0 = 500

x - y = 500 - 0 = 500 y + x = 0 + 500 = 500 y - x = 0 - 500 = -500

Hasonlítsa össze a két képletkészletet, hogy megtudja, melyik opció adja meg a helyes baloldali értéket, és melyik opció a helyes helyes értéket.

Próbálja ki a saját joystickjával kapott értékek némelyikével, hogy megbizonyosodjon arról, hogy a választott képlet mindig működik.

n

A JOYSTICK FUNKCIÓ BŐVÍTÉSE

Bontsa ki és szerkessze a joystick funkciót, hogy két új változót hozzon létre balra és jobbra, és adja vissza ezeket az értékeket x és y helyett:

def joystick_push ():

x = pin0.read_analog () - 518 y = pin1.read_analog () - 523 bal = jobb = visszatérés balra, jobbra

Villogtassa új kódját, nyissa meg a REPL -t, nyomja meg a micro: bit reset gombját, és ellenőrizze az értékeket.

Megkapja az elvárt értékeket?

Ha további segítségre van szüksége, nézze meg példakódunkat itt:

6. lépés: Az értékek küldése rádióüzenetként

Most már készen áll néhány érték elküldésére a robotnak.

Szerkessze a fő hurkot, hogy ellenőrizze a joystick értékeit, de az értékek kinyomtatása helyett készen áll rádióüzenetként történő küldésre.

míg igaz:

joystick = joystick_push () message = str (joystick [0]) + "" + str (joystick [1])

Ez még nem küldi el az üzenetet!

Mi történik ebben az új kódsorban?

  • joystick [0] a joystick funkcióból származó információ első bitje (balra)
  • A joystick [1] a következő információ (jobbra)
  • Az str () mindkét számot karakterlánc -formátummá alakítja (szöveg helyett szám) - ez szükséges ahhoz, hogy az információt rádión keresztül el lehessen küldeni.

Ön hozzászokott ahhoz, hogy a + -ot összeadásnak tekintse - számokat adhat össze és karakterláncokat is összefűzhet, ami azt jelenti, hogy összeragasztja a két információt.

Példa:

150 + 100 = 250

str (150) + str (100) = 150100

Tehát az összefűzés összetartja a bal és a jobb értékeket.

Ha kényszeríteni kívánja a két információbitti közötti elválasztást (hogy a robot tudja, hogy két bit információról van szó), fűzzen egymás közé egy további karakterláncot a "" használatával. A szóköz jelei a tér körül azt jelentik, hogy ez már egy karakterlánc.

Végül bővítse kódját, hogy elküldje ezt az újonnan létrehozott üzenetet a rádión keresztül:

radio.send (üzenet)

alvás (10)

Az alvás lelassítja az üzenetek küldését, hogy a fogadó micro: bit ne legyen túlterhelve túl sok információval!

Mielőtt továbblépne a következő lépésre, villanja fel ezt a kódot a vezérlő micro: bit -jére, és javítsa ki a hibákat

7. lépés: Az üzenetek fogadása a robotján

Térjen vissza a robotkódhoz a kezdetektől - ne felejtse el húzni a vezérlő micro: bitjét, hogy véletlenül ne villogjon hozzá a robotkód

Görgessen le a fő ciklushoz - távolítsa el a tesztkódot, és adja hozzá ezt:

míg igaz:

üzenet = rádió.recept () print (üzenet) alvás (100)

Ez egy változót állít be a bejövő üzenettel, és kinyomtatja az üzenetet a REPL -re - annak ellenőrzésére, hogy az üzenetek a várt módon érkeznek -e.

A REPL -hez csatlakoztatott új kód villog, majd nyomja meg a joystickot.

Valami ilyesmit kellene kapnia:

REPL értékek
REPL értékek

HIBAELHÁRÍTÁSI TIPPEK

Ha hibaüzenetet kap a vezérlő micro: bit… hibakeresésével, a vezérlőkóddal

Ha hibaüzenetet kap a robot micro: bitjén … a rádióüzenet sikeresen el lett küldve! De a robot nem tudja megérteni, ezért ellenőrizze, hogy az Ön által küldött üzenet és az az üzenet, amelyet a robotnak mondott, figyeljen a mérkőzésre.

Ha egyáltalán nem történik semmi

  • Győződjön meg róla, hogy a megfelelő kódot villogta minden mikro: bitnek - könnyű véletlenül a rosszat villogni!
  • Győződjön meg arról, hogy csatornája és csoportszáma megegyezik az egyes mikro: biteken

8. lépés: A bejövő üzenetek használata a robot motorjainak vezérlésére

Most két számot küld a rádión karakterláncként.

Ezt az üzenetet két karakterláncra kell osztania, majd a karakterláncokat újra számokká kell alakítania, és át kell adnia a meghajtó funkcióba. Sok minden történik egyszerre!

Mielőtt ezt megtenné, ellenőriznie kell, hogy a kapott üzenet megfelelő formátumú -e.

Ha nem küld üzenetet, helyette a „Nincs” üzenetet fogja kapni. Ha megpróbálja felosztani ezt, hibaüzenetet kap.

míg igaz:

üzenet = rádió.recept (), ha az üzenet nincs

Mi történik itt?

  • Az új kód akkor fut, ha az üzenet nem „semmi”.
  • A message.split () ellenőrzi, hogy van -e szóköz az üzenetben (amelyet az utolsó lépésben adtunk hozzá), és ezt használja az üzenet kettéosztására.
  • int (üzenet [0]), int (üzenet [1]) az ellenkezőjét teszi, mint amit az előző lépésben tettünk - minden információt külön -külön megkap, és egész számmá (egész számgá) alakít át.
  • Az int (üzenet [0]) a bal motor értéke a hajtás funkcióban, az int ([1] üzenet) pedig a jobb motor értéke.

Ellenőrizze, hogy működik -e - forognak -e a motorok a joystick megnyomásakor?

Ha nem - ideje egy hibakeresésre!

Ha igen, fantasztikus! Van egy működő távirányító robotja!

Töltsön egy kis időt gyakorlással a robotjával, mielőtt továbblép a következő lépéshez. Úgy hajt, ahogy elvárod?

A következő lépések bemutatják, hogyan kell a joystick gombjaival extra funkciókat adni a robothoz

Ha látni szeretné a kód eddigi verzióját:

  • Robot:
  • Vezérlő:

9. lépés: A gombok használata - További üzenetek fogadása

Jelenleg a kód megpróbálja feldarabolni az üzeneteket, amelyek nem nemek. Ez azt jelenti, hogy ha például „hello” üzenetet kap, akkor hibaüzenetet kap.

Ahhoz, hogy a micro: bit értelmezhesse a többi üzenetet, először ellenőriznie kell minden várt üzenetet, majd csak akkor kell felosztania az üzenetet, ha nem mondták, hogy tegyen vele mást.

Bontsa ki a kódot az alábbiak szerint:

ha az üzenet nem: Nincs

if message == 'hello': display.show (Image. HAPPY) elif message == 'kacsa': display.show (Image. DUCK) else: message = message.split () meghajtó (int (üzenet [0]), int (üzenet [1]))

Először is ellenőrzi, hogy megkapta -e a „hello” üzenetet. Ha igen, akkor boldog képet jelenít meg, majd menjen vissza a ciklus tetejére, és keresse meg a következő üzenetet.

Ha az üzenet nem üdvözlő, akkor a következő alkalommal ellenőrzi, hogy az üzenet „kacsa”.

Ha az üzenet sem a „hello”, sem a „kacsa”, akkor a lista utolsó dolga lesz, amely felosztja az üzenetet, és bekapcsolja a motorokat. Nem próbálja meg felosztani az üzenetet, ha „hello” vagy „kacsa” üzenetet kapott, vagyis e két üzenet egyikéből sem kap hibaüzenetet.

A kettős egyenlőségjel fontos - azt jelenti, hogy "egyenlő", szemben az egyetlen egyenlőségjellel, amely valamit beállít (tehát az üzenet = "hello" azt jelenti, hogy "hello", message == "hello" értékre állítjuk a változót azt jelenti, hogy azt kérdezzük, hogy az üzenet egyenlő -e a „hello” szóval).

Próbálja ki most csak két lehetőséggel, hogy tesztelje - később annyi üzenetet adhat hozzá, amennyit csak akar.

Link a működő kódhoz:

10. lépés: További üzenetek küldése a vezérlő gombjaival

Húzza ki a robot micro: bitjét, és csatlakoztassa a joystick micro: bitjét

A szerkesztéshez menjen vissza a vezérlőkódjához.

A robotkódhoz hasonlóan azt szeretnénk, hogy a vezérlő ellenőrizze, nem próbál -e más üzeneteket küldeni, mielőtt a joystick értékeit elküldi.

A ciklus tetején továbbra is azt akarjuk, hogy ellenőrizze a joystick aktuális értékeit, de azt is, hogy ellenőrizze, hogy éppen nyomnak -e gombot:

míg igaz:

joystick = joystick_push () gomb = button_press ()

A button_press () az A, B, C, D, E vagy F értéket adja vissza attól függően, hogy melyik gombot nyomja meg (ha semmit nem nyom meg, akkor a None értéket adja vissza).

Most megtehetjük az if-elif-else utasítást, mint a robotkód esetében-két gomb használatával, és ha nem nyomunk meg gombot, akkor elküldjük a joystick értékét.

ha gomb == 'A':

radio.send ('hello') sleep (500) elif gomb == 'B': radio.send ('kacsa') sleep (500) else: message = str (joystick [0]) + "" + str (joystick) [1]) radio.send (üzenet) alvás (10)

Amikor megnyom egy gombot, küldje el az egyik üzenetet, amelyet az előző lépésben mondott a robotnak, hogy vigyázzon.

Az üzenet elküldésre kerül, amikor a gombot megnyomják, és a számítógépek sokkal gyorsabbak, mint az emberek! Tehát sokszor elküldi az üzenetet, mielőtt sikerült levennie az ujját a gombról.

Az üzenet elküldése utáni alvás lelassítja azt, így nem fogja olyan gyorsan újra ellenőrizni a gombot - próbáljon meg néhány számot, hogy ideális időt kapjon - túl lassan, és nem is reagál gyorsan, és a robot annyi gombüzenetet fog kapni, hogy esetleg nem válaszol a joystickra!

Működik?

Ha hibaüzeneteket kap, alaposan gondolja át, hogy mit módosított, és mi történik.

Ha hibát észlel a roboton, amikor megnyom egy gombot a vezérlőn - tudja, hogy az üzenet eljut, de zavarja a robotot. Ellenőrizze, hogy az elküldött üzenet és a robotnak keresett üzenet megegyezik -e.

Link a működő kódhoz:

11. lépés: Következő lépések

Most már rendelkezik a robot motorjaival és a joystick: bit vezérlővel való munkavégzéshez szükséges ismeretekkel

Használja ezeket a tudásokat a két program fejlesztéséhez és sajátossá tételéhez. Néhány ötlet alább!

Hat gombja van a vezérlőn! Mit akarsz tőlük?

  • Mi lenne, ha programoznánk egy táncprogramot, amelyet a robot parancsra végezhet? Írja meg a drive () parancsok algoritmusát, amelyeket Sleep () parancsok választanak el egymástól!
  • Szeretné megváltoztatni a robot mozgásának irányát, hogy könnyen fejjel lefelé haladhasson? Gondoljon a joystick x és y értékeire. Mit képviselnek, és hogyan manipulálhatja őket?
  • Rendelkezik (vagy hozzátehetne!) A robot kiegészítő funkcióival, például LED -ekkel, hangszóróval vagy érzékelőkkel?

Ötletek a kód javítására

  • Segíthetne robotjának az ismeretlen üzenetek kezelésében a try/kivétel kód használatával?
  • A bal és jobb értékek joystickból történő kiszámításához használt matematika nem adja meg a teljes értéktartományt (a robot hajtása 1023 -ig terjedő számot tud elfogadni). Szerkesztheti ezt a kódot a jobb tartomány elérése érdekében?
  • A joystick értékeinek keverésére más módszerek is léteznek - tudsz jobb módszert kitalálni?

Ajánlott: