Ovaj HC-SR04 ultrazvučni daljinomjer poboljšan je senzorom temperature LM35.
Iz škole se možete sjetiti da brzina zvuka ovisi o gustoći zraka, a gustoća zraka ovisi o temperaturi.
Izračunaćemo temperaturu pomoću ove formule
temp2 = (temp / 1023,0) * 5,0 * 1000/10;
Gdje je temp2 gotova vrijednost temperature nakon formule,
A gdje je temp sirova vrijednost senzora.
Što nam treba:
- Ultrazvučni daljinomjer HC-SR04
- Težak
- prototipova odbora
- skakači
- Termistor LM35 (osjetnik temperature)
Imajte na umu da HC-SR04 dolazi u dva oblika -
Evo me dobro i stabilno mjeri udaljenost.
Obojica mjere od 4 cm do 400 cm.
Pokreće 3,3 do 5 v
Za početak, sve to ismijavamo na šanku.
Ultrazvučni senzor:
- GND - gnd
- Odjek - 3 igle
- Trig - 2 igle
- Vcc - 5v
Termistor LM35:
- 1 - 5v
- 2 - A0
- 3 - BND
Trebao bi biti ovako:
Dalje ispunjavamo skicu.
Preuzmite biblioteku za HC-SR04 senzor -
Preuzmi skicu -
#include // poveži biblioteku za rad s ultrazvučnim senzorom HC-SR04
iarduino_HC_SR04 hcsr (2,3); // označavaju kontakte Trig i Echo
int temp = 0; // temperatura sirove
plutati temp2 = 0; // spremna vrijednost temperature
void setup () {// pokrenuti 1 put
Serijski počet (9600); // pokrenite monitor monitora
pinMode (A0, INPUT); // označiti kontakt A0 kao ulaz
}
void loop () {// ponavlja beskonačan broj puta
temp = analogRead (A0); // pročitajte vrijednost kontakta A0 i dodijelite mu promjenjivu temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // izračunati sirovu vrijednost prema formuli da bi se dobila vrijednost gotove temperature
Serijski.println (hcsr.distance (temp2)); // napisati raspon spremnosti u monitor monitora
kašnjenje (1000); // odgoditi 1 sekundu
}
A ovdje je skica za LCD zaslon-
Preuzmi skicu -
#include // poveži biblioteku za rad s ultrazvučnim senzorom HC-SR04
#include // poveži biblioteku za rad s zaslonom na I2C magistrali
LiquidCrystal_I2C lcd (0x27, 16, 2); // označiti (adresa, stupci, redovi)
iarduino_HC_SR04 hcsr (2,3); // označavaju kontakte Trig i Echo
int temp = 0; // temperatura sirove
plutati temp2 = 0; // spremna vrijednost temperature
void setup () {// pokrenuti 1 put
lcd.init (); // inicijalizirati prikaz
lcd.backlight (); // uključite pozadinsko osvjetljenje zaslona
pinMode (A0, INPUT); // označiti kontakt A0 kao ulaz
}
void loop () {// ponavlja beskonačan broj puta
temp = analogRead (A0); // pročitajte vrijednost kontakta A0 i dodijelite mu promjenjivu temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // izračunati sirovu vrijednost prema formuli da bi se dobila vrijednost gotove temperature
lcd.setCursor (2, 0); // stavite pokazivač na 2 stupaca i 0 reda
lcd.print (temp2); // napisati udaljenost
lcd.setCursor (5,0); // postavite kursor na 5. stupac i 0. reda
lcd.print ("cm"); // pisati cm
kašnjenje (1000); // odgoditi 1 sekundu
}
Pišite komentare i pitanja, ja ću vam odgovoriti na sve!