Arduino: Guía Visual de Movimiento y Detección

Arduino: Movimiento y Sentidos

Una guía visual para dominar Servos y Sensores Ultrasónicos

El Cerebro Físico

Arduino nos permite conectar el mundo del software con el mundo físico. En esta guía, exploramos dos capacidades fundamentales de cualquier robot: Actuar (moverse con un Servo) y Sentir (ver distancias con Ultrasonido). A continuación, visualizamos exactamente qué sucede dentro de tu código y tus componentes.

1

Ejercicio 1: La Danza del Servo

El código utiliza dos bucles for para crear un movimiento de barrido suave. En lugar de saltar de 0° a 180° instantáneamente, el Arduino incrementa la posición paso a paso.

Posición (grados) vs. Tiempo

🔌 Conexión del Circuito

Arduino 5V
Servo Rojo (+)
Arduino GND
Servo GND (-)
Pin 9
Servo Señal
servo_sweep.ino
#include 

Servo miServo;  // Crear objeto servo
int pos = 0;    // Variable posición

void setup() {
  miServo.attach(9); // Conectar al Pin 9
}

void loop() {
  // Ir de 0 a 180 grados
  for (pos = 0; pos <= 180; pos += 1) { 
    miServo.write(pos);
    delay(15);
  }
  // Volver de 180 a 0 grados
  for (pos = 180; pos >= 0; pos -= 1) { 
    miServo.write(pos);
    delay(15);
  }
}

Copia y pega este código directamente en tu Arduino IDE.

2

Ejercicio 2: Física del Eco

El sensor HC-SR04 funciona como un murciélago. Emite un sonido ultrasónico a 343 m/s. Medimos el tiempo de ida y vuelta, y dividimos por 2.

El Flujo de Detección

Trigger

Pulso 10µs

🔊
Emisión

343 m/s

↩️
Rebote

Vuelve el eco

🧮
Cálculo

T * 0.034 / 2

ultrasonic_sensor.ino
const int pinTrig = 9;
const int pinEcho = 10;
long duracion;
int distancia;

void setup() {
  pinMode(pinTrig, OUTPUT);
  pinMode(pinEcho, INPUT);
  Serial.begin(9600);
}

void loop() {
  // Generar pulso limpio
  digitalWrite(pinTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(pinTrig, HIGH);
  delayMicroseconds(10);
  digitalWrite(pinTrig, LOW);

  // Leer Echo y calcular
  duracion = pulseIn(pinEcho, HIGH);
  distancia = duracion * 0.034 / 2;

  Serial.print("Dist: ");
  Serial.println(distancia);
  delay(500);
}

🔌 Conexión HC-SR04

Arduino 5V
VCC
Arduino GND
GND
Pin 9
Trig
Pin 10
Echo

Relación lineal: Tiempo vs Distancia

Comparativa Técnica

S

Servo Motor (SG90)

Alto consumo. Usa `Servo.h`. 1 Pin.

U

Sensor Ultrasónico (HC-SR04)

Bajo consumo. Lógica pura. 2 Pines (Trig/Echo).

© 2026 Educación STEM | Guía interactiva