Obsah:
Video: Vytvorenie nárazníkov pre robota: 4 kroky
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V mojom kurze počítačovej techniky 11. triedy sme dostali za úlohu, aby náš robot prešiel bludiskom. Aby sme mohli kontrolovať, či ide rovno, odbočuje doľava alebo doprava, požiadali nás, aby sme vyrobili nárazníky. Týmto spôsobom, ak by sa robot dotkol steny a narazil do pravého nárazníka, robot by zabočil doľava a ak by narazil do ľavého nárazníka, robot by zabočil doprava. Takže v podstate našou úlohou bolo vytvoriť nárazník, ktorý je možné zasunúť dovnútra, aby sa mohol otočiť, a ja sa tiež musím vrátiť von, aby sa stále neotáčal. Nastavenie nárazníka však tiež vyžaduje, aby ste nastavili kód a obvod, aby sa váš nárazník spustil. Nasledujte nasledujúce kroky, aby ste sa dozvedeli, ako si vyrobiť vlastný nárazník pre robota.
Krok 1: Okruh
Aby nárazníky fungovali, musíte na doske v hornej časti robota vytvoriť obvod.
(podľa obrázka vyššie dosiahnete 2 nárazníky)
Potrebné materiály
- 2 malé LED svetlá (na zaistenie funkčnosti nárazníkov)
- 8 drôtov
- 2 hnedo-čierno-žlté odpory
- 2 červeno-červeno-hnedé odpory
Niektoré veci treba mať na pamäti
- Vss je tam „zem“, pretože sa rovná nule a Vdd sa rovná 1
- Keď obvod beží, hodnota je 0, keď nie je v chode, hodnota je 1
- Plochá strana LED diódy je záporná a druhá strana je kladná
Bežné chyby v obvodoch
- LED je zlý spôsob
- LED dióda, odpor a vodič nie sú zoradené v jednom stĺpci
- LED dióda už nefunguje
Krok 2: Kód
Kód:
'{$ STAMP BS2}' {$ PBASIC 2.5}
LBump PIN 11
RBump PIN 10
PIN LMOTORU 15
PIN RMOTORU 14
RFast CON 650
LFast CON 850
RSlow CON 700
LSLOW CON 800
MStop CON 750
RFastRev CON 850
LFastRev CON 650
RSlowRev CON 800
LSlowRev CON 700
MLoopC VAR Slovo „pre.. Ďalej premenná až 65 000ish
ROBIŤ
GOSUB Forwardfast 'choďte vpred
IF IN10 = 0 POTOM ', ak sú stlačené dva vodiče na vstupe 10, potom odbočte doľava
GOSUB TurnLeft90
ELSEIF IN11 = 0 POTOM ', ak sú stlačené dva vodiče na vstupe 11, potom odbočte doprava
GOSUB TurnRight90
KONIEC AK
SLUČKA
TurnRight90:
„Subproces, ktorý odbočí o 90 stupňov doprava
'**********************************************************
VYSOKÁ 1
NÍZKA 0
PRE MLoopC = 1 AŽ 22
PULSOUT LMOTOR, LfastRev 'sa posunie o jeden impulz dopredu
PULSOUT RMOTOR, Rfast 'pomocou kolíkov a konštánt
PAUZA 20
„20 mS umožňuje robotu pohybovať sa“pred NEXT impulzom
ĎALŠIE
NÁVRAT
'*********************************************************
TurnLeft90:
„Subproces, ktorý odbočí o 90 stupňov doprava
'********************************************************
VYSOKÁ 0
NÍZKA 1
PRE MLoopC = 1 AŽ 22
PULSOUT LMOTOR, Lfast 'posun dopredu o jeden pulz
PULSOUT RMOTOR, RfastRev 'pomocou kolíkov a konštánt
PAUSE 20 '20 mS umožňuje robotu pohybovať sa' pred NEXT pulzom
ĎALŠIE
NÁVRAT
'***********************************************************
ForwardFast:
„Podproces na rýchly pohyb robota dopredu o jedno políčko
'**********************************************************
PRE MLoopC = 1 AŽ 70
PULSOUT LMOTOR, LRýchly PULSOUT
RMOTOR, RFast
PAUZA 20
ĎALŠIE
NÁVRAT
Stručný prehľad
Účelom tohto kódu je naprogramovať robota tak, aby pri stlačení pravých vodičov (nárazník) odbočil doľava a po stlačení ľavých vodičov (nárazník) doprava.
Čo znamená kód?
Než odpoviem na túto otázku, mali by ste byť oboznámení s tým, čo niektoré kódy používané v tomto programe znamenajú.
GOSUB - podprogram teda znamená prejsť na podprogram (podprogram musí byť identifikovaný vo vašom kóde)
ENDIF - slúži na ukončenie príkazu IF viacerých riadkov
_
vysvetlenie významu kódu …
DOGOSUB Vpred
- Hovorí robotovi, aby išiel dopredu, hneď ako je zapnutý
AK JE IN10 = POTOM
GOSUB TurnLeft90
- hovorí, že ak sa dotknú dvoch vodičov na vstupe 10 (pravý nárazník), robot zabočí doľava pod uhlom 90.
INÁČ AK
IN11 = 0 POTOM GOSUB TurnRight90
- hovorí, že ak sa dotknú dvoch vodičov na vstupe 11 (ľavý nárazník), robot sa otočí doprava o 90 uhlov.
TurnRight90: „Subproces, ktorý odbočí o 90 stupňov doprava
'**********************************************************
VYSOKÁ 1
NÍZKA 0
PRE MLoopC = 1 AŽ 22
PULSOUT LMOTOR, LfastRev
PULSOUT RMOTOR, Rfast
PAUZA 20
ĎALŠÍ NÁVRAT '************************************************ **********
- toto je príklad podprogramu, ktorý sa používa, aby ste nemuseli opakovať ten istý dlhý kód znova a znova. váš kód tak bude vyzerať úhľadnejšie a viac dohromady.
- vysoká 1 / nízka nula znamená, že keď sa robot otočí doprava (ľavé vodiče sa dotknú), rozsvieti sa dióda, takže budete vedieť, že všetko funguje.
Krok 3: Nárazníky (požadovaný materiál)
Na výrobu nárazníka budete potrebovať …
- 4 nanukové palice pre hlavnú konštrukciu a 2 nanukové palice na upevnenie nárazníka na robota
- 4 kusy špongie
- 4 sponky na papier
- takže hliníková fólia
- 4 vodiče (na pripojenie k doske, vysvetlené v kroku 1 o obvode)
- horúca lepiaca pištoľ a lepiace tyčinky
- maskovacia páska
Krok 4: Zostavenie nárazníkov
Na výrobu jedného nárazníka vezmite 2 paličky od nanuku a odstrihnite zaoblené konce (ako je vyznačené na 1. obrázku). Tieto paličky na nanuky budú pôsobiť ako horná a dolná časť nárazníka. Na to, aby sa drôty bezprostredne po sebe dotýkali a dotýkali sa ich, je potrebná špongia. Vezmite špongiu a odrežte 2 malé štvorce (ako na druhom obrázku vyššie). Potom pomocou horúcej lepiacej pištole vezmite 1 nanukovú palicu a prilepte 1 štvorček piškóty na ľavú stranu a jednu špongiu na pravú stranu (ako referenciu použite 3. obrázok). Potom vezmite 1 drôt a jeden koniec špičky drôtu obalte hliníkovou fóliou. Drôt umiestnite do stredu tyčinky na nanuky a zaistite ho kancelárskou sponkou. Tento krok zopakujte s druhým drôtikom a nanukom. Nanášajte nanuky bez špongií, k nanuku špongiami (ako je to znázornené na treťom obrázku vyššie). Teraz je váš prvý nárazník kompletný
Celý tento postup zopakujte druhýkrát, aby ste vytvorili druhý nárazník.
Ak chcete do robota pridať nárazníky, vezmite jednu nanukovú palicu a prilepte ju na spodok nárazníka. Nakloňte ľavý nárazník k ľavej strane a pravý nárazník k pravej strane. Nárazníky som nalepil maskovacou páskou. (obrázok číslo 4 sú dokončené nárazníky pripevnené k robotovi).