Arduino часы. Видео 2. Подключаем к Arduino TM1637 и датчик DHT11
В
Виде «Светодиодные
часы на Arduino. Паяем
74HC595N
для управления
LED», я
начел собирать светодиодные
часы на Arduino. Спаял систему управления
светодиодами которые показывают время
с помощью 28 светодиодов с точностью до
минуты.
В
этом видео я подключаю к
Arduino семисегментный
индикатор TM1637
и
датчик DHT11
. Пишу
скетч который считывает
показание
температуры и влажность с
датчик
DHT11
и
выводит
на с
емисегментный
индикатор
TM1637.
Схема
подключения к
Arduinoсемисегментный индикатор TM1637
и датчик DHT11
выглядит
вот так.
Скетч
для данной схемы
#include "dht.h"
#include "TM1637.h"
//{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//0~9,A,b,C,d,E,F
#define dht_pin 2 // Pin sensor
#define CLK 3//Pins for TM1637
#define DIO 4
TM1637 tm1637(CLK,DIO);
dht DHT;
void setup(){
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7 0-7;
delay(1500);//Delay
}
void loop(){
DHT.read11(dht_pin);
int temp = DHT.temperature;
int humidity = DHT.humidity;
int digitoneT = temp / 10;
int digittwoT = temp % 10;
int digitoneH = humidity / 10;
int digittwoH = humidity % 10;
tm1637.display(1,digitoneT);
tm1637.display(2,digittwoT);
tm1637.display(3,12); // C
delay (5000);
tm1637.display(1,digitoneH);
tm1637.display(2,digittwoH);
tm1637.display(3,15); // F
delay(5000);
}
Библиотека
TM1637.h
позволяет нам вывести символы
«0~9,A,b,C,d,E,F».
Цифры
от 0 до 9 выводят на экран соответственную
цифру, а цифры от 10 до 15 выводят буквы
A,b,C,d,E,F.
Для
обозначения температуры
выведу
символ C равный
12,
а для обозначения
влажности выведу
на
семи
сегментный
индикатор
TM1637
символ F равный
15.
Считываем
показание с
дачка DHT11.
В
переменную temp сохраняем значение
температуры в значение humidity влажности.
DHT.read11(dht_pin);
int temp = DHT.temperature;
int humidity = DHT.humidity;
Так
как на семи сегментный индикатор мы
можем выводить информацию посимвольно.
Разделим значение температуры на десятки
и
единицы
для этого значение
температуры разделим на 10. Для того
чтобы получить единицы температура
возьмем остаток от деления на 10.
int digitoneT = temp / 10;
int digittwoT = temp % 10;
Аналогично
разделим
значение
влажности на десятки и единицы.
int digitoneH = humidity / 10;
int digittwoH = humidity % 10;
Выведем
значение на семи сегментный индикатор.
Начнем формировать со второго символов.
Последним
значением выведем символ С, для температура
и F для влажности.
tm1637.display(1,digitoneT);
tm1637.display(2,digittwoT);
tm1637.display(3,12); // C
delay (5000);
tm1637.display(1,digitoneH);
tm1637.display(2,digittwoH);
tm1637.display(3,15); // F
delay(5000);
В
следующем видео по сборке LED часов на
Arduino подключу к микроконтроллеру Arduino модуль
реального времени
DS3231. Выведу
время на семи
сегментный
индикатор TM1637. Подключу инфракрасный
приемник
и напишу программу которая
позволит настраивать время с помощью
пульта дистанционного управления.
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.