Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot Móvil Controlado por Node.js en Tiempo Real vía Bluetooth

Componentes y Suministros

Arduino UNO 1
Driver Motor L298N (Dual H-Bridge) 1
Módulo Bluetooth HC-05 1
Cables jumpers Varios
Batería 9V 2
Motores DC 12V con reductor 2
Chasis 2 ruedas + rueda loca 1

Sobre el Proyecto

Idea y Objetivo

Node.js destaca en aplicaciones tiempo real con WebSockets. Aplicando ese concepto a IoT, construí un rover que se comunica con un servidor Node.js vía Bluetooth, y se controla desde una página web móvil servida por ese servidor.

Requisitos Previos

Paso 1: Construir el Rover

Robot Móvil Controlado por Node.js en Tiempo Real vía Bluetooth

Usa un kit chasis 2WD (fácil de conseguir). Arduino UNO y L298N van encima, cada uno alimentado por su batería 9V independiente. El Arduino alimenta el HC-05.

Esquema de Conexiones

Robot Móvil Controlado por Node.js en Tiempo Real vía Bluetooth

Flujo de Datos

Robot Móvil Controlado por Node.js en Tiempo Real vía Bluetooth
  1. Usuario accede a web (ej. 192.168.x.x:8080).
  2. Clic en botón → evento Socket.io → Servidor Node.
  3. Servidor envía comando por Bluetooth al HC-05.
  4. HC-05 → Serie → Arduino UNO.
  5. Arduino controla L298N.

Paso 2: Configurar Servidor Node.js

Instala paquetes:

npm install express socket.io ejs node-bluetooth node-gyp

Crea servidor Express + Socket.io + página web (EJS) con botones de control. Cada clic emite evento al servidor, que escribe al puerto serie Bluetooth. Ver código en GitHub.

Robot Móvil Controlado por Node.js en Tiempo Real vía Bluetooth

Paso 3: Código Arduino

Comunicación serie simple: el servidor envía cadenas terminadas en 'T' (ej. "forwardT"). Arduino lee hasta 'T' y actúa.

const int en1=9, en2=3, inp1=2, inp2=4, inp3=7, inp4=8;
char charRead; String inputString="";

void setup() {
  Serial.begin(9600);
  pinMode(en1,OUTPUT); pinMode(en2,OUTPUT);
  pinMode(inp1,OUTPUT); pinMode(inp2,OUTPUT);
  pinMode(inp3,OUTPUT); pinMode(inp4,OUTPUT);
}

void loop() {
  if(Serial.available()){
    charRead=Serial.read();
    if(charRead!='T') inputString+=charRead;
    else{
      if(inputString=="forward"){ /* adelante */ }
      else if(inputString=="backward"){ /* atrás */ }
      else if(inputString=="fleft"){ /* izq adelante */ }
      else if(inputString=="fright"){ /* der adelante */ }
      else if(inputString=="bleft"){ /* izq atrás */ }
      else if(inputString=="bright"){ /* der atrás */ }
      else if(inputString=="break"){ /* freno */ }
      else if(inputString=="maxspeed"){ analogWrite(en1,250); analogWrite(en2,250); }
      else if(inputString=="medspeed"){ analogWrite(en1,180); analogWrite(en2,180); }
      else if(inputString=="lowspeed"){ analogWrite(en1,90); analogWrite(en2,90); }
      else{ /* stop */ }
      inputString="";
    }
  }
}

Mejoras Futuras

Próxima versión: "Voice Controlled Rover using Mobile".

Proceso de manufactura

  1. Monitorización en tiempo real de temperatura y humedad vía web en Raspberry Pi 4
  2. Ventilador controlado por temperatura: sistema DIY con relé para refrigeración de muebles multimedia
  3. De Luz Solar de $4 a Nodo Sensor Inalámbrico Inteligente: MSP430 + nRF24L01+ para Monitorización de Jardín
  4. Convierte tu Raspberry Pi 4 en un servidor web y crea tu propio sitio
  5. Transforme su Coche RC en un Vehículo Controlado por Bluetooth
  6. Transforma un viejo coche RC en un vehículo controlado por joystick con Arduino
  7. Coche RC Wi‑Fi con carga inalámbrica Qi: Kit de coche teledirigido sin cables
  8. Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
  9. Construye un Vehículo Robótico Inalámbrico Controlado por Sensor IR
  10. Soluciones eficientes de servidor web para microcontroladores con recursos limitados
  11. Despliegue de un servidor web con TLS en un ESP8266 de 3 $ en menos de 30 minutos