البرمجة
افتح نافذة SSH الخاصة بالراسبيري باي ثم اكتب الأمر التالي لفتح ملف نصي جديد باسم stepper:
$nano stepper.py
انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y لحفظ الملف:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
enable_pin = 18
coil_A_1_pin = 4
coil_A_2_pin = 17
coil_B_1_pin = 23
coil_B_2_pin = 24
GPIO.setup(enable_pin, GPIO.OUT)
GPIO.setup(coil_A_1_pin, GPIO.OUT)
GPIO.setup(coil_A_2_pin, GPIO.OUT)
GPIO.setup(coil_B_1_pin, GPIO.OUT)
GPIO.setup(coil_B_2_pin, GPIO.OUT)
GPIO.output(enable_pin, 1)
def setStep(w1, w2, w3, w4):
GPIO.output(coil_A_1_pin, w1)
GPIO.output(coil_A_2_pin, w2)
GPIO.output(coil_B_1_pin, w3)
GPIO.output(coil_B_2_pin, w4)
try:
while True:
#forward
for i in range(512):
setStep(1, 0, 1, 0)
time.sleep(0.05)
setStep(0, 1, 1, 0)
time.sleep(0.05)
setStep(0, 1, 0, 1)
time.sleep(0.05)
setStep(1, 0, 0, 1)
time.sleep(0.05)
time.sleep(1)
#backwards
for i in range(512):
setStep(1, 0, 0, 1)
time.sleep(0.05)
setStep(0, 1, 0, 1)
time.sleep(0.05)
setStep(0, 1, 1, 0)
time.sleep(0.05)
setStep(1, 0, 1, 0)
time.sleep(0.05)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:
sudo python stepper.py
شرح البرمجة
في البداية نقوم باستدعاء المكتبات المطلوبة و هي مكتبة (GPIO) و مكتبة الوقت
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM)
نعرف المنافذ التي تم توصيل المحرك معها
enable_pin = 18 coil_A_1_pin = 4 coil_A_2_pin = 17 coil_B_1_pin = 23 coil_B_2_pin = 24 GPIO.setup(enable_pin, GPIO.OUT) GPIO.setup(coil_A_1_pin, GPIO.OUT) GPIO.setup(coil_A_2_pin, GPIO.OUT) GPIO.setup(coil_B_1_pin, GPIO.OUT) GPIO.setup(coil_B_2_pin, GPIO.OUT) GPIO.output(enable_pin, 1)
نعرف دالة لتشغيل المنافذ
def setStep(w1, w2, w3, w4):
GPIO.output(coil_A_1_pin, w1)
GPIO.output(coil_A_2_pin, w2)
GPIO.output(coil_B_1_pin, w3)
GPIO.output(coil_B_2_pin, w4)
نعطي أمر ليتحرك في إتجاهان مع عقارب الساعة و عكس عقارب الساعة

