#include "DHT.h"
#define DHTTYPE DHT22
// Es handelt sich in WOKWI um den DHT22 Sensor (nur 3 PINs benutzen).
// Mit Arduino Kit benutzen wir DHT11.
// HW: Mit Blick auf die Vorderseite des DHT11 wird der linke Kontakt mit Pin 2,
// der mittlere mit 5V und der rechte mit GND am Mikrocontroller verbunden.
int DHTPIN = A0;
DHT DhtSensor (DHTPIN,DHTTYPE);
#define HIGH 1
#define LOW 0
int on = 0 , off = 1;
int pinA = 2;
int pinB = 3;
int pinC = 4;
int pinD = 5;
int pinE = 6;
int pinF = 7;
int pinG = 8;
int D1 = 9;
int D2 = 10;
int D3 = 11;
int D4 = 12;
int DP = 13;
int Zeit = 700;
void setup() {
// put your setup code here, to run once:
DhtSensor.begin();
Serial.begin(9600);
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
pinMode(DP, OUTPUT);
}
void loop() {
delay (200);
float Temp = DhtSensor.readTemperature();
int Zahl = Temp*10;
//Zerlegung der 3 Ziffer HZE:
// H = Zahl/100
// Z = (Zahl%100)/10
// E = Zahl %10
Serial.print ("Temperatur: ");
Serial.print(Temp);
Serial.println (" °C");
digitalWrite(DP, LOW);
digitalWrite(D1, on);
digitalWrite(D2, off);
digitalWrite(D3, off);
digitalWrite(D4, off);
choice(Zahl/100);
delay (Zeit);
digitalWrite(D1, off);
digitalWrite(D2, on);
digitalWrite(D3, off);
digitalWrite(D4, off);
digitalWrite(DP, HIGH);
choice((Zahl%100)/10);
delay (Zeit);
digitalWrite(DP, LOW);
digitalWrite(D1, off);
digitalWrite(D2, off);
digitalWrite(D3, on);
digitalWrite(D4, off);
choice(Zahl %10);
delay (Zeit);
digitalWrite(DP, LOW);
digitalWrite(D1, off);
digitalWrite(D2, off);
digitalWrite(D3, off);
digitalWrite(D4, on);
choice(10);
delay (Zeit);
}
void zero () {
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
}
void one (){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void two () {
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
}
void three () {
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
}
void four (){
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void five (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void six (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void seven (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
}
void eight (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void nine (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
}
void LetterC (){
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
}
void choice (int Zahl) {
switch (Zahl) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
case 10:
LetterC();
break;
}
}