Innholdsfortegnelse:
Video: Lage støtfangere for en robot: 4 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I datamaskiningeniørkurset mitt i klasse 11 fikk vi i oppgave å få roboten vår til å gå gjennom en labyrint. For å kontrollere om det går rett, svinger til venstre eller høyre ble vi bedt om å lage støtfangere. På denne måten hvis roboten berørte veggen og den traff den høyre støtfangeren, ville roboten svinge til venstre og hvis den traff den venstre støtfangeren ville roboten svinge til høyre. Så i hovedsak var vår oppgave å lage en støtfanger som kan skyves inn for å snu, og jeg må også komme ut igjen slik at den ikke fortsetter å slå på en sløyfe. Imidlertid krever det å sette opp en støtfanger deg også å sette opp en kode og en krets for å få støtfangeren til å kjøre. Følg trinnene nedenfor for å lære hvordan du lager din egen støtfanger for en robot.
Trinn 1: Kretsen
For å få støtfangerne til å fungere, må du lage en krets på brødbrettet på toppen av roboten din.
(følg bildet ovenfor for å oppnå 2 støtfangere)
Materialer som trengs
- 2 små LED -lys (for å sikre at støtfangerne fungerer)
- 8 ledninger
- 2 brun-svart-gule motstander
- 2 rød-rød-brune motstander
Noen ting å huske på
- Vss er "bakken" der, for den er lik null og Vdd er lik 1
- Når kretsen kjører er verdien 0 når den ikke kjører, verdien er 1
- Den flate siden av lysdioden er negativ, og den andre siden er positiv
Vanlige feil i kretser
- LED er feil vei
- LED, motstand og ledning er ikke stilt opp i samme kolonne
- LED -en fungerer ikke lenger
Trinn 2: Koden
Koden:
'{$ STAMP BS2}' {$ PBASIC 2.5}
LBump PIN 11
RBump PIN 10
LMOTOR PIN 15
RMOTOR PIN 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 Word 'For.. Neste variabel opptil 65000ish
GJØRE
GOSUB Forwardfast 'fortsett
HVIS IN10 = 0 THEN 'hvis de to ledningene i inngang 10 trykkes, sving til venstre
GOSUB TurnLeft90
ELSEIF IN11 = 0 THEN 'hvis de to ledningene i inngang 11 trykkes, sving til høyre
GOSUB TurnRight90
SLUTT OM
LØKKE
TurnRight90:
'Delprosedyre for å svinge 90 grader til høyre
'**********************************************************
HØY 1
LAV 0
FOR MLoopC = 1 TIL 22
PULSOUT LMOTOR, LfastRev 'gå frem en puls
PULSOUT RMOTOR, Rfast 'ved hjelp av pinner og konstanter
PAUSE 20
'20mS lar roboten bevege seg' før NESTE puls
NESTE
KOMME TILBAKE
'*********************************************************
TurnLeft90:
'Delprosedyre for å svinge 90 grader til høyre
'********************************************************
HØY 0
LAV 1
FOR MLoopC = 1 TIL 22
PULSOUT LMOTOR, Lfast 'gå frem en puls
PULSOUT RMOTOR, RfastRev 'ved hjelp av pinner og konstanter
PAUSE 20 '20mS lar roboten bevege seg' før NESTE puls
NESTE
KOMME TILBAKE
'***********************************************************
Fremover:
'Delprosedyre for å flytte roboten en firkant fort
'**********************************************************
FOR MLoopC = 1 TIL 70
PULSOUT LMOTOR, LFAST PULSOUT
RMOTOR, RFast
PAUSE 20
NESTE
KOMME TILBAKE
Kort overblikk
Formålet med denne koden er å programmere roboten til å svinge til venstre når de høyre ledningene (støtfangeren) trykkes ned og svinge til høyre når de venstre ledningene (støtfangeren) trykkes.
Hva betyr koden?
Godt før jeg svarer på det spørsmålet, bør du være kjent med hva noen av kodene som brukes i dette programmet betyr.
GOSUB - så sub står for go to subroutine (subrutinen må identifiseres i koden din)
ENDIF - brukes til å avslutte flere linjer IF -kommando
_
forklarer betydningen bak koden ….
DOGOSUB Fremover
- Forteller roboten å gå fremover akkurat når den slås på
HVIS IN10 = 0 DA
GOSUB TurnLeft90
- sier at hvis de to ledningene i inngang 10 (høyre støtfanger) berører så vil roboten svinge til venstre i en 90 vinkel.
ELLER HVIS
IN11 = 0 DA GOSUB TurnRight90
- sier at hvis de to ledningene i inngang 11 (venstre støtfanger) berører så vil roboten svinge til høyre i en 90 vinkel.
TurnRight90: 'Delprosedyre for å svinge 90 grader til høyre
'**********************************************************
HØY 1
LAV 0
FOR MLoopC = 1 TIL 22
PULSOUT LMOTOR, LfastRev
PULSOUT RMOTOR, Rfast
PAUSE 20
NESTE RETURN '********************************************** **********
- dette er et eksempel på en subrutine som brukes, slik at du ikke trenger å gjenta den samme lange koden om og om igjen. på denne måten ser koden din penere og mer satt sammen.
- det høye 1 / lave null betyr at når roboten svinger til høyre (venstre ledning berører) lyser lysdioden, på denne måten vet du at alt fungerer.
Trinn 3: Støtfangerne (nødvendig materiale)
For å lage støtfangeren trenger du …
- 4 Popsicle -pinner for hovedstrukturen og 2 Popsicle -pinner for å montere støtfangeren på roboten
- 4 stykker av en svamp
- 4 binders
- så aluminiumsfolie
- 4 ledninger (for å koble til brødbrettet, forklart i trinn 1 om kretsen)
- varm limpistol og limpinner
- malertape
Trinn 4: Montering av støtfangere
For å lage en støtfanger, ta 2 popsicle -pinner og skjær av de avrundede endene (som merket på det første bildet). Disse popsicle -pinnene vil fungere som toppen og bunnen av støtfangeren din. For at ledningene skal berøre og fjerne berøring rett etter, kreves en svamp. Ta en svamp og kutt av 2 bittesmå firkanter (som på det andre bildet vist ovenfor). Deretter bruker du en varm limpistol, tar du 1 popsicle stick og limer 1 svampfirkant på venstre side og en svamp på høyre side (bruk det tredje bildet som referanse). Ta deretter 1 tråd og pakk den ene enden av spissen av tråden med litt aluminiumsfolie. Plasser ledningen på midten av ispinnen og fest den med et binders. Gjenta dette trinnet med den andre ledningen og popsicle -pinnen. Lim popsicleen siste uten svampene, til popsicleen med svamper (som vist på det tredje bildet ovenfor). Nå er din første støtfanger komplett
Gjenta hele prosessen en gang til for å lage en andre støtfanger.
For å legge støtfangerne på roboten, ta en popsicle -pinne og lim den på bunnen av støtfangeren. Vink den venstre støtfangeren mot venstre side, og vink den høyre støtfangeren mot høyre side. Jeg stakk støtfangerne på med maskeringstape. (bilde nummer 4 er de ferdige støtfangerne, festet til roboten).