В Виде «Светодиодные часы на 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.
#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
Считываем показание с дачка 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. Подключу инфракрасный приемник и напишу программу которая позволит настраивать время с помощью пульта дистанционного управления.
Понравилась статья? Поделитесь ею с друзьями:
Вернуться в раздел: Проекты на Arduino Дата публикации 17 апреля , 2017
Читайте также
Не работает, ошибка при проверке
Все работает. Спасибо!
Добавил к схеме часы и теперь это почти метеостанция).
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.