Šis ultraskaņas diapazona meklētājs HC-SR04 ir uzlabots ar temperatūras sensoru LM35.
Jau no skolas jūs varat atcerēties, ka skaņas ātrums ir atkarīgs no gaisa blīvuma, un gaisa blīvums ir atkarīgs no temperatūras.
Mēs aprēķināsim temperatūru, izmantojot šo formulu
temp2 = (temp / 1023,0) * 5,0 * 1000/10;
Kur temp2 ir gala formula pēc formulas,
Un kur temp ir neapstrādāta sensora vērtība.
Kas mums nepieciešams:
- Ultraskaņas tālmērs HC-SR04
- Arduino
- Maizes dēlis
- Džemperi
- Termistors LM35 (temperatūras sensors)
Ņemiet vērā, ka HC-SR04 ir divu veidu -
Man šeit ir labs, un tas stabili mēra attālumu.
Viņi abi ir no 4 cm līdz 400 cm.
Darbojas ar 3,3 līdz 5 v
Sākumā mēs to visu izsmejam uz maizes dēļa.
Ultraskaņas sensors:
- GND - gnd
- Atbalss - 3 tapas
- Trig - 2 tapas
- Vcc - 5v
Termistors LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
Tam vajadzētu būt šādam:
Tālāk mēs aizpildām skici.
Lejupielādēt sensora HC-SR04 bibliotēku -
Lejupielādēt skici -
# iekļaujiet // pievienojiet bibliotēku darbam ar ultraskaņas sensoru HC-SR04
iarduino_HC_SR04 hcsr (2,3); // apzīmē kontaktus Trig un Echo
int temp = 0; // neapstrādāta temperatūra
pludiņa temp2 = 0; Gatavās temperatūras vērtība
void setup () {// palaist 1 reizi
Sērijas.begin (9600); // sāciet ostas monitoru
pinMode (A0, INPUT); // apzīmē kontaktu A0 kā ievadi
}
void loop () {// atkārto bezgalīgi vairākas reizes
temp = analogRead (A0); // nolasa kontakta A0 vērtību un piešķir tai mainīgo temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // aprēķina izejvielu vērtību pēc formulas, lai iegūtu gatavas temperatūras vērtību
Serial.println (hcsr.distance (temp2)); // porta monitorā ierakstiet gatavu diapazonu
kavēšanās (1000); // aizkavēt 1 sekundi
}
Un šeit ir skice LCD displejam -
Lejupielādēt skici -
# iekļaujiet // pievienojiet bibliotēku darbam ar ultraskaņas sensoru HC-SR04
#include // pievienojiet bibliotēku darbam ar I2C kopnes displeju
LiquidCrystal_I2C LCD (0x27, 16, 2); // apzīmē (adrese, kolonnas, līnijas)
iarduino_HC_SR04 hcsr (2,3); // apzīmē kontaktus Trig un Echo
int temp = 0; // neapstrādāta temperatūra
pludiņa temp2 = 0; Gatavās temperatūras vērtība
void setup () {// palaist 1 reizi
lcd.init (); // inicializēt displeju
LCD displejs (); // ieslēdziet displeja fona apgaismojumu
pinMode (A0, INPUT); // apzīmē kontaktu A0 kā ievadi
}
void loop () {// atkārto bezgalīgi vairākas reizes
temp = analogRead (A0); // nolasa kontakta A0 vērtību un piešķir tai mainīgo temp
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // aprēķina izejvielu vērtību pēc formulas, lai iegūtu gatavas temperatūras vērtību
lcd.setCursor (2, 0); // novietojiet kursoru uz 2 kolonas un 0 rindas
lcd.print (temp2); // uzrakstiet attālumu
lcd.setCursor (5,0); // novietojiet kursoru uz 5. kolonnu un 0. rindu
lcd.print ("cm"); // uzrakstīt cm
kavēšanās (1000); // aizkavēt 1 sekundi
}
Rakstiet komentārus un jautājumus, es atbildēšu uz visu!