Hőmérséklet és páratartalom kijelzése 4digites TM1637-as kijelzőn.

1 db Arduino Nano

1 db DHT22 szenzor

1 db 4DIGIT TM1637 kijelző


Szükségünk lesz még a  TM1637Display.h és a DHT.h könyvtárra

kapcsolási rajz:

Vázlat:

#include<TM1637Display.h>
#include"DHT.h"
#define DHTPIN 2          
#define DIOPIN 8          
#define CLKPIN 9          
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22     // DHT 22  
//#define DHTTYPE DHT21   // DHT 21 

const byte DEGREE = SEG_A | SEG_B | SEG_G | SEG_F;   
const byte CELSIUS = SEG_A | SEG_F | SEG_E | SEG_D;  
const byte O_SMALL = SEG_C | SEG_D | SEG_E | SEG_G;  
const byte HIBA[] = {                                
SEG_B | SEG_C | SEG_E | SEG_F | SEG_G,
SEG_B | SEG_C ,
SEG_C | SEG_D | SEG_E | SEG_F | SEG_G,
SEG_A | SEG_B | SEG_C | SEG_E | SEG_F | SEG_G,};
DHT dht(DHTPIN, DHTTYPE);                 
TM1637Display display(CLKPIN, DIOPIN);    
byte data[] = {0, 0, 0, 0};               
void setup() {
dht.begin ();                           
display.setBrightness(0x0F);            
}

void loop() {
float h = dht.readHumidity();           
float t = dht.readTemperature();        
if (isnan(t) || isnan(h)) {             
display.setSegments(HIBA); delay(2000);    

}else {
int tempC =int(t +0.5);             
int d1 = tempC%10;                    
int d0 = (tempC/10)%10;               
data[0] =display.encodeDigit(d0);    
data[1] =display.encodeDigit(d1);    
data[2] = DEGREE;                     
data[3] = CELSIUS;                    
display.setSegments(data);            
delay(2000);                          
int humidity =int(h +0.5);          
d1 = humidity%10;                      
d0 = (humidity/10)%10;                
data[0] =display.encodeDigit(d0);    
data[1] =display.encodeDigit(d1);   
data[2] = DEGREE;                     
data[3] = O_SMALL;                   
display.setSegments(data);            
delay(2000);                          
}
}

Vázlat és kapcsolási rajz letöltése:

4DIGIT_DHT22 (7 letöltés )

A programkód  leírás alapján készült el.

Hozzászólások Fórum

  , ,
  Egyéb kategória
placeholder user
Author:admin