user8805856

Пикабушник
Дата рождения: 19 сентября
144 рейтинг 0 подписчиков 1 подписка 2 поста 1 в горячем
24

Простое измерение температуры и влажности с выводом вышеописанного на дисплей

Здравствуйте. В этом посте расскажу о том, как сделать простую штуку для измерения температуры и влажности и выводом этого на дисплей.

Для этого нам потребуется:

Простое измерение температуры и влажности с выводом вышеописанного на дисплей Arduino, Электроника, Самоделки, Сборка, Длиннопост

LCD монитор 1602 i2c;

Простое измерение температуры и влажности с выводом вышеописанного на дисплей Arduino, Электроника, Самоделки, Сборка, Длиннопост

датчик DHT11;

Плата Arduino Uno/Mega/Nano;

Еще я использовал макетную плату.

Скетч довольно понятно объяснен. Вот он:

#include <DHT.h>  // подключаем библиотеку для датчика

#include <Wire.h>  // подключаем библиотеку для использования I2C

#include <LiquidCrystal_I2C.h> // подключаем библиотеку для использования I2C с жидкокристаллическим дисплеем

// Инициализируем объект класса DHT

DHT dht(2, DHT11);  // сообщаем на каком порту будет датчик

// Инициализируем объект класса LiquidCrystal_I2C

LiquidCrystal_I2C lcd(0x27, 16, 2);  // Указываем адрес дисплея и количество символов в строке и количество строк

void setup() {

// запускаем датчик DHT11

dht.begin(); 

// подключаем монитор порта

Serial.begin(9600);

// Инициализируем дисплей

lcd.begin(16, 2);

lcd.backlight();

}

void loop() {

// считываем температуру (t) и влажность (h)

float h = dht.readHumidity();

float t = dht.readTemperature();

// выводим температуру (t) и влажность (h) на монитор порта

Serial.print("Humidity: ");

Serial.println(h);

Serial.print("Temperature: ");

Serial.println(t);

// Выводим температуру и влажность на дисплей

lcd.setCursor(0, 0);

lcd.print("Humidity: ");

lcd.print(h);

lcd.setCursor(0, 1);

lcd.print("Temperature: ");

lcd.print(t);

delay(1000);

}

Подключение:
1. LCD монитор 1602 с I2C: Arduino GND –> ЖК-дисплей GND; Arduino 5V –> ЖК-дисплей VCC; Arduino A4 (SDA)–> ЖК-дисплей SDA; Arduino A5 (SCL) –> ЖК-дисплей SCL. После подключения ЖК-дисплея к Arduino, вам потребуется установить и подключить библиотеку LiquidCrystal_I2C для работы с I2C дисплеем. Это можно сделать следующим образом:
1) Откройте Arduino IDE и перейдите во вкладку "Инструменты".
2) Перейдите в меню "Библиотека" и выберите "Управление библиотеками".
3) В поисковой строке введите "LiquidCrystal_I2C".
4) Нажмите кнопку "Установить" рядом с библиотекой "LiquidCrystal_I2C" от Frank de Brabander.

2. Датчик DHT11:
Архив для датчика DHT11: https://drive.google.com/file/d/131vhl3eJOa_6Fvbp3SMCez-BnVB...

Простое измерение температуры и влажности с выводом вышеописанного на дисплей Arduino, Электроника, Самоделки, Сборка, Длиннопост

Подключать по сути так, остальное подключать по тексту.

Теперь, смотрим что получилось:

Простое измерение температуры и влажности с выводом вышеописанного на дисплей Arduino, Электроника, Самоделки, Сборка, Длиннопост

Результаты измерений температуры верные, погрешность в полградуса. Причин сомневаться в достоверности показаний влажности у меня нет, ибо никаких других средств измерения влажности не имею. Что бы получить правильный результат измерений, стоит оставить приспособление на минут 5, но можно и меньше.

Спасибо за прочтение, удачи вам. Если остались вопросы, пишите в комментарии. Также в комментарии пишите с идеями для проектов.

Показать полностью 4
19

Ардуино. Ультразвуковой дальномер и вывод его значений на дисплей

Здравствуйте. В этом посте расскажу как просто сделать забавное приспособление из

Ардуино. Ультразвуковой дальномер и вывод его значений на дисплей Arduino, Электроника, Сборка, Самоделки, Длиннопост

УЗ дальномер HC-SR04;

Ардуино. Ультразвуковой дальномер и вывод его значений на дисплей Arduino, Электроника, Сборка, Самоделки, Длиннопост

LCD монитор 1602 i2c;

Макетная плата, но необязательно.

Arduino Uno / Arduino Nano / Arduino Mega;

Суть проекта заключается в этом: УЗ дальномер HC-SR04 измеряет расстояние, а LCD монитор 1602 с i2c выводит это расстояние на экран. Здесь скетч для этого проекта, и объяснение что и куда подключать. Скетч имеет пояснения для лучшего понимания происходящего.

Скетч с объяснением:


#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Адрес экрана 0x27, 16 символов в 2 строки

const int trigPin = 9; // Пин для отправки ультразвукового импульса

const int echoPin = 10; // Пин для принятия отраженного сигнала

void setup() {

lcd.init(); // Инициализация LCD экрана

lcd.backlight(); // Включение подсветки экрана

pinMode(trigPin, OUTPUT); // Устанавливаем пин как выходной

pinMode(echoPin, INPUT); // Устанавливаем пин как входной

Serial.begin(9600); // Инициализация последовательной связи для отладки

}

void loop() {

long duration, distance;

digitalWrite(trigPin, LOW); // Устанавливаем пин на LOW

delayMicroseconds(2); // Задержка

digitalWrite(trigPin, HIGH); // Устанавливаем пин на HIGH

delayMicroseconds(10); // Задержка

digitalWrite(trigPin, LOW); // Устанавливаем пин на LOW

duration = pulseIn(echoPin, HIGH); // Измеряем длительность импульса

distance = (duration * 0.0343) / 2; // Вычисляем расстояние по времени

lcd.setCursor(0, 0); // Устанавливаем курсор на начало первой строки

lcd.print("Distance: "); // Выводим текст

lcd.print(distance); // Выводим измеренное расстояние

lcd.print(" cm"); // Выводим единицы измерения

delay(500); // Задержка перед следующим измерением

}

Подключение:
1. УЗ дальномер HC-SR04: Подключите пины Trig и Echo к пинам 9 и 10 на Arduino соответственно. Также подключите VCC к 5V на Arduino, а GND к GND на Arduino.

2. LCD монитор 1602 с I2C: Подключите SDA к A4 на Arduino, SCL к A5 на Arduino, VCC к 5V на Arduino, а GND к GND на Arduino.

Спасибо тем, кто прочел, всем удачи. В комментарии пишите что еще стоит сделать. Туда же можете писать вопросы по проекту.

Показать полностью 1
Отличная работа, все прочитано!