» Electrónica » Arduino »Telémetro ultrasónico muy preciso

Telémetro ultrasónico muy preciso



Este telémetro ultrasónico HC-SR04 se ha mejorado con el sensor de temperatura LM35.

Desde la escuela puedes recordar que la velocidad del sonido depende de la densidad del aire, y la densidad del aire depende de la temperatura.
Calcularemos la temperatura usando esta fórmula
temp2 = (temp / 1023.0) * 5.0 * 1000/10;

Donde temp2 es el valor de temperatura final después de la fórmula,
Y donde temp es el valor bruto del sensor.

Lo que necesitamos
  • Telémetro ultrasónico HC-SR04
  • Arduino
  • Tablero de pan
  • Puentes
  • Termistor LM35 (Sensor de temperatura)


Tenga en cuenta que HC-SR04 viene en dos formas:
Aquí tengo una buena y mide la distancia de forma estable.
Ambos miden de 4 cm a 400 cm.
Desarrollado por 3.3 a 5 v


Para empezar, nos burlamos de todo en una placa de pruebas.

Sensor ultrasónico:
  • GND - gnd
  • Eco - 3 pines
  • Trig - 2 pines
  • Vcc - 5v

Termistor LM35:
  • 1 - 5v
  • 2 - A0
  • 3 - GND

Telémetro ultrasónico muy preciso

Debería ser así:

A continuación completamos el boceto.
Descargar biblioteca para el sensor HC-SR04 -
iarduino_hc-sr04.zip [299.69 Kb] (descargas: 207)

Descargar boceto -
sketch_mar23f.zip [338 b] (descargas: 157)

#include  // conecta la biblioteca para trabajar con el sensor ultrasónico HC-SR04
iarduino_HC_SR04 hcsr (2,3); // denota contactos Trig y Echo
int temp = 0; // temperatura bruta
flotante temp2 = 0; // valor de temperatura listo

void setup () {// ejecutar 1 vez
  Serial.begin (9600); // inicia el monitor de puerto
  pinMode (A0, INPUT); // denota contacto A0 como entrada
}

void loop () {// se repite un número infinito de veces
  temp = analogRead (A0); // leer el valor del contacto A0 y asignarle la variable temp
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // calcula el valor bruto de acuerdo con la fórmula para obtener el valor de temperatura final
  Serial.println (hcsr.distance (temp2)); // escribe el rango listo en el monitor de puerto
  retraso (1000); // demora 1 segundo
}

Y aquí hay un boceto para una pantalla LCD.
Descargar boceto -
sketch_mar23f-1.zip [861 b] (descargas: 139)


#include  // conecta la biblioteca para trabajar con el sensor ultrasónico HC-SR04
#include  // conecta la biblioteca para que funcione con la pantalla en el bus I2C

LiquidCrystal_I2C lcd (0x27, 16, 2); // denotar (dirección, columnas, líneas)
iarduino_HC_SR04 hcsr (2,3); // denota contactos Trig y Echo

int temp = 0; // temperatura bruta
flotante temp2 = 0; // valor de temperatura listo

void setup () {// ejecutar 1 vez
  lcd.init (); // inicializa la pantalla
  lcd.backlight (); // enciende la luz de fondo de la pantalla
  pinMode (A0, INPUT); // denota contacto A0 como entrada
}

void loop () {// se repite un número infinito de veces
  temp = analogRead (A0); // leer el valor del contacto A0 y asignarle la variable temp
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // calcula el valor bruto de acuerdo con la fórmula para obtener el valor de temperatura final
  lcd.setCursor (2, 0); // coloca el cursor en 2 columnas y 0 filas
  lcd.print (temp2); // escribe la distancia
  lcd.setCursor (5,0); // coloca el cursor en la quinta columna y la fila 0
  lcd.print ("cm"); // escribe cm
  retraso (1000); // demora 1 segundo
}


Escriba comentarios y preguntas, ¡responderé todo!
10
10
10

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar
13 comentarios
Alexander invitado
¿De dónde viene esta fórmula?
temp2 = (temp / 1023.0) * 5.0 * 1000/10
¿Podría decirme con más detalle, de dónde provienen estos valores?
También agregaría el punto 4. ¡No lo use para mediciones, solo para dispositivos de automatización!
Entiendo (a juzgar por los parámetros anteriores) que las instrucciones se parecen a esto:
1. Tome el HC-SR04 con la mano izquierda y el Atoruchka, o marcador, con la derecha.
2. Estima la distancia a ojo y escríbela.
3. Vuelva a colocar el HC-SR04 en la caja.
ok
Cita: "Características del telémetro ultrasónico HC-SR04
Rango de medición: de 2 cm a 400 cm.
Precisión de medición: ± 1 cm (en el rango máximo ± 3 cm).

Pregunta: ¿Qué tan "pesada" es la corrección de temperatura en el error total?
Creo que el producto casero no se implementó, no hay una foto del dispositivo terminado y su funcionamiento.
Considero este producto casero como "infantil", pero el artículo no muestra ni mastica cómo conectar la pantalla. Para los principiantes, nuestros sitios no son claros, pero los experimentados no lo necesitan. Mastica y muestra todo lo hecho en casa.
Cita: Anton Martyanov
¡De hecho, difieren no solo en la inscripción sino también en la precisión!

De acuerdo con la documentación o te has encontrado con esto?
El autor
¡De hecho, difieren no solo en la inscripción sino también en la precisión!
¿Pero eso no es suficiente? jefe Por ejemplo, tampoco me gusta cuando las marcas están escritas por debajo de medio metro. sonrisas no sabes
¿Y por qué sigue siendo malo, excepto por la altura de la marca?
El autor
La mala es la inscripción HC-SR04 0.5 cm más baja
Muy precisa
¿Y cuál es la precisión? ¿Qué se usó como referencia? ¿Cuál es el error de temperatura?
Tenga en cuenta que HC-SR04 viene en dos formas:
Yo tengo uno bueno
¿Y cuál crees que es malo?
¡Te diré por experiencia propia que un telémetro ultrasónico, como la "ruleta sin contacto" es un mimo!
Uno yace por ahí como innecesario ...
Y no por una precisión insuficiente, sino porque solo pueden medir la distancia a una pared suficientemente grande de material sólido ... Pero a la pared posterior de un nicho en esta pared, ¡de ninguna manera! Y tampoco funcionará si esta pared está llena de muebles y otras cosas, y solo hay una pequeña "ventana" libre de desorden ... (En este caso, es más fácil no liberar la pared de todo esto, sino simplemente usar la ruleta regular).
Nuevamente, intente medir la distancia a una clavija clavada en el suelo.

¿Y al invernadero?)))
¿Y a la pared cubierta de tela?)))
¿Y a la fachada, ya pegada con losas de lana mineral, pero aún sin un revestimiento final?))))
¿Y antes de cada una de las diez vigas dispuestas en una fila?
¿Y desde la pared hasta el final del tablero ya clavado al techo para cortar la longitud requerida y cerrar este "agujero"?

¡Nada de lo anterior funcionará para ti!

¿Y luego qué medir con él durante la reparación, o en un sitio de construcción, por ejemplo? ¿Solo el tamaño y el área del local, sin muebles ???

En resumen, lo tiré al estante hace un par de años y, recordando el proverbio sobre "avaro, que paga dos veces", decidí que necesitaba comprar un láser ...

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...