RaspRob, hallon roboten (5 / 7 steg)
Steg 5: Steg 4: GPIO och Python
Nu har vi våra motorer ansluten och det är dags att få kontroll över dem. Vi kommer att göra med Python skript. Vi kommer att skapa fyra olika skript, en för varje riktning.
- Framåt – framåt båda motorer – Pin 17 hög, Pin 18 låg, Pin 23 hög, Pin 25 låg
- Bakåt – båda motorer bakåt - Pin 17 låg, Pin 18 höga, Pin 23 låg, Pin 25 hög
- Sväng höger-Motor A framåt och Motor B baklänges - Pin 17 hög, Pin 18 låg, Pin 23 låg, Pin 25 hög
- Sväng vänster – Motor A bakåt och Motor B framlänges - Pin 17 låg, Pin 18 höga, Pin 23 hög, Pin 25 låg
För att komma igång börjar vi med att installera Python utveckling toolkit och GPIO bibliotek för Raspberry Pi;
sudo lämplig-få installera python-dev
sudo lämplig-få installera python-rpi.gpio
Nu är vi redo att skriva våra skript.
Crete den första en, vid namn forward.py, med det här kommandot;
sudo nano forward.py
Och klistra in följande kod;
importera RPi.GPIO som GPIO
Importera tid
def main ():
skriva ut "verkställande script"
# berätta GPIO modulen som vi vill
# att använda chip's pin adressnumreringen
GPIO.setmode (GPIO. BCM)
# setup pin 17 som en utgång
GPIO.setup (17, GPIO. OUT)
GPIO.setup (24, GPIO. OUT)
# slå pin på
GPIO.output(17,True)
GPIO.output(24,True)
# sömn i 0,2 sekunder
Time.Sleep(0.2)
# Inaktivera PIN-koden
GPIO.output(17,False)
GPIO.output(24,False)
GPIO.cleanup()
om __name__ == "__main__":
Main)
Testa det med;
sudo python forward.py
Nu vi göra samma sak den
andra 3-skript.
Backwards.py:
importera RPi.GPIO som GPIO
Importera tid
def main ():
skriva ut "verkställande script"
# berätta GPIO modulen som vi vill
# att använda chip's pin adressnumreringen
GPIO.setmode (GPIO. BCM)
# setup pin 17 som en utgång
GPIO.setup (18, GPIO. OUT)
GPIO.setup (23, GPIO. OUT)
# slå pin på
GPIO.output(18,True)
GPIO.output(23,True)
# sömn i 0,2 sekunder
Time.Sleep(0.2)
# Inaktivera PIN-koden
GPIO.output(18,False)
GPIO.output(23,False)
GPIO.cleanup()
om __name__ == "__main__":
Main)
Left.py:
importera RPi.GPIO som GPIO
Importera tid
def main ():
skriva ut "verkställande script"
# berätta GPIO modulen som vi vill
# att använda chip's pin adressnumreringen
GPIO.setmode (GPIO. BCM)
# setup pin 17 som en utgång
GPIO.setup (18, GPIO. OUT)
GPIO.setup (24, GPIO. OUT)
# slå pin på
GPIO.output(18,True)
GPIO.output(24,True)
# sömn i 0,2 sekunder
Time.Sleep(0.2)
# Inaktivera PIN-koden
GPIO.output(18,False)
GPIO.output(24,False)
GPIO.cleanup()
om __name__ == "__main__":
Main)
Right.py:
importera RPi.GPIO som GPIO
Importera tid
def main ():
skriva ut "verkställande script"
# berätta GPIO modulen som vi vill
# att använda chip's pin adressnumreringen
GPIO.setmode (GPIO. BCM)
# setup pin 17 som en utgång
GPIO.setup (17, GPIO. OUT)
GPIO.setup (23, GPIO. OUT)
# slå pin på
GPIO.output(17,True)
GPIO.output(23,True)
# sömn i 0,2 sekunder
Time.Sleep(0.2)
# Inaktivera PIN-koden
GPIO.output(17,False)
GPIO.output(23,False)
GPIO.cleanup()
om __name__ == "__main__":
Main)
Perfekta! Nu kan vi styra våra motorer med våra fyra python skript!