مثال عملي
أولا التوصيل:
سنتبع التوصيل كما في الصورة التالية:
للتوضيح:
السلك الأصفر متصل مع الرجل رقم (GPIO 18)
والسلك الأسود من البطارية متصل مع السلك الأسود من المحرك ومع السلك الأزرق الذي بدوره متصل مع الرجل GND
والسلك الأحمر من البطارية متصل مع السلك الأحمر من المحرك
وبالتالي يكون التوصيل النهائي مشابه للصورة التالية:
ثانيًا الكود البرمجي:
البرنامج التالي سيتحكم بالمحرك من خلال تحريكه للزاوية 90 درجة وينتظر ثانية واحدة ، ثم يحركه إلى الزاوية 0 درجة وينتظر ثانية واحدة ، وفي الأخير يحركه إلى الزاوية 180 درجة ، ثم يستمر بتكرار نفس الخطوات حتى تتم مقاطعته.
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(18, GPIO.OUT) p = GPIO.PWM(18, 50) p.start(7.5) try: while True: p.ChangeDutyCycle(7.5) # turn towards 90 degree time.sleep(1) # sleep 1 second p.ChangeDutyCycle(2.5) # turn towards 0 degree time.sleep(1) # sleep 1 second p.ChangeDutyCycle(12.5) # turn towards 180 degree time.sleep(1) # sleep 1 second except KeyboardInterrupt: p.stop() GPIO.cleanup()
ملاحظة: dc تم حسابها كالتالي:
dc= (0.5/20) ×100= 2.5%
dc= (1.5/20) ×100= 7.5%
dc= (2.5/20) ×100= 12.5%