Arduino Projects - De Básico a Avanzado

Ejemplos de proyectos con Arduino, desde configuraciones básicas hasta sistemas complejos con sensores y actuadores.

Proyectos

01. Alarma de Proximidad

🎯 Descripción

Sistema que detecta objetos cercanos y activa alerta sonora y visual.

⚙️ Lógica

  • Distancia < 20 cm → alarma activa
  • Distancia ≥ 20 cm → reposo

🧩 Componentes

  • Sensor ultrasónico
  • Buzzer
  • LEDs

💡 Código

alarma.ino
const int TRIG = 7;
const int ECHO = 6;
const int BUZZER = 8;
const int LED = 13;

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(BUZZER, OUTPUT);
  pinMode(LED, OUTPUT);
}

long distancia() {
  digitalWrite(TRIG, LOW); delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  return pulseIn(ECHO, HIGH) * 0.034 / 2;
}

void loop() {
  long d = distancia();

  if (d < 20) {
    digitalWrite(LED, HIGH);
    tone(BUZZER, 2000);
  } else {
    digitalWrite(LED, LOW);
    noTone(BUZZER);
  }

  delay(200);
}

02. 02. Puerta Automática

🎯 Descripción

Simulación de puerta que se abre automáticamente al detectar presencia.

⚙️ Lógica

  • Cerca → abrir (servo 180°)
  • Lejos → cerrar (servo 0°)

🧩 Componentes

  • Sensor ultrasónico
  • Servo motor

💡 Código

puerta.ino
#include <Servo.h>

Servo servo;
const int TRIG = 7;
const int ECHO = 6;

void setup() {
  servo.attach(9);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

long distancia() {
  digitalWrite(TRIG, LOW); delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  return pulseIn(ECHO, HIGH) * 0.034 / 2;
}

void loop() {
  if (distancia() < 20) {
    servo.write(180);
  } else {
    servo.write(0);
  }
  delay(200);
}

03. Sistema de Parqueo (Parking Sensor)

🎯 Descripción

Asistente de estacionamiento con alertas progresivas.

⚙️ Lógica

  • <10 cm → alarma continua
  • 10–20 cm → beep rápido
  • 20 cm → sin alerta

🧩 Componentes

  • Sensor ultrasónico
  • Buzzer

💡 Código

parking.ino
const int TRIG = 7;
const int ECHO = 6;
const int BUZZER = 8;

long distancia() {
  digitalWrite(TRIG, LOW); delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  return pulseIn(ECHO, HIGH) * 0.034 / 2;
}

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  long d = distancia();

  if (d < 10) {
    tone(BUZZER, 2000);
  } else if (d < 20) {
    tone(BUZZER, 1000);
    delay(200);
    noTone(BUZZER);
    delay(200);
  } else {
    noTone(BUZZER);
  }
}

04. Monitor Inteligente (LCD)

🎯 Descripción

Visualización en tiempo real de distancia en LCD.

🧩 Componentes

  • Sensor ultrasónico
  • LCD I2C

💡 Código

monitor.ino
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

const int TRIG = 7;
const int ECHO = 6;

long distancia() {
  digitalWrite(TRIG, LOW); delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  return pulseIn(ECHO, HIGH) * 0.034 / 2;
}

void setup() {
  lcd.init();
  lcd.backlight();
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  lcd.clear();
  lcd.print("Dist:");
  lcd.print(distancia());
  lcd.print(" cm");
  delay(500);
}

05. Sistema Completo Integrado


🎯 Descripción

Sistema reactivo completo con:

  • Detección
  • Movimiento
  • Alarma
  • Visualización

🧠 Lógica

Distancia →
  ├── Servo (accion)
  ├── Buzzer (alerta)
  ├── LEDs (estado)
  ├── LCD (datos)
  └── Matriz (visual)

💡 Implementación

sistema_completo.ino
// Integración total de todos los módulos
// (usar tu código final aquí)

💡 Código

sistema.ino
#include <Servo.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);
Servo servo;

const int TRIG = 7;
const int ECHO = 6;
const int BUZZER = 8;
const int LED = 13;

void setup() {
  servo.attach(9);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(BUZZER, OUTPUT);
  pinMode(LED, OUTPUT);

  lcd.init();
  lcd.backlight();
}

long distancia() {
  digitalWrite(TRIG, LOW); delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  return pulseIn(ECHO, HIGH) * 0.034 / 2;
}

void loop() {
  long d = distancia();
  lcd.clear();

  if (d < 20) {
    servo.write(180);
    digitalWrite(LED, HIGH);
    tone(BUZZER, 2000);
    lcd.print("ALERTA!");
    lcd.setCursor(0,1);
    lcd.print(d); lcd.print(" cm");
  } else {
    servo.write(0);
    digitalWrite(LED, LOW);
    noTone(BUZZER);
    lcd.print("Seguro");
    lcd.setCursor(0,1);
    lcd.print(d); lcd.print(" cm");
  }

  delay(200);
}

🎯 Tabla de LEDs Utilizados

LEDPinFunción
LED 113Alerta visual general
LED 212Alerta visual 2
LED 311Alerta visual 3
s

© 2026 LABREMOTE — Laboratorio remoto IoT para educación y experimentación.

Sistema operativo
v1.0.0