Этот проект представляет собой простой термометр, который прост в использовании и дает точные результаты.

Принцип работы данного цифрового термометра довольно прост. Температура измеряется с помощью датчика LM35 и подается на плату Arduino, которая после обработки значений выдает показание температуры на ЖК-дисплей. Также для задач дополнительной индикации имеются светодиоды.
Когда температура превышает 35 градусов по Цельсию, светится зеленый светодиод. При температуре ниже 35 градусов по Цельсию горит красный светодиод. Также здесь потенциометр 10 кОм используется для установки контрастности ЖК-экрана 16x2.
LM35 представляет собой датчик температуры, который выдает аналоговый сигнал на выходе, который линейно пропорционален температуре в градусах Цельсия. LM35 имеет три контакта. PIN 1 – Vcc, это контакт питания 5 В. PIN 2 – Vout, выводной сигнал (он должен быть подключен к аналоговому выводу ардуино). PIN 3 – GND, он используется для заземления.

Выходное напряжение LM35 прямо пропорционально шкале градусов по Цельсию, а 10 мВ соответствует 1 градусу Цельсия. LM35 может измерять от -50 до 150 градусов Цельсия. Разрешение аналогового вывода Arduino составляет от 0 до 1023, т. е. при входе +5 В он считает 1023 бита. Максимальное входное напряжение LM35 составляет 1500 мВ (максимальная температура 150 градусов Цельсия) или 1,5 В (максимальное выходное напряжение).
Таким образом, при 1,5 В значение на аналоговом выводе после оцифровки с помощью АЦП будет равно (1,5 / 5) * 1023 = 306,9. Итого, разрешение LM35 составит 306,9 / 150 = 2,046, что соответствует изменению температуры по Цельсию LM35 на 1 градус.
Схема подключения компонентов цифрового термометра на основе Arduino и датчика температуры LM35 следующая:

Код программы цифрового термометра следующий:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
#define LM35_sensor A0
byte degree[8]={
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int LEDR = 5;
int LEDG = 7;
void setup() {
pinMode(LEDR,OUTPUT);
pinMode(LEDG,OUTPUT);
lcd.begin(16,2);
lcd.createChar(1, degree);
lcd.setCursor(0,0);
lcd.print(" DIGITAL ");
lcd.setCursor(0,1);
lcd.print(" THERMOMETER ");
delay(2800);
lcd.clear();
}
void loop() {
float analog_read = analogRead(LM35_sensor);
float temp = analog_read/2.046 ;
delay(10);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TEMPERATURE");
lcd.setCursor(4,1);
lcd.print(temp);
lcd.write(1);
lcd.print("C");
delay(1000);
if(temp<35)
{
digitalWrite(LEDG,LOW);
digitalWrite(LEDR,HIGH);
}
else{
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,HIGH);
}
}
Подключите все согласно схеме и загрузите код в Arduino. После этого можно проверить работоспособность устройства.

Значение температуры отображается на ЖК-дисплее. Когда температура превышает 35 градусов Цельсия, зеленый светодиод светится, как показано далее:

Когда температура становится ниже 35 градусов Цельсия, красный светодиод светится, как показано на следующем изображении.

© digitrode.ru