Contenido del curso

Actividad 22

 

Sensor de proximidad por Ultrasonidos

Para familiarizarnos con el sensor de ultrasonidos, su esquema de conexión y el algoritmo básico de su funcionamiento, vamos a realizar un programa sencillo. Por tanto, en este primer ejercicio el objetivo será programar un sensor de proximidad:

  • Seleccionar un objeto cualquiera con tamaño suficiente para ser detectable dentro del ángulo de visión del sensor. Si no ves nada a mano, la mano también te vale.

  • Utilizar una variable para almacenar la distancia de detección.

  • Si el objeto se encuentra dentro de la distancia de detección, se activará una alarma constante por medio de un zumbador, y a la vez se encenderá un LED rojo.

  • Si el objeto se encuentra fuera de la distancia de detección, la alarma dejará de sonar y se mantendrá encendido un LED verde.

  • Probaremos con diferentes distancias y comprobaremos si éstas son correctas o no.

El esquema electrónico del circuito es el siguiente:

    Nota importante

Para este sensor puedes utilizar la librería en C/C++ HCSR04 ultrasonic sensor de gamegine.

Si estás utilizando programación en Bloques, tienes un bloque específico para el sensor en la categoría Sensor.


// Incluimos la libreria sel sensor de ultrasonidos
#include <HCSR04.h>

// Indicamos que pines se van a utilizar para el sensor de ultrasonidos
#define ECHO 4
#define TRIG 5

// Creamos el objeto
HCSR04 HC_SR(TRIG, ECHO);  //Inicialización de la clase HCSR04
                           // (trig pin , echo pin)

// Creamos variable para almacenar la distancia
float distancia = HC_SR.dist();

// Indicamos que pines se van a utilizar
#define LED_R 2
#define LED_G 3
#define ZUM 11

void setup() {
  // Configuramos los pines digitales que se van a utilizar
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(ZUM, OUTPUT);
}
void loop() {
  // Obtenemos el valor de distancia
  distancia = HC_SR.dist();
  // si el objeto esta a mas de 20 cm
  if (distancia>20){
    digitalWrite(LED_R, LOW);       // Apagar led rojo
    digitalWrite(LED_G, HIGH);      // Encender led verde
    digitalWrite(ZUM, HIGH);        // Apagar zumbador
  }
  // Si el objeto esta a menos de 20 cm
  else{
    digitalWrite(LED_R, HIGH);      // Encender led rojo
    digitalWrite(LED_G, LOW);       // Apagar led verde
    digitalWrite(ZUM, LOW);         // Encender led rojo
  }
}


Puedes descargar la solución pinchando en el siguiente icono:


Vistas
11 Número de vistas
11 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.