Tartalomjegyzék:
- Kellékek
- 1. lépés: A robot beállítása
- 2. lépés: A joystick beállítása
- 3. lépés: A joystick értékeinek ellenőrzése
- 4. lépés: Az X és Y változók beállítása
- 5. lépés: X és Y konvertálása a bal és jobb motorok értékeivé
- 6. lépés: Az értékek küldése rádióüzenetként
- 7. lépés: Az üzenetek fogadása a robotján
- 8. lépés: A bejövő üzenetek használata a robot motorjainak vezérlésére
- 9. lépés: A gombok használata - További üzenetek fogadása
- 10. lépés: További üzenetek küldése a vezérlő gombjaival
- 11. lépés: Következő lépések
Videó: Micro: Bit Robot és Joystick programozása: Bitvezérlő MicroPython segítségével: 11 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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.
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:
- Mentse a Raw fájlt a számítógépére, majd töltse be a Mu -ba:
- Másolja és illessze be az összes megadott kódot egy új fájlba a Mu.
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:
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.
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.
Látnia kell, hogy néhány érték nyomtatva jelenik meg a képernyőn:
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.
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:
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:
A NodeMCU programozása Arduino IDE segítségével: 3 lépés
A NodeMCU programozás beállítása Arduino IDE segítségével: Ebben az utasításban megmutatom, hogyan programozható a NodeMCU kártya Arduino IDE használatával. Ehhez telepítenie kell az illesztőprogramokat, és hozzá kell adnia a NodeMCU kártyát az Arduino kártya listájához. Csináljuk lépésről lépésre
Az Arduino programozása Sphero RVR segítségével: 4 lépés
Arduino programozása a Sphero RVR -rel: Tavaly októberben jelent meg a Sphero RVR. Ez egy olyan robot volt, mint senki más. Először is programozhatod a Micro: bit, a Raspberry PI és az Arduino segítségével. Azt is megteheti, hogy több különböző funkciót is elvégezzen. A LED -ek megváltoztathatják a színeket is
Az ATtiny85 programozása és rendszerbetöltése USBasp segítségével: 5 lépés
Az ATtiny85 programozása és indítása USBasp segítségével: Ebben az utasításban pontosan megtudhatja, hogyan kell betölteni és programozni egy ATtiny85 mikrochipet a legegyszerűbb módon. Ez az első utasításom, így ha bármilyen tanácsa vagy tippje van a jobb útmutatók készítéséhez, kérjük, bátran
Fény- és színmérések A Pimoroni Enviro: bit segítségével: Micro: bit: 5 lépés
Fény- és színmérések A Pimoroni Enviro: bit segítségével: Micro: bit: Korábban dolgoztam néhány olyan eszközön, amelyek lehetővé teszik a fény- és színmérést, és sokat találhat az ilyen mérések mögött álló elméletről, az itt és itt található utasításokról. nemrégiben megjelent az enviro: bit, egy kiegészítő a m-hez
Picaxe programozása Shell -szkript segítségével (linux): 5 lépés
A Picaxe programozása Shell Script (linux) segítségével: Egyszerű áttekintés, amely bemutatja, hogyan lehet shell parancsfájlt készíteni, amely letölti a programot egy ftp webhelyről, majd lefordítja, majd letölti a picaxe -be. (Ez az első tanulható)