Stap 5: Stap 4: GPIO en Python
We hebben nu onze motoren aangesloten en het is tijd om controle over hen. We zullen dit doen met behulp van Python scripts. We zullen vier verschillende scripts, één voor elke richting maken.
- Voorwaarts – toekomen beide motoren – Pin 17 hoog, Pin 18 laag, Pin hoog 23, Pin 25 lage
- Achterwaarts – beide motoren achteruit - Pin 17 lage Pin 18 hoog, Pin 23 lage, Pin 25 hoog
- Rechtsaf-Motor een voorwaartse en Motor B achteruit - Pin 17 hoge, Pin 18 lage, Pin 23 laag, Pin 25 hoog
- Linksaf-Motor A achteruit en Motor B doorsturen - Pin 17 lage Pin 18 hoog, Pin 23 hoge, Pin 25 lage
Om te beginnen dat we beginnen met het installeren van de Python ontwikkeling toolkit en GPIO bibliotheken voor Raspberry Pi;
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
Nu zijn we klaar om onze scripts te schrijven.
Crete eerstgenoemde men, met de naam forward.py, met deze opdracht;
sudo nano forward.py
En plak de volgende code;
import RPi.GPIO as GPIOimport timedef main(): print "executing script" # tell the GPIO module that we want # to use the chip's pin numbering scheme GPIO.setmode(GPIO.BCM) # setup pin 17 as an output GPIO.setup(17,GPIO.OUT) GPIO.setup(24,GPIO.OUT) # turn pin on GPIO.output(17,True) GPIO.output(24,True) # sleep for 0,2 seconds time.sleep(0.2) # turn the pin off GPIO.output(17,False) GPIO.output(24,False) GPIO.cleanup()if __name__=="__main__": main()
Test het met;
sudo python forward.py
Nu we hetzelfde doen voor de
andere 3 scripts;
backwards.py:
import RPi.GPIO as GPIOimport timedef main(): print "executing script" # tell the GPIO module that we want # to use the chip's pin numbering scheme GPIO.setmode(GPIO.BCM) # setup pin 17 as an output GPIO.setup(18,GPIO.OUT) GPIO.setup(23,GPIO.OUT) # turn pin on GPIO.output(18,True) GPIO.output(23,True) # sleep for 0,2 seconds time.sleep(0.2) # turn the pin off GPIO.output(18,False) GPIO.output(23,False) GPIO.cleanup()if __name__=="__main__": main()
Left.py:
import RPi.GPIO as GPIOimport timedef main(): print "executing script" # tell the GPIO module that we want # to use the chip's pin numbering scheme GPIO.setmode(GPIO.BCM) # setup pin 17 as an output GPIO.setup(18,GPIO.OUT) GPIO.setup(24,GPIO.OUT) # turn pin on GPIO.output(18,True) GPIO.output(24,True) # sleep for 0,2 seconds time.sleep(0.2) # turn the pin off GPIO.output(18,False) GPIO.output(24,False) GPIO.cleanup()if __name__=="__main__": main()
right.py:
import RPi.GPIO as GPIOimport timedef main(): print "executing script" # tell the GPIO module that we want # to use the chip's pin numbering scheme GPIO.setmode(GPIO.BCM) # setup pin 17 as an output GPIO.setup(17,GPIO.OUT) GPIO.setup(23,GPIO.OUT) # turn pin on GPIO.output(17,True) GPIO.output(23,True) # sleep for 0,2 seconds time.sleep(0.2) # turn the pin off GPIO.output(17,False) GPIO.output(23,False) GPIO.cleanup()if __name__=="__main__": main()
Perfect! Nu kunnen we de controle van onze motoren met onze vier python scripts!