- Nødvendige materialer:
- Begreper for linjefølger
- Raspberry Pi Line Follower Robot Circuit Diagram and Explanation:
- Programmering av Raspberry PI:
- Raspberry Pi Line Follower i aksjon:
Som vi alle vet er Raspberry Pi en fantastisk utviklingsplattform basert på ARM-mikroprosessor. Med sine høye beregningskrefter og utviklingsalternativer kan den trene underverk i hendene på elektronikkhobbyister eller studenter. For å lære mer om en Raspberry Pi og hvordan den fungerer, la oss prøve å bygge en Line Follower Robot ved hjelp av Raspberry Pi.
Hvis du er interessert i robotikk, bør du være veldig kjent med navnet “ Line Follower Robot ”. Denne roboten er i stand til å følge en linje, bare ved å bruke par sensor og motorer. Det høres kanskje ikke effektivt ut ved å bruke en kraftig mikroprosessor som Raspberry Pi til å bygge en enkel robot. Men denne roboten gir deg plass til uendelig utvikling, og roboter som Kiva (Amazon-lagerrobot) er et eksempel på dette. Du kan også sjekke våre andre Line Follower-roboter:
- Line Follower Robot med 8051 Microcontroller
- Line Follower Robot ved hjelp av Arduino
Nødvendige materialer:
- Raspberry Pi 3 (hvilken som helst modell skal fungere)
- IR-sensor (2Nos)
- DC-girmotor (2Nos)
- L293D Motordriver
- Chaises (Du kan også lage dine egne ved hjelp av papp)
- Kraftbank (hvilken som helst tilgjengelig strømkilde)
Begreper for linjefølger
Line Follower Robot er i stand til å spore en linje ved hjelp av en IR-sensor. Denne sensoren har en IR-sender og IR-mottaker. IR-senderen (IR-LED) sender lyset og mottakeren (fotodiode) venter på at det sendte lyset kommer tilbake. Et IR-lys vil bare komme tilbake hvis det reflekteres av en overflate. Mens alle overflater ikke reflekterer et IR-lys, kan bare fargeoverflaten reflektere dem helt, og den svarte overflaten vil fullstendig observere dem som vist i figuren nedenfor. Lær mer om IR-sensormodul her.
Nå skal vi bruke to IR-sensorer for å sjekke om roboten er i sporet med linjen og to motorer for å korrigere roboten hvis den beveger seg ut av sporet. Disse motorene krever høy strøm og skal være toveis; derfor bruker vi en motordrivermodul som L293D. Vi trenger også en beregningsenhet som Raspberry Pi for å instruere motorene basert på verdiene fra IR-sensoren. Et forenklet blokkdiagram av det samme er vist nedenfor.
Disse to IR-sensorene blir plassert en på hver side av linjen. Hvis ingen av sensorene oppdager en svart linje, instruerer de PI motorene om å bevege seg fremover som vist nedenfor
Hvis venstre sensor kommer på svart linje, instruerer PI roboten om å svinge til venstre ved å dreie på høyre hjul alene.
Hvis høyre sensor kommer på svart linje, instruerer PI roboten om å svinge til høyre ved å dreie venstre hjul alene.
Hvis begge sensorene kommer på svart linje, stopper roboten.
På denne måten vil roboten kunne følge linjen uten å komme utenfor sporet. La oss nå se hvordan kretsen og koden ser ut.
Raspberry Pi Line Follower Robot Circuit Diagram and Explanation:
Det komplette kretsskjemaet for denne Raspberry Pi Line Follower Robot er vist nedenfor
Som du kan se, involverer kretsen to IR-sensorer og et par motorer koblet til Raspberry pi. Hele kretsen drives av en mobil strømbank (representert med AAA-batteri i kretsen ovenfor).
Siden pinnedetaljene ikke er nevnt på Raspberry Pi, må vi bekrefte pinnene ved hjelp av bildet nedenfor
Som vist på bildet er den øverste venstre hjørnetappen på PI + 5V-pinnen, vi bruker denne + 5V-pinnen til å drive IR-sensorer som vist i kretsskjemaet (rødt kablet). Deretter kobler vi bakkenålene til bakken på IR-sensoren og motordrivermodulen ved hjelp av svart ledning. Den gule ledningen brukes til å koble utgangspinnen til sensoren 1 og 2 til henholdsvis GPIO-pinnene og 3.
For å kjøre motorene trenger vi fire pinner (A, B, A, B). Disse fire pinnene er koblet fra henholdsvis GPIO14,4,17 og 18. Den oransje og hvite ledningen sammen danner tilkoblingen for en motor. Så vi har to slike par for to motorer.
Motorene er koblet til L293D Motor Driver- modulen som vist på bildet, og drivermodulen drives av en kraftbank. Forsikre deg om at bakken til strømbanken er koblet til bakken til Raspberry Pi, bare da vil forbindelsen din fungere.
Programmering av Raspberry PI:
Når du er ferdig med montering og tilkoblinger, bør roboten din se slik ut.
Nå er det på tide å programmere bot og få den i gang. Den komplette koden for denne bot finner du nederst i denne veiledningen. Lær mer om program og kjør kode i Raspberry Pi her. De viktige linjene er forklart nedenfor
Vi skal importere GPIO-filer fra biblioteket, under funksjonen gjør det mulig for oss å programmere GPIO-pinner på PI. Vi omdøper også "GPIO" til "IO", så når vi vil referere til GPIO-pinner i programmet, bruker vi ordet "IO".
importer RPi.GPIO som IO
Noen ganger, når GPIO-pinnene, som vi prøver å bruke, gjør noen andre funksjoner. I så fall vil vi motta advarsler mens vi kjører programmet. Kommandoen nedenfor forteller PI å ignorere advarslene og fortsette med programmet.
IO.setwarnings (False)
Vi kan henvise GPIO-pinnene til PI, enten med pin-nummer om bord eller etter deres funksjonsnummer. Som 'PIN 29' på tavlen er 'GPIO5'. Så vi forteller her at enten skal vi representere nålen her med '29' eller '5'.
IO.setmode (IO.BCM)
Vi setter 6 pinner som inngangs- / utgangspinner. De to første pinnene er inngangspinnene for å lese IR-sensoren. De neste fire er utgangspinnene der de to første brukes til å kontrollere høyre motor og de neste to for venstre motor.
IO.setup (2, IO.IN) #GPIO 2 -> Venstre IR ut IO.setup (3, IO.IN) #GPIO 3 -> Høyre IR ut IO.setup (4, IO.OUT) #GPIO 4 - > Motor 1 terminal A IO.oppsett (14, IO.OUT) #GPIO 14 -> Motor 1 terminal B IO.setup (17, IO.OUT) #GPIO 17 -> Motor Left terminal A IO. setup (18, IO.OUT) #GPIO 18 -> Motor venstre terminal B
IR-sensoren sender ut "True" hvis den er over en hvit overflate. Så så lenge begge sensoren sier Sann, kan vi gå videre.
hvis (IO.input (2) == True og IO.input (3) == True): #both white move forward IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO.output (18, False) # 2B-
Vi må ta en høyresving hvis den første IR-sensoren kommer over en svart linje. Dette gjøres ved å lese IR-sensoren, og hvis tilstanden er oppfylt, stopper vi høyre motor og roterer venstre motor alene som vist i koden nedenfor
elif (IO.input (2) == False and IO.input (3) == True): #turn right IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, False) # 2B-
Vi må ta en venstresving hvis den andre IR-sensoren kommer over en svart linje. Dette gjøres ved å lese IR-sensoren, og hvis tilstanden er oppfylt, stopper vi venstre motor og roterer høyre motor alene som vist i koden nedenfor
elif (IO.input (2) == True and IO.input (3) == False): #turn left IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO. Utgang (18, True) # 2B-
Hvis begge sensoren kommer over en svart linje, betyr det at roboten må stoppe. Dette kan gjøres ved å gjøre at begge terminalene på motoren er sanne som vist på koden nedenfor
annet: # forbli fortsatt IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True) # 2B-
Raspberry Pi Line Follower i aksjon:
Last opp pythonkoden for linjefølger til Raspberry Pi og kjør den. Vi trenger en bærbar strømforsyning, en strømbank i dette tilfellet blir nyttig, derfor har jeg brukt det samme. Den jeg bruker kommer med to USB-porter, så jeg har brukt PI og den andre til Power Motor Driver som vist på bildet nedenfor.
Nå er alt du trenger å gjøre å sette opp ditt eget svarte fargespor og slippe boten din over den. Jeg har brukt en svart isolasjonstape for å lage sporet. Du kan bruke hvilket som helst svart fargemateriale, men sørg for at bakken ikke er mørk.
Fullstendig bearbeiding av bot finner du i videoen nedenfor. Håper du forsto prosjektet og likte å bygge et. Hvis du har spørsmål, legg dem inn i kommentarseksjonen nedenfor.