Bu HC-SR04 ultrasonik telemetre, LM35 sıcaklık sensörü ile geliştirilmiştir.
Okuldan ses hızının havanın yoğunluğuna, havanın yoğunluğunun sıcaklığa bağlı olduğunu hatırlayabilirsiniz.
Bu formülü kullanarak sıcaklığı hesaplayacağız
temp2 = (sıcaklık / 1023.0) * 5.0 * 1000/10;
Temp2 formülden sonra bitmiş sıcaklık değeri olduğunda,
Ve sıcaklık sensörün ham değeridir.
Neye ihtiyacımız var:
- Ultrasonik Uzaklık Ölçer HC-SR04
- Arduino
- Prototip tahtası
- jumper
- Termistör LM35 (Sıcaklık Sensörü)
HC-SR04'ün iki şekilde geldiğini unutmayın -
Burada iyi bir tane var ve mesafeyi kararlı bir şekilde ölçer.
Her ikisi de 4 cm ila 400 cm arasındadır.
3.3 ila 5 v ile güçlendirilmiştir
Başlamak için, hepsini bir breadboard üzerinde alay ediyoruz.
Ultrasonik Sensör:
- GND - gnd
- Yankı - 3 pim
- Trig - 2 pim
- Vcc - 5v
Termistör LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
Bu şekilde olmalı:
Sonra taslağı dolduruyoruz.
HC-SR04 sensörü için kütüphane indir -
Kroki indir -
#include // ultrasonik sensör HC-SR04 ile çalışmak için kütüphaneyi bağlayın
iarduino_HC_SR04 hcsr (2,3); // Kontakları göster Trig ve Echo
int sıcaklık = 0; // ham sıcaklık
şamandıra sıcaklığı2 = 0; // hazır sıcaklık değeri
void setup () {// 1 kez çalıştır
Serial.begin (9600); // port monitörünü başlat
pinMode (A0, INPUT); // A0 kontağını giriş olarak göster
}
void loop () {// sonsuz sayıda tekrar eder
temp = analogOkuma (A0); // A0 kontağının değerini okuyun ve ona temp değişkeni atayın
temp2 = (sıcaklık / 1023.0) * 5.0 * 1000/10; // bitmiş sıcaklık değerini elde etmek için ham değeri formüle göre hesaplayın
Serial.println (hcsr.distance (temp2)); // port aralığına hazır aralığı yaz
gecikme (1000); // 1 saniye gecikme
}
Ve işte bir LCD ekran için taslak
Kroki indir -
#include // ultrasonik sensör HC-SR04 ile çalışmak için kütüphaneyi bağlayın
#include // I2C veriyolundaki ekranla çalışmak için kütüphaneyi bağlayın
LiquidCrystal_I2C lcd (0x27, 16, 2); // belirtmek (adres, sütunlar, satırlar)
iarduino_HC_SR04 hcsr (2,3); // Kontakları göster Trig ve Echo
int sıcaklık = 0; // ham sıcaklık
şamandıra sıcaklığı2 = 0; // hazır sıcaklık değeri
void setup () {// 1 kez çalıştır
lcd.init (); // ekranı başlat
lcd.backlight (); // ekran arka ışığını aç
pinMode (A0, INPUT); // A0 kontağını giriş olarak göster
}
void loop () {// sonsuz sayıda tekrar eder
temp = analogOkuma (A0); // A0 kontağının değerini okuyun ve ona temp değişkeni atayın
temp2 = (sıcaklık / 1023.0) * 5.0 * 1000/10; // bitmiş sıcaklık değerini elde etmek için ham değeri formüle göre hesaplayın
lcd.setİmleç (2, 0); // imleci 2 sütuna ve 0 satıra getir
lcd.print (sıcaklık2); // mesafeyi yaz
lcd.setCursor (5,0); // imleci 5. sütuna ve 0. satıra getir
lcd.print ("cm"); // cm yaz
gecikme (1000); // 1 saniye gecikme
}
Yorum ve sorularınızı yazın, her şeyi cevaplayacağım!