Този ултразвуков далекомер HC-SR04 е подобрен с LM35 сензор за температура.
От училище можете да си припомните, че скоростта на звука зависи от плътността на въздуха, а плътността на въздуха зависи от температурата.
Ще изчислим температурата, използвайки тази формула
temp2 = (temp / 1023.0) * 5.0 * 1000/10;
Където temp2 е крайната стойност на температурата след формулата,
И където temp е суровата стойност от сензора.
От какво се нуждаем:
- Ултразвуков далекомер HC-SR04
- Arduino
- прототипи борда
- джъмпери
- Термистор LM35 (Температурен датчик)
Имайте предвид, че HC-SR04 се предлага в две форми -
Тук имам добър и той стабилно измерва разстоянието.
И двете измерват от 4 см до 400 см.
Захранва се с 3.3 до 5 v
Като начало, ние се подиграваме на всичко това на дъска.
Ултразвуков сензор:
- GND - gnd
- Ехо - 3 пина
- Trig - 2 пина
- Vcc - 5v
Термистор LM35:
- 1 - 5v
- 2 - A0
- 3 - БНД
Трябва да е така:
След това попълваме скицата.
Изтеглете библиотеката за HC-SR04 сензор -
Изтеглете скица -
#include // свържете библиотеката за работа с ултразвуковия сензор HC-SR04
iarduino_HC_SR04 hcsr (2,3); // обозначават контакти Триг и Ехо
int temp = 0; // сурова температура
float temp2 = 0; // Готова стойност на температурата
void setup () {// пусни 1 път
Serial.begin (9600); // стартирайте монитора на порта
pinMode (A0, INPUT); // обозначават контакт A0 като вход
}
void loop () {// повтаря безкраен брой пъти
temp = analogRead (A0); // прочетете стойността на контакта A0 и му присвойте променливата temp
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // изчислете суровата стойност по формулата, за да получите стойността на готовата температура
Serial.println (hcsr.distance (temp2)); // напишете готовия диапазон в монитора на порта
забавяне (1000); // забавяне 1 секунда
}
И тук е скица за LCD дисплей-
Изтеглете скица -
#include // свържете библиотеката за работа с ултразвуковия сензор HC-SR04
#include // свържете библиотеката за работа с дисплея на I2C шината
LiquidCrystal_I2C lcd (0x27, 16, 2); // обозначаване (адрес, колони, редове)
iarduino_HC_SR04 hcsr (2,3); // обозначават контакти Триг и Ехо
int temp = 0; // сурова температура
float temp2 = 0; // Готова стойност на температурата
void setup () {// пусни 1 път
lcd.init (); // инициализирайте дисплея
lcd.backlight (); // включете подсветката на дисплея
pinMode (A0, INPUT); // обозначават контакт A0 като вход
}
void loop () {// повтаря безкраен брой пъти
temp = analogRead (A0); // прочетете стойността на контакта A0 и му присвойте променливата temp
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // изчислете суровата стойност по формулата, за да получите стойността на готовата температура
lcd.setCursor (2, 0); // поставете курсора на 2 колона и 0 ред
lcd.принт (temp2); // напишете разстоянието
lcd.setCursor (5,0); // поставете курсора върху 5-та колона и 0-ти ред
lcd.принт ("см"); // напишете cm
забавяне (1000); // забавяне 1 секунда
}
Пишете коментари и въпроси, ще отговоря на всичко!