
Aprenderás a medir distancia y mover un servomotor según una condición. 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 |
| SG90 señal | D9 |
| SG90 rojo | 5V |
| SG90 marrón/negro | GND |
El servo usa D9 para la señal. Si el servo consume demasiado, aliméntalo con una fuente externa de 5 V y une su GND con el GND del Arduino.
Este es un ejemplo funcional para el montaje descrito:
#include <Servo.h>
Servo barrera;
const int TRIG = 7;
const int ECHO = 6;
void setup() {
barrera.attach(9);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
barrera.write(0);
}
float distanciaCM() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long tiempo = pulseIn(ECHO, HIGH, 30000);
if (tiempo == 0) return 999;
return tiempo * 0.0343 / 2.0;
}
void loop() {
float d = distanciaCM();
if (d <= 15) {
barrera.write(90);
delay(2500);
} else {
barrera.write(0);
}
delay(100);
}Consulta directamente los componentes disponibles en Fasantronic para replicar este proyecto.
Ver todos los componentes →