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
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.
Diagrama esquemático
Código
Nota
Puedes abrir el archivo
2.13_motor.inoen la rutasunfounder_vincent_kit_for_arduino\code\2.13_motordirectamente.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