Este telêmetro ultrassônico HC-SR04 foi aprimorado com o sensor de temperatura LM35.
Da escola, você pode se lembrar que a velocidade do som depende da densidade do ar e a densidade do ar depende da temperatura.
Vamos calcular a temperatura usando esta fórmula
temp2 = (temp / 1023,0) * 5,0 * 1000/10;
Onde temp2 é o valor da temperatura final após a fórmula,
E onde temp é o valor bruto do sensor.
Do que precisamos:
- Telêmetro ultra-sônico HC-SR04
- Arduino
- Breadboard
- Jumpers
- Termistor LM35 (sensor de temperatura)
Lembre-se de que o HC-SR04 vem de duas formas -
Aqui eu tenho uma boa e mede estavelmente a distância.
Ambos medem de 4 cm a 400 cm.
Alimentado por 3,3 a 5 v
Para começar, zombamos de tudo em uma tábua de pão.
Sensor ultra-sônico:
- GND - gnd
- Eco - 3 pinos
- Trig - 2 pinos
- Vcc - 5v
Termistor LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
Deve ser assim:
Em seguida, preenchemos o esboço.
Download da biblioteca para o sensor HC-SR04 -
Fazer o download do esboço -
#include // conecte a biblioteca para trabalhar com o sensor ultrassônico HC-SR04
iarduino_HC_SR04 hcsr (2,3); // denota contatos Trig e Echo
int temp = 0; // temperatura bruta
temperatura flutuante2 = 0; // valor da temperatura pronta
void setup () {// executa 1 vez
Serial.begin (9600); // inicia o monitor da porta
pinMode (A0, INPUT); // indica o contato A0 como entrada
}
void loop () {// repete um número infinito de vezes
temp = leitura analógica (A0); // leia o valor do contato A0 e atribua a variável temp a ele
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // calcula o valor bruto de acordo com a fórmula para obter o valor da temperatura final
Serial.println (hcsr.distance (temp2)); // grava o intervalo pronto no monitor da porta
atraso (1000); // demora 1 segundo
}
E aqui está um esboço para uma tela LCD -
Fazer o download do esboço -
#include // conecte a biblioteca para trabalhar com o sensor ultrassônico HC-SR04
#include // conecte a biblioteca para trabalhar com a exibição no barramento I2C
LiquidCrystal_I2C lcd (0x27, 16, 2); // denota (endereço, colunas, linhas)
iarduino_HC_SR04 hcsr (2,3); // denota contatos Trig e Echo
int temp = 0; // temperatura bruta
temperatura flutuante2 = 0; // valor da temperatura pronta
void setup () {// executa 1 vez
lcd.init (); // inicializa a exibição
lcd.backlight (); // liga a luz de fundo da tela
pinMode (A0, INPUT); // indica o contato A0 como entrada
}
void loop () {// repete um número infinito de vezes
temp = leitura analógica (A0); // leia o valor do contato A0 e atribua a variável temp a ele
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // calcula o valor bruto de acordo com a fórmula para obter o valor da temperatura final
lcd.setCursor (2, 0); // coloca o cursor na coluna 2 e na linha 0
lcd.print (temp2); // escreve a distância
lcd.setCursor (5,0); // coloca o cursor na quinta coluna e na 0a linha
lcd.print ("cm"); // escreve cm
atraso (1000); // demora 1 segundo
}
Escreva comentários e perguntas, eu vou responder tudo!