Nombre: Robot Bluethooth con Arduino
Nivel de Dificultad: ⭐
Descripción: Construye un Robot bluetooth usando Arduino. Incluye lista de materiales, conexiones, esquema, código listo para copiar.
Lista de materiales
Diagrama
Código:
// ================================================
// CONTROL DE ROBOT CON PUENTE H L298N
// ================================================
// Este programa permite controlar un robot con dos motores DC
// utilizando un módulo L298N con los pines ENA y ENB puenteados.
// Los comandos se envían por el puerto serial (por ejemplo,
// desde una app Bluetooth o el Monitor Serial).
//
// Comandos disponibles:
// F = Avanzar
// B = Retroceder
// L = Girar a la izquierda
// R = Girar a la derecha
// S = Detener
// ================================================
// ----------- Pines de conexión al módulo L298N -----------
// Motor izquierdo
int IN1 = 8;
int IN2 = 9;
// Motor derecho
int IN3 = 10;
int IN4 = 11;
// ===========================================================
// CONFIGURACIÓN INICIAL
// ===========================================================
void setup() {
Serial.begin(9600); // Inicia la comunicación serial a 9600 baudios
// Configura los pines de los motores como salidas digitales
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
stopMotors(); // Asegura que los motores inicien apagados
}
// ===========================================================
// BUCLE PRINCIPAL DE EJECUCIÓN
// ===========================================================
void loop() {
// Revisa si hay datos recibidos por el puerto serial
while (Serial.available() > 0) {
char command = Serial.read(); // Lee un carácter enviado por la app o monitor serial
Serial.println(command); // Muestra el comando recibido (solo para depuración)
// Ejecuta la acción según el comando recibido
switch(command) {
case 'F': moveForward(); break; // Avanzar
case 'B': moveBackward(); break; // Retroceder
case 'L': turnLeft(); break; // Girar a la izquierda
case 'R': turnRight(); break; // Girar a la derecha
case 'S': stopMotors(); break; // Detener motores
}
}
}
// ===========================================================
// FUNCIONES DE MOVIMIENTO
// ===========================================================
// Avanzar: ambos motores giran hacia adelante
void moveForward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
// Retroceder: ambos motores giran hacia atrás
void moveBackward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
// Girar a la izquierda: el motor derecho avanza, el izquierdo retrocede
void turnLeft() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
// Girar a la derecha: el motor izquierdo avanza, el derecho retrocede
void turnRight() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
// Detener: apaga ambos motores
void stopMotors() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
Dónde comprar:
Electrónica DIY








