# Control de dirección y velocidad
# de dos motores conectados al L298N
from machine import Pin, PWM
from time import sleep
# Pines de control para el motor 1
IN1 = Pin(15, Pin.OUT)
IN2 = Pin(14, Pin.OUT)
ENA = PWM(Pin(10))
# Pines de control para el motor 2
IN3 = Pin(13, Pin.OUT)
IN4 = Pin(12, Pin.OUT)
ENB = PWM(Pin(11))
# Configura la frecuencia de PWM
ENA.freq(1000)
ENB.freq(1000)
def motor1_forward(speed):
IN1.high()
IN2.low()
ENA.duty_u16(int(speed * 65535))
def motor1_backward(speed):
IN1.low()
IN2.high()
ENA.duty_u16(int(speed * 65535))
def motor2_forward(speed):
IN3.high()
IN4.low()
ENB.duty_u16(int(speed * 65535))
def motor2_backward(speed):
IN3.low()
IN4.high()
ENB.duty_u16(int(speed * 65535))
# Ejemplo de uso
while True:
motor1_forward(0.5) # Motor 1 hacia adelante con 50% de velocidad
motor2_backward(0.7) # Motor 2 hacia atrás con 70% de velocidad
sleep(2)
motor1_backward(0.8) # Motor 1 hacia atrás con 80% de velocidad
motor2_forward(0.6) # Motor 2 hacia adelante con 60% de velocidad
sleep(2)