/*
Showing number 0-9 on a Common Anode 7-segment LED display
Displays the numbers 0-9 on the display, with one second inbetween.
A
---
F | | B
| G |
---
E | | C
| |
---
D
This example code is in the public domain.
*/
//invert HIGH LOW on off for Arduino HW
#include "DHT.h" //DHT Bibliothek laden
#define DHTTYPE DHT22 // Arduino HW DHT11
int DHTPIN = 13;
// Es handelt sich in WOKWI um den DHT22 Sensor (nur 3 PINs benutzen). Mit Arduino Kit benutzen wir DHT11
DHT DhtSensor (DHTPIN, DHTTYPE); //Der Sensor wird ab jetzt DhtSensor genannt
//DHT11 HW: Mit Blick auf die Vorderseite des DHT11 wird der linke Kontakt mit Pin 13,
// der mittlere mit 5V und der rechte mit GND am Mikrocontroller verbunden.
#define HIGH 0
#define LOW 1
int on = 1, off = 0;
// Pin 2-8 is connected to the 7 segments of the display.
int TimeDisplay = 300;
int pinA = 2;//red
int pinB = 3;//grey
int pinC = 4;//brown
int pinD = 5;//purple
int pinE = 6;//pink
int pinF = 7;//yellow
int pinG = 8;// brown
int D1 = 9; //blue
int D2 = 10; // green
int D3 = 11;//orange
int D4 = 12;//black
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pins as outputs.
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);
Serial.begin(9600); //Serielle Verbindung starten
DhtSensor.begin(); //DHT Sensor starten
}
void loop() {
int Temperatur = DhtSensor.readTemperature();
Serial.print("Temperatur: ");
Serial.print(Temperatur);
Serial.println("° Celsius");
digitalWrite(D1, on);
digitalWrite(D2, off);
digitalWrite(D3, off);
digitalWrite(D4, off);
choice(Temperatur/100);
//choice (random (0, 10));
delay(TimeDisplay);
digitalWrite(D1, off);
digitalWrite(D2, on);
digitalWrite(D3, off);
digitalWrite(D4, off);
choice((Temperatur%100)/10);
//choice (random (0, 10));
delay(TimeDisplay);
digitalWrite(D1, off);
digitalWrite(D2, off);
digitalWrite(D3, on);
digitalWrite(D4, off);
choice(Temperatur%10);
//choice (random (0, 10));
delay(TimeDisplay);
digitalWrite(D1, off);
digitalWrite(D2, off);
digitalWrite(D3, off);
digitalWrite(D4, on);
choice(10);
//choice (random (0, 10));
delay(TimeDisplay);
}
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 ten (){
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:
ten();
break;
}
}