##Declaración de librerías ##
from machine import Pin #Librería machine, manejo de GPIO por Pin
import time #Librería time, para temporización
## Configuración de puertos GPIO ##
pinEnabled = Pin(13, Pin.OUT,value=0)#Enabled GPIO13 como salida y valor inicial 0
pinStep = Pin(15, Pin.OUT) #Step GPIO15 como salida
pinDireccion = Pin(14, Pin.OUT, value=1)#Direccion GPIO14 como salida
boton_direccion = Pin(18, machine.Pin.IN,machine.Pin.PULL_DOWN)
boton_velocidad = Pin(17, machine.Pin.IN,machine.Pin.PULL_DOWN)
boton_pasos = Pin(16, machine.Pin.IN,machine.Pin.PULL_DOWN) #Pin.IN, Pin.PULL_UP
#pinEnabled.on() #Habilitamos el Enabled del TB6600
#stepPerRevolution = 200 #200 pasos por revolución (1.8° por paso)
velocidad = (5, 10, 30, 100, 500) #retraso entre paso
bandera = 1 #Bandera para cambio de dirección de giro
contador_velocidad = 0
## Programa principal, coclo infinito por medio del While True ##
while True:
if boton_direccion.value() == 1 and bandera == 0: #si bandera es igual a 0, entonces...
time.sleep_ms(100) #Anti-rebote
print('Sentido a favor de manecillas') #imprime en pantalla
pinDireccion.on() #Direccion a favor de las manecillas
bandera = 1 #Cambio a bandera = 1
elif boton_direccion.value() == 1 and bandera == 1: #si la bandera es igual a 1, entonces...
time.sleep_ms(100) #Anti-rebote
print('Sentido en contra de manecillas') #imprime en pantalla
PinDireccion.off() #Dirección en contra de las manecillas
bandera = 0 #Cambio a bandera = 0
if boton_velocidad.value() == 1:
time.sleep_ms(100)
while boton_velocidad.value() == 1: #esperar hasta soltar el boton
pass
time.sleep_ms(100)
contador_velocidad += 1
time.sleep_ms(100)
D= "Cambio de velocidad = "+ str(velocidad[contador_velocidad]) #Arreglo a presentar
print(D)
if contador_velocidad > 4:
contador_velocidasd = 0
if boton_pasos.value() == 1:
pinStep.on() #Estado alto a Step
time.sleep_ms(100)
#time.sleep_ms(velocidad[contador_velocidad]) #demora en ms
pinStep.off() #Estado bajo a Step
time.sleep_ms(100)
#time.sleep_ms(velocidad[contador__velocidad]) #Demora en ms