from machine import Pin
from time import sleep, sleep_us
import network
from umqtt.simple import MQTTClient
#Direccion y pasos
dir_pin= Pin(14, Pin.OUT)
step_pin= Pin(12, Pin.OUT)
def conectar_wifi():
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
sleep(0.1)
print("Conectado.")
def mensaje_recibido(topico, mensaje):
print(mensaje)
angulo = int(mensaje)
motor.move(angulo)
def subscribir_broker():
cliente = MQTTClient("", "broker.emqx.io")
cliente.set_callback(mensaje_recibido)
cliente.connect()
cliente.subscribe("utng/lmrr/pasos")
print("MQTT Conectado")
return cliente
conectar_wifi()
cliente = subscribir_broker()
def mover(direc, pasos, espera, accel):
dir_pin.value(direc)
pasos= abs(pasos)
for i in range(pasos):
step_pin.value(1)
sleep_us(espera)
step_pin.value(0)
sleep_us(espera)
def detener():
step_pin.value(0)
while True:
cliente.wait_msg()
mover(1, 200, 2000,5)
sleep(1)
mover(0, 200, 2000,5)
sleep(1)