//Botroniks.com:

//Test TM1637 + DHT22 or similar...
#include <TM1637Display.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
// Define the connections pins:
#define DIO 2
#define CLK 3
#define DHTPIN 12
// Create degree Celsius symbol:
const uint8_t sym_C[] = {
  SEG_A | SEG_B | SEG_F | SEG_G,  // Circle
  SEG_A | SEG_D | SEG_E | SEG_F   // C
};
// Create symbol rh:
const uint8_t sym_rh[] = {
  SEG_E | SEG_G, //r
  SEG_F | SEG_E | SEG_G | SEG_C   // h
};
// Set DHT type, uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11 
#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Create display object of type TM1637Display:
TM1637Display display = TM1637Display(CLK, DIO);
// Create dht object of type DHT:
DHT dht = DHT(DHTPIN, DHTTYPE);
//
float fTemp1; int intTemp1;
float fHum1; int intHum1;
//
void setup() { 
delay(100); 
 display.setBrightness(3); 
 display.clear();
 dht.begin(); // Setup sensor:
 delay(1000); // Wait for console opening:
delay(100);
}

void loop() {
dht.begin();
fTemp1 = dht.readTemperature();
 fHum1 = dht.readHumidity();
  intTemp1=fTemp1*10;
  intHum1=fHum1*10;
  
 //Show the temperature on the TM1637 display:
display.clear(); 
display.setSegments(sym_C, 2, 4); 
delay(1000);
display.clear(); 
 display.showNumberDecEx(intTemp1, 0b00100000, false, 4, 0);
 delay(2000);
 display.clear();

 //Show the Hum. on the TM1637 display:
 display.setSegments(sym_rh, 2, 4);
 delay(1000);
 display.clear();  
 display.showNumberDecEx(intHum1, 0b00100000, false, 4, 0);
 delay(2000);
 display.clear();
 delay(250);
} 
//
//end
