.. note:: 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 [|link_sf_facebook|] y únete hoy mismo. .. _ar_motor: 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 ------------------------- .. image:: img/list_2.13.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_l293d` * :ref:`cpn_motor` * :ref:`cpn_power_module` 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. .. image:: img/image141.png Diagrama esquemático ---------------------- .. image:: img/image459.png Código -------- .. note:: * 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. .. raw:: html 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. .. code-block:: arduino 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. .. code-block:: arduino 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 ---------------------- .. image:: img/image143.jpeg