Този ултразвуков далекомер 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 секунда
}
   Пишете коментари и въпроси, ще отговоря на всичко!




