Aprenderás a convertir una medición de distancia en señales visuales y sonoras. En esta guía encontrarás un montaje concreto, criterios de conexión y un programa funcional de referencia para este circuito.
Un prototipo funcional pensado para practicar electrónica y programación con Arduino. La ilustración muestra la disposición conceptual de los componentes y sirve como referencia visual del montaje.
El Arduino recibe las señales de entrada, ejecuta la lógica del programa y controla las salidas. Antes de energizar, verifica polaridad, GND común y el valor de las resistencias. Los pines indicados son una propuesta de montaje y pueden adaptarse si modificas el código.
Usa esta tabla junto con el diagrama para montar el circuito. Los pines corresponden al programa incluido en este proyecto.
| Componente / terminal | Conectar a Arduino |
|---|---|
| HC-SR04 VCC | 5V |
| HC-SR04 TRIG | D7 |
| HC-SR04 ECHO | D6 |
| HC-SR04 GND | GND |
| LED verde ánodo | D9 → resistencia |
| LED amarillo ánodo | D10 → resistencia |
| LED rojo ánodo | D11 → resistencia |
| Cátodos de LEDs | GND |
| Buzzer + | D8 |
| Buzzer − | GND |
Cada LED debe llevar su resistencia en serie. El buzzer se activa cuando la distancia es de 10 cm o menos según el código actual.
Este es un ejemplo funcional para el montaje descrito:
const int TRIG = 7;
const int ECHO = 6;
const int LED_VERDE = 9;
const int LED_AMARILLO = 10;
const int LED_ROJO = 11;
const int BUZZER = 8;
float distanciaCM() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long t = pulseIn(ECHO, HIGH, 30000);
if (!t) return 999;
return t * 0.0343 / 2.0;
}
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LED_VERDE, OUTPUT);
pinMode(LED_AMARILLO, OUTPUT);
pinMode(LED_ROJO, OUTPUT);
pinMode(BUZZER, OUTPUT);
}
void loop() {
float d = distanciaCM();
digitalWrite(LED_VERDE, d > 40);
digitalWrite(LED_AMARILLO, d <= 40 && d > 20);
digitalWrite(LED_ROJO, d <= 20);
if (d <= 10) tone(BUZZER, 1200); else noTone(BUZZER);
delay(100);
}Consulta directamente los componentes disponibles en Fasantronic para replicar este proyecto.
Ver todos los componentes →