Šis ultragarsinis diapazono ieškiklis HC-SR04 buvo patobulintas su LM35 temperatūros jutikliu.
Iš mokyklos galite prisiminti, kad garso greitis priklauso nuo oro tankio, o oro tankis priklauso nuo temperatūros.
Mes apskaičiuosime temperatūrą pagal šią formulę
temp2 = (temp / 1023,0) * 5,0 * 1000/10;
Kur temp2 yra galutinė temperatūros vertė po formulės,
O kur temp yra neapdorota jutiklio vertė.
Ko mums reikia:
- Ultragarsinis nuotolio ieškiklis HC-SR04
- Arduino
- Duonos lenta
- Džemperiai
- Termistorius LM35 (temperatūros jutiklis)
Atminkite, kad HC-SR04 yra dviejų formų -
Turiu gerą ir jis stabiliai matuoja atstumą.
Jie abu yra nuo 4 cm iki 400 cm.
Varomas 3,3 - 5 v
Norėdami pradėti, mes visa tai sumetame ant duonos lentos.
Ultragarsinis jutiklis:
- GND - gnd
- Aidas - 3 kaiščiai
- Trig - 2 kaiščiai
- Vcc - 5v
Termistorius LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
Tai turėtų būti tokia:
Kitas mes užpildome eskizą.
Atsisiųsti „HC-SR04“ jutiklio biblioteką -
Atsisiųsti eskizą -
#include // prijunkite biblioteką darbui su ultragarso jutikliu HC-SR04
iarduino_HC_SR04 hcsr (2,3); // žymėti kontaktus Trig ir Echo
int temp = 0; // žaliavos temperatūra
plūdės temp2 = 0; paruoštos temperatūros vertė
void setup () {// paleisti 1 kartą
„Serial.begin“ (9600); // paleiskite uosto monitorių
pinMode (A0, INPUT); // nurodo kontaktą A0 kaip įvestį
}
void loop () {// pakartojamas begalinis skaičius kartų
temp = analoginis skaitymas (A0); // nuskaitykite kontakto A0 vertę ir priskirkite jai kintamąją temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // apskaičiuokite neapdorotą vertę pagal formulę, kad gautumėte galutinę temperatūros vertę
Serial.println (hcsr.distance (temp2)); // uosto monitoriuje įrašykite paruoštą diapazoną
vėlavimas (1000); // atidėkite 1 sekundę
}
Čia yra skystųjų kristalų ekrano eskizas -
Atsisiųsti eskizą -
#include // prijunkite biblioteką darbui su ultragarso jutikliu HC-SR04
#include // prijunkite biblioteką, kad ji veiktų su I2C magistralės ekranu
„LiquidCrystal_I2C LCD“ (0x27, 16, 2); // žymėti (adresas, stulpeliai, eilutės)
iarduino_HC_SR04 hcsr (2,3); // žymėti kontaktus Trig ir Echo
int temp = 0; // žaliavos temperatūra
plūdės temp2 = 0; paruoštos temperatūros vertė
void setup () {// paleisti 1 kartą
lcd.init (); // inicijuokite ekraną
lcd.backlight (); // įjunkite ekrano foninį apšvietimą
pinMode (A0, INPUT); // nurodo kontaktą A0 kaip įvestį
}
void loop () {// pakartojamas begalinis skaičius kartų
temp = analoginis skaitymas (A0); // nuskaitykite kontakto A0 vertę ir priskirkite jai kintamąją temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // apskaičiuokite neapdorotą vertę pagal formulę, kad gautumėte galutinę temperatūros vertę
„lcd.setCursor“ (2, 0); // užveskite žymeklį ant 2 stulpelio ir 0 eilutės
lcd.print (temp2); // užrašyk atstumą
lcd.setCursor (5,0); // užveskite žymeklį ant 5-osios stulpelio ir 0-osios eilutės
lcd.print („cm“); // rašyti cm
vėlavimas (1000); // atidėkite 1 sekundę
}
Rašykite komentarus ir klausimus, aš atsakysiu į viską!