#include <DHT.h>
#include "TM1637Display.h"
TM1637Display display(5, 4);
DHT dht(3, DHT22);
const uint8_t gradus[] = {
SEG_A | SEG_F | SEG_B | SEG_G
};
const uint8_t C[] = {
SEG_A | SEG_F | SEG_E | SEG_D
};
const uint8_t off[] = {
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,
SEG_A | SEG_E | SEG_F | SEG_G,
SEG_A | SEG_E | SEG_F | SEG_G
};
int temp, tempNow;
bool enabled = false;
void setup() {
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(2, OUTPUT);
dht.begin();
display.setBrightness(7);
display.clear();
}
void loop() {
while (enabled) {
tempNow = dht.readTemperature();
display.showNumberDec(temp, false, 2, 0);
display.setSegments(gradus, 1, 2);
display.setSegments(C, 1, 3);
if (digitalRead(6) == LOW)temp++;
if (digitalRead(7) == LOW)temp--;
if (temp > 50)temp = 50;
if (temp > tempNow)digitalWrite(2, HIGH);
else digitalWrite(2, LOW);
if (digitalRead(8) == LOW) {
delay(500);
display.clear();
enabled = false;
}
delay(150);
}
digitalWrite(2, LOW);
display.setSegments(off, 3, 1);
if (digitalRead(8) == LOW) {
delay(500);
display.clear();
enabled = true;
}
}