Nota

Hola, ¡bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza tus conocimientos sobre Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.

¿Por qué unirse?

  • Soporte experto: Resuelve problemas postventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.

  • Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Avances exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones festivas y sorteos: Participa en sorteos y promociones especiales de temporada.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.

2.13 Motor

Resumen

En esta lección, aprenderás a utilizar un motor, cuyo principio de funcionamiento se basa en que la bobina energizada es forzada a girar en un campo magnético, lo que hace que el rotor del motor gire. Este movimiento se transfiere a través de un engranaje impulsor al volante del motor.

Componentes necesarios

../_images/list_2.13.png

Circuito Fritzing

En este ejemplo, usamos un Módulo de Fuente de Alimentación para proporcionar energía al ánodo y cátodo de la placa. El GND de la placa Mega 2560 está conectado al cátodo.

../_images/image141.png

Diagrama esquemático

../_images/image459.png

Código

Nota

  • Puedes abrir el archivo 2.13_motor.ino en la ruta sunfounder_vincent_kit_for_arduino\code\2.13_motor directamente.

  • O copiar este código en el IDE de Arduino.

Al cargar el código en la placa Mega2560, puedes seleccionar la dirección de giro del motor escribiendo 「A」 o 「B」 en el monitor serial.

Análisis del código

El motor puede ser accionado proporcionando una diferencia de voltaje entre las chapas de cobre en ambos lados del motor. Solo necesitas asignar 0 voltios a un lado y 5V al otro. Modifica el valor de la señal analógica para ajustar la dirección y velocidad.

void clockwise(int Speed)
{
analogWrite(motor1A,0);
analogWrite(motor2A,Speed);
}

void anticlockwise(int Speed)
{
analogWrite(motor1A,Speed);
analogWrite(motor2A,0);
}

En este ejemplo, Serial.Read() se utiliza para controlar la dirección del motor.

Al escribir “A” en el monitor serial, se llama a la función clockwise(255) para que el motor gire a una velocidad de 255. Si ingresas “B”, el motor girará en sentido inverso.

void loop() {
if (Serial.available() > 0) {
    int incomingByte = Serial.read();
    switch(incomingByte){
    case 'A':
        clockwise(255);
        Serial.println("The motor rotate clockwise.");
        break;
    case 'B':
        anticlockwise(255);
        Serial.println("The motor rotate anticlockwise.");
        break;
    }
}
delay(3000);
stopMotor();
}

Imagen del fenómeno

../_images/image143.jpeg