from machine import Pin
import time
Pir_sensor = Pin(14 , Pin.IN)
step = Pin(17 , Pin.OUT , value = 0)
Dir = Pin(16 , Pin.OUT , value = 0) #sens de rotation
ms1 = Pin(19 , Pin.OUT , value = 0)
ms2 = Pin(18 , Pin.OUT , value = 0)
ms3 = Pin(5 , Pin.OUT , value = 0)
ena = Pin(4 , Pin.OUT , value = 0)
def rotate(DIR , steps , speed , mode , t):
if mode == 1 :# full step
ena.off()
ms1.off()
ms2.off()
ms3.off()
elif mode == 2 : #half step :
ena.off()
ms1.on()
ms2.off()
ms3.off()
elif mode == 3 : # step / 4
ena.off()
ms1.off()
ms2.on()
ms3.off()
elif mode == 4:# step / 8
ena.off()
ms1.on()
ms2.on()
ms3.off()
elif mode == 5 :# step / 16
ena.off()
ms1.on()
ms2.on()
ms3.on()
else :
ena.on()
print('thabet mli7 fil mode ')
Dir.value(DIR)# sens 1 or 0
for i in range(1 , steps+1):
step.on()
time.sleep_ms(50 - speed)
step.off()
time.sleep_ms(50 - speed)
time.sleep(t)
while 1 :
reading = Pir_sensor.value()
if reading == 1 :
rotate(1 , 200 , 20 , 1 , 4)
rotate(0 , 200 , 50 , 1 , 4)
else :
rotate(0 , 0 , 0 , 7 , 0)#stop