long prev,prev2;
boolean off=false;
int wert;
int transistorpin1=52;
int transistorpin2=10;
int transistorpin3=5;
int pin[]= {38,39,40,41,42,43,44};
//abcdefg
int pin_len= 7;
int pin_taster=13;
int helligkeit;
int segmente [11][7] ={
{1,1,1,1,1,1,0},
{0,1,1,0,0,0,0},
{1,1,0,1,1,0,1},
{1,1,1,1,0,0,1},
{0,1,1,0,0,1,1},
{1,0,1,1,0,1,1},
{1,0,1,1,1,1,1},
{1,1,1,0,0,0,0},
{1,1,1,1,1,1,1},
{1,1,1,1,0,1,1},
{0,0,0,0,0,0,0}};//display clear
int segmente2 [11] ={
B01111110,
B00110000,
B01101101,
B01111001,
B00110011,
B01011011,
B01011111,
B01110000,
B01111111,
B01111011,
B00000000};
//42f43g34e35d4.3c2b22a;
void setup() {
pinMode(transistorpin1,OUTPUT);
pinMode(transistorpin2,OUTPUT);
pinMode(transistorpin3,OUTPUT);
pinMode(pin_taster,INPUT);
digitalWrite(pin_taster,HIGH);
Serial.println(digitalRead(pin_taster));
for (int i=0; i<pin_len;i++) {
pinMode(pin[i],OUTPUT);
ansteuerung(10);
Serial.begin(9600);
prev=millis();
}}
void loop() {
//Serial.println(analogRead(8));
//Serial.println(digitalRead(pin_taster));
if (digitalRead(pin_taster)!=1) {
if ((millis()-prev2)>500){
Serial.println("aus");
anzeige(-1);
toggleanzeige();
off=!off;
prev2=millis();
}
}
else {
if ((millis()-prev)>1000){
wert=random(1,100);
helligkeit=analogRead(8);
wert=map(helligkeit,0,1000,0,999);
if (helligkeit>1000)
wert=999;
//Serial.println(analogRead(8));
prev=millis();
}
if (off!=1)
//for (wert=0;wert<1000; wert++)
anzeige(wert);
}
}
void anzeige(int zahl) {
int einer, zehner, hunderter;
hunderter=zahl/100;
zehner=zahl%100/10;
einer=zahl%10;
/*
Serial.println("hunderter:"+String(hunderter));
Serial.println("zehner:"+String(zehner));
Serial.println("einer:"+String(einer));
*/
//Serial.println("zahl:"+String(zahl));
digitalWrite(transistorpin2, LOW);
digitalWrite(transistorpin1, HIGH);
digitalWrite(transistorpin3, HIGH);
delay(2);
if (zahl==-1)
ansteuerung(10);
else
ansteuerung(einer);
digitalWrite(transistorpin2, HIGH);
digitalWrite(transistorpin3, HIGH);
digitalWrite(transistorpin1, LOW);
delay(2);
if (zahl==-1)
ansteuerung(10);
else
ansteuerung(zehner);
digitalWrite(transistorpin2, HIGH);
digitalWrite(transistorpin1, HIGH);
digitalWrite(transistorpin3, LOW);
delay(2);
if (zahl==-1)
ansteuerung(10);
else
ansteuerung(hunderter);
void ansteuerung(int a) {
delay(5);
for (int j=6; j>=0; j--)
digitalWrite(pin[6-j], bitRead(segmente2[a], j)==1?HIGH:LOW);
}