import machine
import utime, time
# Declaración de pines PULL, DIR, ENABLE
#Pul_positivo = machine.Pin(11, machine.Pin.OUT)
Dir_positivo = machine.Pin(11, machine.Pin.OUT)
Enbl_positivo = machine.Pin(12, machine.Pin.OUT)
gradosxsteps = 1.8
ciclo = True
ciclo2 = True
while ciclo:
print("¿Qué configuración de Microsteps utilizará? (400, 800, 1600, etc...)")
Microsteps = int(input(""))
print(Microsteps)
print("¿Que sentido de rotación prefiere?(1 ó 2)")
print("1. CW")
print("2. CCW")
Sentido = input("")
if Sentido == "1":
Dir_positivo.value(1)
time.sleep(0.01)
Enbl_positivo.value(1)
if Sentido == "2":
Dir_positivo.value(0)
time.sleep(0.01)
Enbl_positivo.value(1)
print("¿Que velocidad desea? (RPM)")
Rpm = int(input(""))
print("¿Que tipo de desplazamiento requiere?(1 ó 2)")
print("1. Desplazamineto angular")
print("2. Vueltas")
Tipo_despl = input("")
if Tipo_despl == "1":
print("¿Cuántos grados desea desplazar?")
Num_grados = int(input(""))
print("Presione (1 o 2)","\n1. Comenzar","\n2. Reconfigurar")
inicio = input("")
if inicio == "2":
ciclo = False
if inicio == "1":
Num_gradosxpulso = (gradosxsteps)/(Microsteps/200)
Num_pulsos = Num_grados / Num_gradosxpulso
W = Rpm * 0.104719755
Hz = round(W / 2*3.14159)
cont = 0
Pul_positivo = machine.PWM(machine.Pin(10))
Pul_positivo.freq(100000)
while ciclo2:
Pul_positivo.duty_u16(32768)
cont = cont + 1
utime.sleep(1/Hz)
Pul_positivo.duty_u16(0)
utime.sleep(1/Hz)
if cont == Num_pulsos:
ciclo2 = False
Pul_positivo.duty_u16(0)
Dir_positivo.value(0)
Enbl_positivo.value(0)
print("\n\tPulsos generados:", Num_pulsos, "\n\tNumero de grados por pulso:", Num_gradosxpulso,"\n\tFrecuencia de señal:", Hz, "Hz\n", "\tTiempo de Desplazamineto:",Tiempo_despl,"\n\n")
print("Desea Coninuar", "\n1. Si","\n2. No")
continuar = input("")
if continuar == "1":
ciclo = True
if continuar == "2":
ciclo = False
if Tipo_despl == "2":
print("¿Cuántas vueltas desea desplazar?")
Num_vueltas = int(input(""))
print("Presione (1 o 2)","\n1. Comenzar","\n2. Reconfigurar")
inicio = input("")
if inicio == "2":
ciclo = True
if inicio == "1":
cont = 0
Num_gradosxpulso = (gradosxsteps)/(Microsteps/200)
Num_pulsos = Num_grados / Num_gradosxpulso
W = Rpm * 0.104719755 * Num_vueltas
Hz = round(W / 2*3.14159)
Pul_positivo = machine.PWM(machine.Pin(10))
Pul_positivo.freq(100000)
while ciclo2:
Pul_positivo.duty_u16(32768)
cont = cont + 1
utime.sleep(1/Hz)
Pul_positivo.duty_u16(0)
utime.sleep(1/Hz)
if cont == Num_pulsos:
ciclo2 = False
Pul_positivo.duty_u16(0)
Dir_positivo.value(0)
Enbl_positivo.value(0)
print("\n\tPulsos generados:", Num_pulsos, "\n\tNumero de grados por pulso:", Num_gradosxpulso,"\n\tFrecuencia de señal:", Hz, "Hz\n", "\tTiempo de Desplazamineto:",Tiempo_despl,"\n\n")
print("Desea Coninuar", "\n1. Si","\n2. No")
continuar = input("")
if continuar == "1":
ciclo = True
if continuar == "2":
ciclo = False
1Y1
2Y1
2Y2