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
Debería ser así:
A continuación completamos el boceto.
Descargar biblioteca para el sensor HC-SR04 -
Descargar boceto -
#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 -
#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!