Sensor ultrasónico 4 pings

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó  pablo hace 1 año, 10 meses.

  • Autor
    Publicaciones
  • #2799
     miguelazores 
    Participante

    Hola buenas, vamos a darle vida al foro. Estoy intentando programar un sensor ultrasónico de cuatro pings con un zumbador y un diodo LED. El objetivo es que cuanto mas cerca este el objeto, mas rapido pite el zumbador y se encienda el LED. ya he conseguido que el sensor me de los datos de distancia pero no consigo programar el programa de tal manera que haga lo que estoy buscando. ¿Me podéis ayudar? Este es el programa que inicialmente he creado.
    #define Trig 11
    #define Eco 12
    #define Led 9
    #define Pito 10

    void setup() {
    Serial.begin (9600);
    pinMode (Trig, OUTPUT);
    pinMode (Eco, INPUT);
    pinMode (Led, OUTPUT);
    pinMode (Pito, OUTPUT);

    }

    void loop() {
    //emision/
    long duracion, distancia;
    digitalWrite(Trig,LOW);
    delayMicroseconds(10);
    digitalWrite(Trig,HIGH);
    delayMicroseconds(10);
    digitalWrite(Trig,LOW);
    //recepcion/
    duracion = pulseIn(Eco,HIGH);
    distancia = (duracion/2)/29;
    //Datos
    Serial.print(distancia);
    Serial.println( “cm” );
    if (distancia < 50);
    {digitalWrite(Led, HIGH);
    digitalWrite(Pito, HIGH);
    digitalWrite(Led, LOW);
    digitalWrite(Pito, LOW);}

    }

    Supongo que el fallo se encuentra despues del if… El programa lo puedo cargar por lo tanto no esta mal, el problema es que el led y el zumbador no hacen su función.

    #2800
     pablo 
    Jefe de claves

    ¡Hola @miguelazores!

    Cada instrucción se ejecuta muuuyyy rápido y si le dices a Arduino HIGH y LOW seguido ¡no te da tiempo a verlo/oírlo! Recuerda cómo hacíamos parpadear el LED en el taller, siempre tienes que poner un delay() mientras está encendido lo suficientemente largo como para verlo. En cuanto soluciones eso te tiene que funcionar ;).

    Otra cosa, hay buzzers activos que solo con HIGH ya suenan a una frecuencia fija de fábrica, y buzzers pasivos a los que tienes que meterle la onda del tono al que quieres que suene (en arduino.cc > Learning > Reference hay una función tone()).

    Un consejo aparte, no se recomienda disparar el sensor de ultrasonidos más de una vez por segundo. Al sensor no le va a pasar nada pero puede que tengas resultados extraños (como ecos que nunca llegan). De todas formas no es algo estricto, puedes apurar un poquito y hacer pruebas si necesitas medir muy rápido.

    En el taller de mañana hacemos un sensor de aparcamiento con los mismos componentes, de forma que cuanto más cerca esté el obstáculo más frecuente pita. Eso que traes ya adelantado para hacer algo más avanzado :).

    ¡Cuéntanos si lo consigues o te queda alguna duda!

    #2825
     pablo 
    Jefe de claves

    Como en el taller de ayer costó echar a andar el sensor de ultrasonidos HC-SR04, he hecho una pequeña librería para usarlo 😉

    Descarga el zip instalable en Arduino IDE y abre el ejemplo HelloUltrasonidos para ver cómo se usa.

    Todo el código fuente está en Github.

    Es una primera versión, casi no tiene funcionalidad y puede que tenga algunos fallos, así que espero vuestra opinión!

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)

Debes estar registrado para responder a este debate.

©2017 Fábrica Digital desde Jerez de la Frontera, España.

717 717 452 (Teléfono y Whatsapp) / hola@fabricadigital.org

De Lunes a Jueves de 09:00 a 18:00. Viernes de 09:00 a 14:00.

Calle del Comercio, 18, 11407 Jerez de la Frontera, Cádiz. - Cómo llegar

Información Legal - Aceptamos

 

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account