Barco Arduino con mando a distancia por infrarrojos

Consideremos un proyecto bastante sencillo en Arduino Nano: un barco con control por infrarrojos. Para montar el proyecto necesitaremos dos motores de corriente continua, que serán controlados desde el microcontrolador a través de transistores de efecto de campo. También para controlar el barco basado en la placa Arduino necesitaremos un mando a distancia y un receptor de señal por infrarrojos o módulo ky-022 Arduino.



Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • 2 transistores mosfet
  • 2 motores de corriente continua
  • receptor IR y mando a distancia
  • LED y resistencia de 220 Ohm
  • libraria IRremote.h

Arduino barco con mando a distancia por infrarrojos

Ten en cuenta que el esquema de conexión de los transistores a Arduino y a los motores puede ser diferente. Depende del tipo de transistor que utilices: mosfet, pnp- o npn-transistor. Antes de montar el circuito, mira la hoja de datos del fabricante para que los componentes no fallen. El mando a distancia para el control del barco se puede utilizar desde el kit de inicio de Arduino o comprar por separado en pareja con un receptor de infrarrojos.

Circuito eléctrico de barco en Arduino Nano y IR

Diagrama de montaje del barco en Arduino Nano
Diagrama de montaje del barco en Arduino Nano

El casco de la embarcación puede ser diferente, sólo depende de sus posibilidades. El barco se propulsa mediante ruedas de remo montadas en los laterales del barco y accionadas por motores de corriente continua. También en el circuito eléctrico del proyecto (ver imagen superior) se utilizan condensadores cerámicos conectados a los motores, no son obligatorios, pero reducen el nivel de ruido en el circuito eléctrico en el arranque.

Después de ensamblar el circuito y cargar el software, abre el monitor del puerto de Arduino IDE. Obtén los códigos únicos de los botones de control remoto que planeas utilizar para controlar los motores del barco. Copia estos códigos y pégalos en el programa en las funciones #define, luego vuelve a cargar el boceto. El programa también tiene una función para encender el LED conectado mediante una resistencia al pin 2 de la placa.

Programme Arduino barco con mando a distancia IR

#include "IRremote.h"

// sustituya los códigos del mando a distancia por sus valores
#define forward 11111111 // código forward
#define left 22222222    // código izquierdo
#define right 33333333   // código derecho
#define stope 44444444   // código de parada
#define led_on 55555555  // código de activación LED
#define led_off 66666666 // código de apagado LED

#define LED 2  // pin del LED
#define M_L 11 // pin motor izquierdo
#define M_R 12 // pin motor derecho

int RECV_PIN = A5; // pin receptor IR
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(LED, OUTPUT);
  pinMode(M_L, OUTPUT);
  pinMode(M_R, OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)) {
    // si se recibe una señal, visualización en el monitor
    Serial.println(results.value);
    // iniciar
    if (results.value == forward) {
      digitalWrite(M_L, HIGH);
      digitalWrite(M_R, HIGH);
    }
    // giro a la derecha
    if (results.value == right) {
      digitalWrite(M_L, LOW);
      digitalWrite(M_R, HIGH);
    }
    // giro a la izquierda
    if (results.value == left) {
      digitalWrite(M_L, HIGH);
      digitalWrite(M_R, LOW);
    }
    // stop
    if (results.value == stope) {
      digitalWrite(M_L, LOW);
      digitalWrite(M_R, LOW);
    }
    // LED encendido
    if (results.value == led_on) {
      digitalWrite(LED, HIGH);
    }
    // LED apagado
    if (results.value == led_off) {
      digitalWrite(LED, LOW);
    }
  irrecv.resume(); // esperando una señal del mando a distancia
  } 
}

Explicación del código para barco con mando a distancia IR:

  1. utilizar transistores capaces de conmutar la corriente de sus baterías.

Conclusión. A pesar de que no hemos proporcionado el montaje del casco del barco, esperamos que nuestro diagrama de cableado y el programa para este proyecto le sean útiles. También puedes utilizar el módulo MOSFET IRF520 o el motor shield L293D Arduino para controlar los motores. La última variante con un escudo le permitirá no sólo para iniciar los motores sin problemas, sino también para hacerlos girar en la dirección opuesta.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *