ЭЛЕКТРОННЫЙ ТЕРМОМЕТР-ГИГРОМЕТР
Цель работы
Принципиальная схема термометра-гигрометра
Описание логики работы программы
Датчик DHT11
Сборка измерителя влажности и температуры
Скетч
Заключение
585.40K
Категория: ЭлектроникаЭлектроника

ЭЛЕКТРОННЫЙ

1. ЭЛЕКТРОННЫЙ ТЕРМОМЕТР-ГИГРОМЕТР

Разработал: Гиреев Никита
МБОУ СОШ № 53
г. Ижевск
2025 г.

2. Цель работы

Изготовить электронный измеритель
температуры и влажности воздуха для теплицы с
индикацией неблагополучных условий в помещении
Этапы работы
• Изучение литературы
• Выбор электронных компонентов
• Макетирование схемы
• Программирование контроллера
• Изготовление корпуса
• Установка компонентов в корпус
• Испытания

3. Принципиальная схема термометра-гигрометра

4. Описание логики работы программы

По схеме, МК управляет питанием датчика
влажности и питанием ЖКИ.Т. к. устройство
большую часть времени находится в состоянии
покоя , то его можно перевести в режим глубоко
сна, в котором он потребляет менее 4 мкА!
Кнопки:
— кнопка «PWR»
— кнопка «С»
— кнопка «RH»

5. Датчик DHT11

— диапазон измеряемой температуры:
0-50°С (значение температуры также 8 бит)
— точность температурного сенсора: ±2°С
— точность сенсора влажности: ±5% RH
— шаг измеряемых значений: 1
— однопроводной протокол передачи данных
— частота измерений: 1 секунда
— напряжение питания: 3.5-5.5 V
— потребляемый ток в режиме измерения: 2 мА
— потребляемый ток в режиме ожидания: 150 мкА

6. Сборка измерителя влажности и температуры

Сборка измерителя влажности
и температуры
• Корпус взял от Ethernet-сплиттера, печатную
плату вытравил с двух сторон, на лицевой части
находится основная часть электроники,
а на задней датчик и коробочка для вставки
батареек.

7.

8. Скетч


#include <LiquidCrystal.h>
byte t = dht.readTemperature();
#include "DHT.h"
lcd.setCursor(0,0);
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
lcd.print("TEM");
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.print(char(2));
DHT dht(9, DHT11);
lcd.print("EPAT");
byte gradus[8] = {0b01100,0b10010,0b10010,0b01100,0b00000,0b00000,0b00000,0b00000};
lcd.print(char(3));
byte P[8] = {0b11111,0b10001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000};
lcd.print("PA: ");
byte Y[8] = {0b10001,0b10001,0b10001,0b01111,0b00001,0b00001,0b01110,0b00000};
lcd.print(t);
byte L[8] = {0b00111,0b01001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000};
lcd.print(char(1));
byte ZH[8] = {0b10101,0b10101,0b10101,0b01110,0b10101,0b10101,0b10101,0b00000};
lcd.setCursor(2,1);
byte znak[8] = {0b10000,0b10000,0b10000,0b11110,0b10001,0b10001,0b11110,0b00000};
lcd.print("B");
lcd.print(char(4));
void setup() {
lcd.print("A");
lcd.begin(16, 2);
lcd.print(char(5));
lcd.createChar(1, gradus);
lcd.print("HOCT");
lcd.createChar(2, P);
lcd.print(char(6));
lcd.createChar(3, Y);
lcd.print(": ");
lcd.createChar(4, L);
lcd.print(h);
lcd.createChar(5, ZH);
lcd.print("%");
lcd.createChar(6, znak);
if (h<=40 || h>=60) digitalWrite(8, HIGH);
if (t<=18 || t>=24) digitalWrite(8, HIGH);
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
}
void loop() {
byte h = dht.readHumidity();
delay(500);
digitalWrite(8, LOW);
delay(500);

9. Заключение

Термометр - гигрометр работает .
Поставленные цели и задачи выполнены
Спасибо за внимание!
English     Русский Правила