# Import necessary libraries
import network
import socket
import machine
import utime
# Set up Wi-Fi connection
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('Wokwi-GUEST', '')
# Wait for the connection to be established
while not wlan.isconnected():
utime.sleep(0.5)
print("Connecting to Wi-Fi...")
print("Connected to Wi-Fi")
# Set up socket for receiving data
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 8000))
s.listen(1)
# Set up stepper motor
stepper = machine.Pin(15, machine.Pin.OUT) # Replace 15 with the appropriate GPIO pin number
DELAY = 0.01 # Delay between steps (adjust as needed)
# Function to move the stepper motor by a given angle
def move_stepper(angle):
steps = int(angle * 200 / 360) # Assuming 200 steps per revolution
for i in range(steps):
stepper.value(1)
utime.sleep(DELAY)
stepper.value(0)
utime.sleep(DELAY)
while True:
conn, addr = s.accept()
print('Got connection from', addr)
data = conn.recv(1024)
if data:
angle = float(data.decode())
print(f"Received angle: {angle}")
move_stepper(angle)
conn.close()