вывод данных с DHT11 на TM1637. Arduino

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Давно хотел собрать простой пирометр чтоб не обжигать себе пальцы или губы. Решил сделать на семисигментном индикаторе TM1637 и инфракрасном датчике температуры MLX90614 (GY-906). Месяц поиска скетча в интернете ничего не дал. Есть на разных: от NOKIA до OLED и разных других. На моём индикаторе упорно никто не хотел делать пирометр. В программировании я полный ноль, да и в свои 50 лет уже поздно учиться этому. Почти разочарованный в своём безнадёжном проекте я случайно нашел ваше видео. Через 15 минут после просмотра произошло чудо! Я вашим методом слепил два скетча и у меня всё заработало! ОГРОМНОЕ Вам спасибо. Однозначно ставлю лайк и подписываюсь. На всякий случай вот скетч который я наваял, может кому пригодится.

#include "TM1637.h"
#define CLK 9 //пины можно назначить свои для удобства подключения
#define DIO 8
TM1637 disp(CLK, DIO);

#include <Adafruit_MLX90614.h>
//подключение пирометра GY-906 по I2C: SDA - A4, SCL - A5

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup()
{
disp.set(BRIGHT_TYPICAL); //BRIGHT_TYPICAL = 2, BRIGHT_DARKEST = 0, BRIGHTEST = 7;
// это яркость

disp.init(D4056A); //D4056A is the type of the module
// не знаю зачем это, но если закомментировать то исчезнут точки

Serial.begin(9600);
mlx.begin();
}
void loop()
{
// 10 -> A, 11 -> b, 12 ->C, 13 -> d, 14 -> E, 15 -> F
// 16 -> -, 17 -> пусто, 18 -> градус, 19 -> r, 20 -> h,
// 21 -> n, и ещё много других символов
// Serial.print("Ambient = "); //температура датчика
Serial.print("*C\tObject = "); // температура объекта
// // температура датчика
// delay(1000);
// температура объекта с точками
// // без точек
disp.display(3, 18); // знак градуса, 3 - на 4-м сегменте, 18 - нолик вверху
delay(1000); // обновление раз в секунду

}

Показывает и больше 99 градусов и минус при отрицательной. Всё то что мне нужно, ничего лишнего. Высокая точность мне не нужна изначально.

pashasi
Автор

давно искал такой урок, все просто и понятно объяснил, а главное выложил библиотеки вместе со скетчем! большое спасибо!

gdqubjk
Автор

спасибо вечером посмотрю шас просто некогда. А вобше хочу заметить вы очень доходчиво обьясняете .В принцепе я далёкий от ардуино только только начинаю вникать ито думаю пошагово следуя вашим советам в видео смог бы прописать данный скейч. просто реально шас нет времени хочется пока просто воткнуть скечь и проверить как это будет работать. но потом для развития конечно надо будет самому пошагово следуя советам из вашего видео самому написать

MultiWnn
Автор

Понравилось очень.
Покажи как с двух датчиков выводить информацию на два разных дисплея?
Взять два энкодера кпримеру и выводить данные на два разных дисплея.
Можно так же на три дисплея с трёх датчиков к примеру добавить тахометр (или спидометр) с третьего энкодера

Rin_Media
Автор

Всё работает, подключил DHT22. Вот как бы подключить часики (DS3231-есть в наличии) вообще шикарно было бы. Бьюсь уже неделю, не могу вывести время с часиков на th1637, время в часиках уже установлено. Поможете?

ypktimh
Автор

Залил ваш скетч, всё заработало спасибо.Единственное у вас в описании в скетче ошибка датчик подключен к 5 пину а в описании что ко 2 ....iarduino_DHT sensor(5); // объявляем переменную для работы с датчиком DHT, указывая номер цифрового вывода к которому подключён датчик (сейчас 2pin)....

MultiWnn
Автор

Я бы хотел вывести показания на три таких индикатора. Первый - температура (зимой со знаком минус, без десятых долей, с знаком "градус"), Второй - влажность (на три сигмента, 001-100), Третий - давление (три сигмента как во влажности). Датчики DHT22 и BMP180 соответственно. Мне 50 лет и я не шарю в программировании, а хотелось бы сотворить такую себе метеостанцию для дома, для семьи. Поможете?

pashasi
Автор

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

MultiWnn
Автор

здравствуйте или я вобще дерево.Но я в архиве не нащол именно того скетчя что вы делали на видео.Или его там попросту нету?

MultiWnn