- Vereiste materialen:
- Concepten van lijnvolger
- Raspberry Pi Line Follower Robot Circuit Diagram en uitleg:
- Programmering van uw Raspberry PI:
- Raspberry Pi Line Follower in actie:
Zoals we allemaal weten, is Raspberry Pi een prachtig ontwikkelplatform op basis van een ARM-microprocessor. Met zijn hoge rekenkracht en ontwikkelingsmogelijkheden kan hij wonderen verrichten in handen van elektronicahobbyisten of studenten. Laten we voor meer informatie over een Raspberry Pi en hoe deze werkt, proberen een Line Follower Robot te bouwen met Raspberry Pi.
Als je geïnteresseerd bent in robotica, dan zou je de naam " Line Follower Robot " goed moeten kennen. Deze robot is in staat om een lijn te volgen, alleen door een paar sensoren en motoren te gebruiken. Het klinkt misschien niet efficiënt om een krachtige microprocessor zoals Raspberry Pi te gebruiken om een eenvoudige robot te bouwen. Maar deze robot geeft je ruimte voor oneindig veel ontwikkeling en robots als Kiva (Amazon magazijnrobot) zijn daar een voorbeeld van. Je kunt ook onze andere Line Follower Robots bekijken:
- Lijnvolgerrobot met 8051 Microcontroller
- Line Follower Robot met Arduino
Vereiste materialen:
- Raspberry Pi 3 (elk model zou moeten werken)
- IR-sensor (2Nos)
- DC-reductiemotor (2Nos)
- L293D-motorstuurprogramma
- Chaises (je kunt er ook zelf een bouwen met karton)
- Powerbank (elke beschikbare voedingsbron)
Concepten van lijnvolger
Line Follower Robot kan een lijn volgen met behulp van een IR-sensor. Deze sensor heeft een IR-zender en IR-ontvanger. De IR-zender (IR-led) zendt het licht uit en de ontvanger (fotodiode) wacht tot het uitgezonden licht terugkeert. Een IR-licht keert alleen terug als het wordt gereflecteerd door een oppervlak. Terwijl alle oppervlakken geen IR-licht reflecteren, kan alleen wit het gekleurde oppervlak ze volledig reflecteren en zal het zwarte kleuroppervlak ze volledig waarnemen, zoals weergegeven in de onderstaande afbeelding. Lees hier meer over de IR-sensormodule.
Nu zullen we twee IR-sensoren gebruiken om te controleren of de robot in het spoor is met de lijn en twee motoren om de robot te corrigeren als deze uit de baan beweegt. Deze motoren vereisen een hoge stroomsterkte en moeten bidirectioneel zijn; daarom gebruiken we een motor driver module zoals L293D. We hebben ook een rekenapparaat zoals Raspberry Pi nodig om de motoren te instrueren op basis van de waarden van de IR-sensor. Een vereenvoudigd blokschema hiervan wordt hieronder getoond.
Deze twee IR-sensoren worden aan weerszijden van de lijn geplaatst. Als geen van de sensoren een zwarte lijn detecteert, instrueert de PI de motoren om vooruit te gaan, zoals hieronder wordt weergegeven
Als de linkersensor op een zwarte lijn komt, instrueert de PI de robot om naar links te draaien door alleen het rechterwiel te draaien.
Als de rechtersensor op een zwarte lijn komt, instrueert de PI de robot om naar rechts te draaien door alleen het linkerwiel te draaien.
Als beide sensoren op een zwarte lijn komen, stopt de robot.
Op deze manier kan de robot de lijn volgen zonder buiten de baan te komen. Laten we nu eens kijken hoe het circuit en de code eruit zien.
Raspberry Pi Line Follower Robot Circuit Diagram en uitleg:
Het complete schakelschema voor deze Raspberry Pi Line Follower Robot wordt hieronder weergegeven
Zoals je kunt zien, omvat het circuit twee IR-sensoren en een paar motoren die zijn aangesloten op de Raspberry pi. Het volledige circuit wordt gevoed door een mobiele powerbank (weergegeven door een AAA-batterij in het bovenstaande circuit).
Omdat de details van de pinnen niet op de Raspberry Pi worden vermeld, moeten we de pinnen verifiëren met behulp van de onderstaande afbeelding
Zoals op de afbeelding te zien is, is de pin in de linkerbovenhoek van de PI de + 5V-pin, we gebruiken deze + 5V-pin om de IR-sensoren van stroom te voorzien zoals weergegeven in het schakelschema (rood bedraad). Vervolgens verbinden we de grondpennen met de aarde van de IR-sensor en Motor Driver-module met behulp van zwarte draad. De gele draad wordt gebruikt om de outputpin van de sensor 1 en 2 te verbinden met respectievelijk de GPIO-pinnen en 3.
Om de motoren aan te drijven, hebben we vier pinnen nodig (A, B, A, B). Deze vier pinnen zijn verbonden vanaf respectievelijk GPIO14,4,17 en 18. De oranje en witte draad vormen samen de verbinding voor één motor. We hebben dus twee van dergelijke paren voor twee motoren.
De motoren zijn aangesloten op de L293D Motor Driver- module zoals weergegeven in de afbeelding en de driver-module wordt gevoed door een powerbank. Zorg ervoor dat de aarde van de powerbank is verbonden met de aarde van de Raspberry Pi, alleen dan werkt je verbinding.
Programmering van uw Raspberry PI:
Als u klaar bent met uw montage en aansluitingen, zou uw robot er ongeveer zo uit moeten zien.
Het is een feit dat u zich geen zorgen hoeft te maken.Nu is het tijd om onze bot te programmeren en aan de gang te krijgen. De volledige code voor deze bot vind je onderaan deze tutorial. Lees hier meer over Programmeer en voer code in Raspberry Pi uit. De belangrijke regels worden hieronder uitgelegd
We gaan het GPIO-bestand uit de bibliotheek importeren, met onderstaande functie kunnen we GPIO-pinnen van PI programmeren. We hernoemen ook "GPIO" naar "IO", dus in het programma zullen we telkens wanneer we naar GPIO-pinnen willen verwijzen het woord 'IO' gebruiken.
importeer RPi.GPIO als IO
Soms, wanneer de GPIO-pinnen, die we proberen te gebruiken, andere functies uitvoeren. In dat geval zullen we waarschuwingen ontvangen tijdens het uitvoeren van het programma. Onderstaand commando vertelt de PI om de waarschuwingen te negeren en door te gaan met het programma.
IO.setwarnings (False)
We kunnen de GPIO-pinnen van PI verwijzen, hetzij op pincode aan boord, hetzij op functienummer. Net als 'PIN 29' op het bord is 'GPIO5'. Dus we vertellen hier dat we de pin hier met '29' of '5' gaan weergeven.
IO.setmode (IO.BCM)
We stellen 6 pinnen in als input / output pinnen. De eerste twee pinnen zijn de invoerpinnen om de IR-sensor te lezen. De volgende vier zijn de uitgangspennen waarvan de eerste twee worden gebruikt om de rechtermotor aan te sturen en de volgende twee voor de linkermotor.
IO.setup (2, IO.IN) #GPIO 2 -> Linker IR uit IO.setup (3, IO.IN) #GPIO 3 -> Rechter IR uit IO.setup (4, IO.OUT) #GPIO 4 - > Motor 1 klem A IO.setup (14, IO.OUT) #GPIO 14 -> Motor 1 klem B IO.setup (17, IO.OUT) #GPIO 17 -> Motor Linker klem A IO.setup (18, IO.OUT) #GPIO 18 -> Motor Linker aansluiting B
De IR-sensor geeft "Waar" weer als deze zich boven een wit oppervlak bevindt. Dus zolang beide sensoren True zeggen, kunnen we vooruit.
if (IO.input (2) == True en IO.input (3) == True): #bide wit gaan vooruit IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO. output (18, False) # 2B-
We moeten een bocht naar rechts maken als de eerste IR-sensor over een zwarte lijn komt. Dit wordt gedaan door de IR-sensor te lezen en als aan de voorwaarde is voldaan, stoppen we de rechtermotor en draaien alleen de linkermotor zoals weergegeven in de onderstaande code
elif (IO.input (2) == False en IO.input (3) == True): # draai rechts IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, waar) # 2A + IO. Uitgang (18, niet waar) # 2B-
We moeten linksaf slaan als de tweede IR-sensor over een zwarte lijn komt. Dit wordt gedaan door de IR-sensor te lezen en als aan de voorwaarde is voldaan, stoppen we de linkermotor en draaien alleen de rechtermotor zoals weergegeven in de onderstaande code
elif (IO.input (2) == True en IO.input (3) == False): #turn left IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO. Uitgang (18, True) # 2B-
Als beide sensoren over een zwarte lijn komen, betekent dit dat de robot moet stoppen. Dit kan worden gedaan door beide klemmen van de motor waar te maken, zoals weergegeven in de onderstaande code
anders: #stay still IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True) # 2B-
Raspberry Pi Line Follower in actie:
Upload de python-code voor lijnvolger naar je Raspberry Pi en voer het uit. We hebben een draagbare voeding nodig, een powerbank wordt in dit geval handig, dus ik heb dezelfde gebruikt. Degene die ik gebruik, wordt geleverd met twee USB-poorten, dus ik heb de PI en andere gebruikt om de Power Motor Driver van stroom te voorzien, zoals weergegeven in de onderstaande afbeelding.
Nu hoef je alleen nog maar je eigen zwarte kleurenspoor op te zetten en je bot erover los te laten. Ik heb een zwarte kleur isolatietape gebruikt om de baan te maken, je kunt elk zwart kleurmateriaal gebruiken, maar zorg ervoor dat je grondkleur niet donker is.
De volledige werking van de bot is te vinden in de onderstaande video. Ik hoop dat je het project hebt begrepen en het leuk vond om er een te bouwen. Als u vragen heeft, kunt u deze in het commentaargedeelte hieronder plaatsen.