Modulo ultrasónico y servo en ESP32

Modulo ultrasónico y servo en ESP32

Spread the love

Experimentos con Módulo Ultrasónico y Servo en ESP32

Modulo ultrasónico y servo en ESP32: En nuestros experimentos con el ESP32, hemos explorado la combinación del módulo ultrasónico y el servo para crear proyectos emocionantes y prácticos. Estos componentes nos permiten medir distancias con precisión y controlar movimientos mecánicos, lo que abre un mundo de posibilidades para la creación de dispositivos interactivos.

Medición Precisa de Distancias

El módulo ultrasónico nos brinda la capacidad de medir distancias de manera precisa utilizando ondas ultrasónicas. Al enviar un pulso ultrasónico y registrar el tiempo que tarda en rebotar en un objeto y regresar al sensor, podemos calcular la distancia con una gran precisión. Esta funcionalidad es fundamental en una amplia variedad de aplicaciones, desde sistemas de seguridad hasta dispositivos de detección de obstáculos para robots.

Control de Movimientos con Servo

El servo nos proporciona un control preciso sobre movimientos mecánicos. Al enviar señales de control al servo, podemos hacer que gire a una posición específica, lo que lo convierte en una opción ideal para mecanismos de dirección, brazos robóticos y más. La capacidad de controlar la posición angular con precisión nos permite diseñar sistemas que respondan de manera inteligente a su entorno.

Integración en Proyectos Prácticos

Al combinar el módulo ultrasónico y el servo en el ESP32, podemos crear una amplia gama de proyectos prácticos. Desde un sistema de alarma que detecta intrusos y activa una sirena, hasta un dispositivo de seguimiento solar que ajusta automáticamente la posición de un panel solar para maximizar la captación de energía, las posibilidades son infinitas.

Conexión de los Módulos Ultrasónico y Servo en ESP32

Aprende y Experimenta con Modulo ultrasónico y servo en ESP32

Nuestros experimentos con el módulo ultrasónico y el servo en ESP32 son solo el comienzo. Te invitamos a explorar estas tecnologías por ti mismo y descubrir las emocionantes aplicaciones que pueden tener en tus propios proyectos. Con un poco de creatividad y experimentación, ¡las posibilidades son infinitas!

Código Arduino de la Conexión de los Módulos Ultrasónico y Servo en ESP32

#include <ESP32Servo.h>

Servo myservo; // crea un objeto servo para controlar un servo
int servoPin = 15; // pin del servo
int trigPin = 13; // pin de trigPin
int echoPin = 14; // pin de echoPin
int MAX_DISTANCE = 500; // máxima distancia del sensor en cm
float timeOut = MAX_DISTANCE * 58.8; // tiempo máximo de espera para la medición en microsegundos
int soundVelocity = 340; // velocidad del sonido en m/s

void setup() {
  pinMode(trigPin, OUTPUT); // establece el pin trigPin como salida
  pinMode(echoPin, INPUT); // establece el pin echoPin como entrada
  myservo.setPeriodHertz(50); // servo estándar a 50 Hz
  myservo.attach(servoPin, 500, 2500); // adjunta el servo al pin servoPin  
  Serial.begin(115200); // Inicia comunicación serial a 115200 baudios
}

void loop() {
  float distance = getSonar(); // obtiene la distancia medida por el sensor ultrasónico
  Serial.print("Distance: ");
  Serial.print(distance); // Imprime la distancia en cm
  Serial.println(" cm");
  
  if (distance < 5) { // Si la distancia es inferior a 5 cm
    myservo.write(90); // Mueve el servo a la posición deseada
    delay(2000); // Espera 2 segundos
    myservo.write(0); // Devuelve el servo a la posición inicial
  } else { // Si la distancia es mayor o igual a 5 cm
    myservo.write(0); // Deja el servo en la posición inicial
  }
  delay(100); // Espera 100ms entre mediciones
}

float getSonar() {
  unsigned long pingTime;
  float distance;  
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);  
  pingTime = pulseIn(echoPin, HIGH, timeOut);  
  distance = (float)pingTime * soundVelocity / 2 / 10000;
  return distance; // Devuelve el valor de la distancia
}

Para el correcto funcionamiento hay que instalar la librería: ESP32Servo

Deja un comentario