Ezt a HC-SR04 ultrahangos távolságmérőt továbbfejlesztették az LM35 hőmérséklet-érzékelővel.
Az iskolából emlékeztethet arra, hogy a hangsebesség a levegő sűrűségétől függ, a levegő sűrűsége pedig a hőmérséklettől függ.
A hőmérsékletet ezen képlet segítségével számoljuk ki
temp2 = (temp / 1023,0) * 5,0 * 1000/10;
Ahol temp2 a kész hőmérsékleti érték a kész hőmérsékleten,
És ahol a temp az érzékelő nyers értéke.
Amire szükségünk van:
- Ultrahangos távolságmérő HC-SR04
- Arduino
- prototípus tábla
- blúz
- LM35 termisztor (hőmérséklet-érzékelő)
Ne feledje, hogy a HC-SR04 kétféle formában jelenik meg -
Itt van egy jó, és stabil mérni a távolságot.
Mindkettő 4 cm-től 400 cm-ig terjed.
3,3 - 5 v
Először is mindent felteszünk egy kenyérdeszkára.
Ultrahangos érzékelő:
- GND - gnd
- Echo - 3 tű
- Trig - 2 csap
- Vcc - 5v
LM35 termisztor:
- 1 - 5v
- 2 - A0
- 3 - GND
Ennek a következőnek kell lennie:
Ezután töltsük ki a vázlatot.
Töltse le a HC-SR04 érzékelő könyvtárát -
Vázlat letöltése -
#include // csatlakoztassa a könyvtárat a HC-SR04 ultrahangos érzékelővel való működéshez
iarduino_HC_SR04 hcsr (2,3); // a Trig és Echo névjegyeket jelölik
int temp = 0; // nyers hőmérséklet
float temp2 = 0; // kész hőmérsékleti érték
void setup () {// futtatás egyszer
Serial.begin (9600); // indítsa el a portfigyelőt
pinMode (A0, INPUT); // jelöli az A0 érintkezőt bemenetként
}
void loop () {// végtelen számú alkalommal ismétlődik
temp = analogRead (A0); // olvassa le az A0 érintkező értékét, és rendelje hozzá a változó hőmérsékletet
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // a képlet alapján számítsa ki a nyers értéket, hogy megkapja a kész hőmérsékleti értéket
Serial.println (hcsr.distance (temp2)); // írja be a kész tartományt a portmonitorba
késleltetés (1000); // késleltetés 1 másodperc
}
És itt van egy vázlat egy LCD-kijelzőhöz -
Vázlat letöltése -
#include // csatlakoztassa a könyvtárat a HC-SR04 ultrahangos érzékelővel való működéshez
#include // csatlakoztassa a könyvtárat az I2C busz kijelzőjéhez való működéshez
LiquidCrystal_I2C lcd (0x27, 16, 2); // jelölés (cím, oszlopok, sorok)
iarduino_HC_SR04 hcsr (2,3); // a Trig és Echo névjegyeket jelölik
int temp = 0; // nyers hőmérséklet
float temp2 = 0; // kész hőmérsékleti érték
void setup () {// futtatás egyszer
lcd.init (); // inicializálja a kijelzőt
lcd. háttérvilágítás (); // kapcsolja be a kijelző háttérvilágítását
pinMode (A0, INPUT); // jelöli az A0 érintkezőt bemenetként
}
void loop () {// végtelen számú alkalommal ismétlődik
temp = analogRead (A0); // olvassa le az A0 érintkező értékét, és rendelje hozzá a változó hőmérsékletet
temp2 = (temp / 1023,0) * 5,0 * 1000/10; // a képlet alapján számítsa ki a nyers értéket a kész hőmérsékleti érték megkapásához
lcd.setCursor (2, 0); // vigye a kurzort 2 oszlopra és 0 sorra
lcd.print (temp2); // írja meg a távolságot
lcd.setCursor (5,0); // vigye a kurzort az 5. oszlopra és a 0. sorra
lcd.print ("cm"); // írj cm
késleltetés (1000); // késleltetés 1 másodperc
}
Írjon megjegyzéseket és kérdéseket, mindent megválaszolok!