Pengesan ultrasonik HC-SR04 ini telah dipertingkatkan dengan sensor suhu LM35.
Dari sekolah, anda boleh ingat bahawa kelajuan bunyi bergantung kepada ketumpatan udara, dan ketumpatan udara bergantung kepada suhu.
Kami akan mengira suhu menggunakan formula ini
temp2 = (temp / 1023.0) * 5.0 * 1000/10;
Di mana temp2 ialah nilai suhu siap selepas formula,
Dan di mana temp adalah nilai mentah dari sensor.
Apa yang kita perlukan:
- Ultrasonik Rangefinder HC-SR04
- Arduino
- Breadboard
- Jumper
- Thermistor LM35 (Sensor Suhu)
Perlu diingat bahawa HC-SR04 datang dalam dua bentuk -
Di sini saya mempunyai yang baik dan ia mengukur jarak.
Kedua-duanya mengukur dari 4 cm hingga 400 cm.
Dikuasakan oleh 3.3 hingga 5 v
Untuk bermula, kami mengolok-olokkannya pada papan roti.
Sensor ultrasonik:
- GND - gnd
- Echo - 3 pin
- Trig - 2 pin
- Vcc - 5v
Thermistor LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
Ia sepatutnya seperti ini:
Selanjutnya kita mengisi lakaran.
Muat turun perpustakaan untuk sensor HC-SR04 -
Muat turun lakaran -
#include // sambungkan perpustakaan untuk bekerja dengan sensor ultrasonik HC-SR04
iarduino_HC_SR04 hcsr (2,3); // Menandakan hubungan Trig dan Echo
int temp = 0; / / suhu mentah
float temp2 = 0; // nilai suhu sedia
void setup () {// run 1 time
Serial.begin (9600); / / mulakan monitor port
pinMode (A0, INPUT); / / menandakan kenalan A0 sebagai input
}
kekosongan gelung () {// mengulangi nombor tak terhingga kali
temp = analogRead (A0); // baca nilai hubungan A0 dan tentukan temp ubah itu
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // kira nilai mentah mengikut rumus untuk mendapatkan nilai suhu siap
Serial.println (hcsr.distance (temp2)); // tulis julat siap dalam monitor port
kelewatan (1000); // penangguhan 1 saat
}
Dan ini adalah lakaran untuk paparan LCD-
Muat turun lakaran -
#include // sambungkan perpustakaan untuk bekerja dengan sensor ultrasonik HC-SR04
#include // sambungkan perpustakaan untuk berfungsi dengan paparan pada bas I2C
LiquidCrystal_I2C lcd (0x27, 16, 2); / / menandakan (alamat, lajur, garisan)
iarduino_HC_SR04 hcsr (2,3); // Menandakan hubungan Trig dan Echo
int temp = 0; / / suhu mentah
float temp2 = 0; // nilai suhu sedia
void setup () {// run 1 time
lcd.init (); / / mulakan paparan
lcd.backlight (); // hidupkan lampu latar paparan
pinMode (A0, INPUT); / / menandakan kenalan A0 sebagai input
}
kekosongan gelung () {// mengulangi nombor tak terhingga kali
temp = analogRead (A0); // baca nilai hubungan A0 dan tentukan temp ubah itu
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // kira nilai mentah mengikut rumus untuk mendapatkan nilai suhu siap
lcd.setCursor (2, 0); // masukkan kursor pada 2 lajur dan 0 baris
lcd.print (temp2); // tulis jarak
lcd.setCursor (5,0); // letakkan kursor pada lajur ke-5 dan baris ke-0
lcd.print ("cm"); / tulis cm
kelewatan (1000); // penangguhan 1 saat
}
Tulis komen dan soalan, saya akan menjawab segala-galanya!