Хичээл 23 Термометр
Энэхүү хичээлээр бид LCD дэлгэц дээр орчны температурын утгыг хэвлэж харуулах бөгөөд үүнийг хийхдээ термисторыг ашиглах юм. Үр дүнд нь бид термистор гэж юу болох түүнийг хэрхэн ашиглах талаар мэдлэгтэй болох юмаа.
Хэрэглэгдэхүүн:
- Ардиуно 1ш
- LCD дэлгэц 1ш
- 10к ом эсэргүүцэл 1ш
- Термистор 1ш
- Потенциометр 1ш
- Туршилтын хавтан 1ш
- М-М утас 18ш
Термистор гэж юу вэ?
Термистор нь температураас хамааран өөрчлөгддөг эсэргүүцэл юм. Тэд маш мэдрэмтгий бөгөөд температурын маш бага өөрчлөлтөд хариу үйлдэл үзүүлдэг. Тэдгээрийг тодорхой температурыг хадгалах шаардлагатай үед, мөн орчны температурыг 50 ° C-аас доошгүй байлгахад хамгийн сайн ашигладаг. Ардиуно ашиглан термисторын эсэргүүцлийн хэмжээ температураас хэрхэн хамаардаг талаар судлах нь бидний ажлын гол зорилго юм.

Зарчмын схем


Программ
Программын гол зорилго нь термисторын мэдээллийг боловсруулан LCD дэлгэц дээр орчны температуурын утгыг хэвлэх бөгөөд жишээ болгон дэлгэц дээр температурын утгыг цельс болон фаренгейтийн хувиараар хэвлэх кодыг орууллаа. Энэхүү кодыг туршиж зөв ажиллаж байгааг шалгаж дүгнэлт хийгээрэй.
#include <LiquidCrystal.h>
int tempPin = 0;
// BS E D4 D5 D6 D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
int tempReading = analogRead(tempPin);
// This is OK
double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK ); // Temp Kelvin
float tempC = tempK - 273.15; // Convert Kelvin to Celcius
float tempF = (tempC * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
/* replaced
float tempVolts = tempReading * 5.0 / 1024.0;
float tempC = (tempVolts - 0.5) * 10.0;
float tempF = tempC * 9.0 / 5.0 + 32.0;
*/
// Display Temperature in C
lcd.setCursor(0, 0);
lcd.print("Temp C ");
// Display Temperature in F
//lcd.print("Temp F ");
lcd.setCursor(6, 0);
// Display Temperature in C
lcd.print(tempC);
// Display Temperature in F
//lcd.print(tempF);
delay(500);
}

