- Nødvendige materialer:
- Begreber om linjefølger
- Raspberry Pi Line Follower Robot Circuit Diagram og forklaring:
- Programmering af din Raspberry PI:
- Raspberry Pi Line Follower i aktion:
Som vi alle ved, er Raspberry Pi en vidunderlig udviklingsplatform baseret på ARM-mikroprocessor. Med sine høje beregningskræfter og udviklingsmuligheder kan det udføre vidundere i hænderne på elektronikhobbyister eller studerende. For at lære mere om en Raspberry Pi, og hvordan den fungerer, lad os prøve at opbygge en Line Follower Robot ved hjælp af Raspberry Pi.
Hvis du er interesseret i robotik, skal du være meget fortrolig med navnet “ Line Follower Robot ”. Denne robot er i stand til at følge en linje bare ved hjælp af et par sensorer og motorer. Det lyder måske ikke effektivt at bruge en kraftig mikroprocessor som Raspberry Pi til at bygge en simpel robot. Men denne robot giver dig plads til uendelig udvikling, og robotter som Kiva (Amazon-lagerrobot) er et eksempel på dette. Du kan også tjekke vores andre Line Follower-robotter:
- Line Follower Robot ved hjælp af 8051 Microcontroller
- Line Follower Robot ved hjælp af Arduino
Nødvendige materialer:
- Raspberry Pi 3 (enhver model skal fungere)
- IR-sensor (2Nos)
- DC gearmotor (2Nos)
- L293D motordriver
- Chaises (Du kan også bygge dine egne ved hjælp af pap)
- Strømbank (enhver tilgængelig strømkilde)
Begreber om linjefølger
Line Follower Robot er i stand til at spore en linje ved hjælp af en IR-sensor. Denne sensor har en IR-sender og en IR-modtager. IR-senderen (IR-LED) sender lyset, og modtageren (fotodiode) venter på, at det transmitterede lys vender tilbage. Et IR-lys vender kun tilbage, hvis det reflekteres af en overflade. Mens alle overflader ikke reflekterer et IR-lys, kan kun farveoverfladen reflektere dem helt hvidt, og sort farveoverflade vil helt observere dem som vist i nedenstående figur. Lær mere om IR-sensormodul her.
Nu bruger vi to IR-sensorer til at kontrollere, om robotten er på sporet af linjen og to motorer til at rette robotten, hvis den bevæger sig ud af sporet. Disse motorer kræver høj strøm og skal være tovejs; derfor bruger vi et motordrivermodul som L293D. Vi har også brug for en beregningsenhed som Raspberry Pi for at instruere motorerne baseret på værdierne fra IR-sensoren. Et forenklet blokdiagram af det samme er vist nedenfor.
Disse to IR-sensorer placeres en på hver side af linjen. Hvis ingen af sensorerne registrerer en sort linje, beder de PI motorerne om at bevæge sig fremad som vist nedenfor
Hvis venstre sensor kommer på sort linje, instruerer PI robotten om at dreje til venstre ved at dreje det højre hjul alene.
Hvis højre sensor kommer på sort linje, instruerer PI robotten om at dreje til højre ved at dreje det venstre hjul alene.
Hvis begge sensorer kommer på sort linje, stopper robotten.
På denne måde vil robotten kunne følge linjen uden at komme uden for sporet. Lad os nu se, hvordan kredsløbet og koden ser ud.
Raspberry Pi Line Follower Robot Circuit Diagram og forklaring:
Det komplette kredsløbsdiagram til denne Raspberry Pi Line Follower Robot er vist nedenfor
Som du kan se involverer kredsløbet to IR-sensorer og et par motorer tilsluttet Raspberry pi. Det komplette kredsløb drives af en mobil strømbank (repræsenteret af AAA-batteri i kredsløbet ovenfor).
Da stiftdetaljerne ikke er nævnt på Raspberry Pi, skal vi kontrollere stifterne ved hjælp af nedenstående billede
Som vist på billedet er PI'ens øverste venstre hjørne pin + 5V pin, vi bruger denne + 5V pin til at drive IR-sensorer som vist i kredsløbsdiagrammet (rød kablet). Derefter forbinder vi jordstifterne til jorden på IR-sensoren og motordrivermodulet ved hjælp af sort ledning. Den gule ledning bruges til at forbinde udgangsstiften på sensoren 1 og 2 til henholdsvis GPIO-stifterne og 3.
For at køre motorerne har vi brug for fire ben (A, B, A, B). Disse fire ben er tilsluttet fra henholdsvis GPIO14,4,17 og 18. Den orange og hvide ledning danner sammen forbindelsen til en motor. Så vi har to sådanne par til to motorer.
Motorerne er tilsluttet L293D Motor Driver- modulet som vist på billedet, og drivermodulet drives af en strømbank. Sørg for, at strømbankens jord er forbundet til jorden på Raspberry Pi, kun da fungerer din forbindelse.
Programmering af din Raspberry PI:
Når du er færdig med din samling og forbindelser, skal din robot se sådan ud.
Nu er det tid til at programmere vores bot og få den til at køre. Den komplette kode for denne bot kan findes i bunden af denne tutorial. Lær mere om program og kør kode i Raspberry Pi her. De vigtige linjer forklares nedenfor
Vi skal importere GPIO-filer fra biblioteket, nedenstående funktion giver os mulighed for at programmere GPIO-ben på PI. Vi omdøber også "GPIO" til "IO", så når vi vil henvise til GPIO-ben i programmet, bruger vi ordet 'IO'.
importer RPi.GPIO som IO
Nogle gange, når GPIO-stifterne, som vi prøver at bruge, udfører måske nogle andre funktioner. I så fald modtager vi advarsler, mens vi udfører programmet. Kommandoen nedenfor fortæller PI at ignorere advarslerne og fortsætte med programmet.
IO.setwarnings (Falsk)
Vi kan henvise GPIO-benene på PI, enten ved pin-nummer om bord eller ved deres funktionsnummer. Ligesom 'PIN 29' på tavlen er 'GPIO5'. Så vi fortæller her, enten skal vi repræsentere stiften her med '29' eller '5'.
IO.setmode (IO.BCM)
Vi indstiller 6 ben som input / output pins. De første to ben er indgangsstiftene til at læse IR-sensoren. De næste fire er outputstifterne, hvoraf de første to bruges til at styre den højre motor og de næste to til den venstre motor.
IO.setup (2, IO.IN) #GPIO 2 -> Venstre IR ude IO.setup (3, IO.IN) #GPIO 3 -> Højre IR ud IO.setup (4, IO.OUT) #GPIO 4 - > Motor 1 klemme A IO.opsætning (14, IO.OUT) #GPIO 14 -> Motor 1 klemme B IO.opsætning (17, IO.OUT) #GPIO 17 -> Motor Venstre klemme A IO. Opsætning (18, IO.OUT) #GPIO 18 -> Motor venstre terminal B
IR-sensoren udsender "True", hvis den er over en hvid overflade. Så længe begge sensorer siger Sandt, kan vi bevæge os fremad.
hvis (IO.input (2) == True og IO.input (3) == True): #både hvid bevæger sig frem IO.output (4, True) # 1A + IO.output (14, Falsk) # 1B- IO.output (17, True) # 2A + IO.output (18, False) # 2B-
Vi er nødt til at dreje til højre, hvis den første IR-sensor kommer over en sort linje. Dette gøres ved at læse IR-sensoren, og hvis betingelsen er opfyldt, stopper vi den højre motor og roterer venstre motor alene som vist i koden nedenfor
elif (IO.input (2) == False og IO.input (3) == True): # drej til højre IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, sandt) # 2A + IO. Output (18, falsk) # 2B-
Vi er nødt til at dreje til venstre, hvis den anden IR-sensor kommer over en sort linje. Dette gøres ved at læse IR-sensoren, og hvis tilstanden er tilfreds, stopper vi venstre motor og roterer højre motor alene som vist i koden nedenfor
elif (IO.input (2) == True og IO.input (3) == False): # drej venstre IO.output (4, True) # 1A + IO.output (14, Falsk) # 1B- IO.output (17, sandt) # 2A + IO. Output (18, sandt) # 2B-
Hvis begge sensorer kommer over en sort linje, betyder det, at robotten skal stoppe. Dette kan gøres ved at gøre begge terminaler på motoren til at være sande som vist på koden nedenfor
andet: # forbliver stadig 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 aktion:
Upload pythonkoden til linjefølger til din Raspberry Pi, og kør den. Vi har brug for en bærbar strømforsyning, en strømbank i dette tilfælde bliver praktisk, derfor har jeg brugt det samme. Den, jeg bruger, leveres med to USB-porte, så jeg har brugt strøm til PI og anden til Power Motor Driver som vist på billedet nedenfor.
Nu er alt hvad du skal gøre, at oprette dit eget sort farvespor og frigive din bot over det. Jeg har brugt en sort farve Isoleringstape til at skabe det spor, du kan bruge ethvert sortfarvet materiale, men sørg for, at din grundfarve ikke er mørk.
Den komplette bearbejdning af bot kan findes i videoen nedenfor. Håber du forstod projektet og nød at bygge et. Hvis du har spørgsmål, kan du sende dem i kommentarfeltet nedenfor.