Die Taschenlampe hat mein Vater etwa im Jahr 2005 in irgendeinem Baumarkt gekauft. Sie hatte eine halogene
Glühlampe, einen kleinen LED Klaster Ring und eine hintere Rückbeleuchtung die Rot war. Versogt wurden die Lichtspender mit
einem 6 V 4,4 Ah Bleigelblock. Trotz der großen Akkuleistung war die Taschenlampe nach 2 Stunden dunkel. Da keine
Tiefenentladungssicherung für den Akku eingebaut war ging dieser nach spätestens einem Jahr kaputt.
Ungefähr 10 Jahre
lang lag die Taschenlampe in der Garage meines Vaters herum mit dem Status: "Das reparieren wir". Nach den 10 Jahren habe
ich die Taschenlampe als nützliche Hülle für mich entdeckt und "repariert".
Die Taschenlampe kann verschiedende Farben in unterschiedlichen Mustern darstellen. Gleichzeitig soll die Taschenlampe
bei einem Eingang von dem 433 MHz Empfänger sofort in ein neues Muster springen. Es soll auch möglich sein, zwei Muster gleichzeitig
darzustellen. Um die Anwendung meiner Taschenlampe besser zu verstehen lade ich Sie dazu ein, sich das kommende Video anzusehen,
und sich erst dann den Quellcode und die dazu passende Beschreibung anzusehen.
Wir sind es mittlerweile alle gewohnt professionelle Youtube Videos zu sehen bei denen die Sprechenden und darstellenden Personen
genau wissen was sie machen müssen um ein spannendes Video zu gestalten.
Ich weiß es nicht.
Wünsche trozdem viel Spaß.
#include <PWM.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
//Pinbelegung
int blau = 9;
int rot = 10;
int gruen = 3;
int taster1 = 7;
int taster2 = 8;
int weiss = 5;
int poti = A0;
int habeEmpfangen = 0;
int spannung = A1;
int reele = 6;
//Variablen
int32_t frequenz = 100;
int potiRot1Wert = 1; //wird fürs dimmen von der weißen lampe benutzt
int potiBlau1Wert = 0;
int potiGruen1Wert = 0;
int tasterZahl1 = 0;
int potiRot2Wert = 0;
int potiBlau2Wert = 0;
int potiGruen2Wert = 0;
int tasterZahl2 = 0;
int program1 = 0;
int program2 = 0;
int rotAlt = 0;
int blauAlt = 0;
int gruenAlt = 0;
long hellSkroboskop = 0;
long dunkelSkroboskop = 0;
long dunkelWeissLicht = 0;
long hellWeissLicht = 0;
long zaelerBuntSkob = 0;
long BuntSkobZeit = 0;
int zaehlerRot = 0;
int zaelerGruen = 0;
int zaelerBlau = 0;
int farbwechselWarten = 0;
long zaelerFarben = 0;
long WeicherFarbwechselZeitKurz = 0;
long WeicherFarbwechselZeit = 0;
long zaelerFarbenHart = 0;
long HarterFarbwechselZeitKurz = 0;
void setup() {
pinMode(blau, OUTPUT);
pinMode(rot, OUTPUT);
pinMode(gruen, OUTPUT);
pinMode(weiss, OUTPUT);
pinMode(taster1, INPUT);
pinMode(taster2, INPUT);
pinMode(poti, INPUT);
pinMode(spannung, INPUT);
pinMode(reele, OUTPUT);
InitTimersSafe();
SetPinFrequencySafe(blau, frequenz);
SetPinFrequencySafe(rot, frequenz);
SetPinFrequencySafe(gruen, frequenz);
SetPinFrequencySafe(weiss, frequenz);
Serial.begin(9600);
mySwitch.enableReceive(0); // Empfänger ist an Interrupt-Pin "0" - Das ist am UNO der Pin2
digitalWrite(reele, 1);
delay(500);
}
void Farbwahl(int FarbeRot, int FarbeGruen, int FarbeBlau ) {
pwmWrite( blau, FarbeBlau);
pwmWrite(rot, FarbeRot);
pwmWrite(gruen, FarbeGruen);
/* Serial.print(" x FarbeRot : ");
Serial.print(FarbeRot);
Serial.print(" FarbeGruen: ");
Serial.print(FarbeGruen);
Serial.print(" FarbeBlau : ");
Serial.println(FarbeBlau);
*/
rotAlt = FarbeRot;
gruenAlt = FarbeGruen;
blauAlt = FarbeBlau;
}
void Feuer() {
pwmWrite( blau, random(1, 20));
pwmWrite(rot, random(1, 1023));
pwmWrite(gruen, random(1, 10));
delay(random(1, 100));
}
void Laub() {
pwmWrite( gruen, random(1, 10));
pwmWrite(rot, random(50, 100));
pwmWrite(blau, random(800, 1023));
delay(random(100, 300));
}
int SucheNachWert( int empfang) {
int wert = 0;
int value = mySwitch.getReceivedValue();
if (empfang == value) {
while (empfang == value) {
value = mySwitch.getReceivedValue();
wert = value;
Serial.print(""); Serial.print(""); //verstehe nicht wirklich warum das damit geht. ohne geht es nicht
/* Serial.print(" empfang = ");
Serial.print(empfang);
Serial.print(" value = ");
Serial.print(value);
Serial.print(" wert = ");
Serial.println(wert); */
}
return wert - 100 ;
}
}
void Empfangen() {
if (mySwitch.available()) // Wenn ein Code Empfangen wird...
{
habeEmpfangen = 1;
while (1) {
int value = mySwitch.getReceivedValue(); // Empfangene Daten werden unter der Variable "value" gespeichert.
switch (value) {
case 10:
program1 = SucheNachWert(value);
if (program1 == 6) { //um beim Start von weichen Farbwechsel die gleiche Farbe zu haben
zaelerFarben = 0;
zaehlerRot = 0;
zaelerGruen = 0;
zaelerBlau = 255;
}
if (program1 == 10) {
zaelerFarbenHart = 0;
}
break;
case 11:
program2 = SucheNachWert(value);
if (program2 == 6) {
zaelerFarben = 0;
zaehlerRot = 0;
zaelerGruen = 0;
zaelerBlau = 255;
}
if (program2 == 10) {
zaelerFarbenHart = 0;
}
break;
case 12:
tasterZahl1 = SucheNachWert(value);
break;
case 13:
tasterZahl2 = SucheNachWert(value);
break;
case 14:
potiRot1Wert = SucheNachWert(value);
break;
case 15:
potiBlau1Wert = SucheNachWert(value);
break;
case 16:
potiGruen1Wert = SucheNachWert(value);
break;
case 17:
potiRot2Wert = SucheNachWert(value);
break;
case 18:
potiBlau2Wert = SucheNachWert(value);
break;
case 19:
potiGruen2Wert = SucheNachWert(value);
break;
case 99:
mySwitch.resetAvailable(); // Hier wird der Empfänger "resettet"
return;
case 0:
mySwitch.resetAvailable(); // Hier wird der Empfänger "resettet"
return;
break;
}
Serial.print("");
/* Serial.print(" 5 Program1 = ");
Serial.print(program1);
Serial.print(" Program2 = ");
Serial.print(program2);
Serial.print(" tasterZahl1 = ");
Serial.print(tasterZahl1);
Serial.print(" tasterZahl2 = ");
Serial.print(tasterZahl2);
Serial.print(" potiRot1Wert = ");
Serial.print(potiRot1Wert);
Serial.print(" potiBlau1Wert = ");
Serial.print(potiBlau1Wert);
Serial.print(" potiGruen1Wert = ");
Serial.print(potiGruen1Wert);
Serial.print(" potiRot2Wert = ");
Serial.print(potiRot2Wert);
Serial.print(" potiBlau2Wert = ");
Serial.print(potiBlau2Wert);
Serial.print(" potiGruen2Wert = ");
Serial.println(potiGruen2Wert);
*/
}
}
}
void Skroboskop(long jetzt, int dunkelZeit , int hellZeit) {
if (dunkelWeissLicht <= jetzt) {
hellSkroboskop = jetzt + hellZeit;
dunkelWeissLicht = jetzt + hellZeit + (dunkelZeit);
/*
Serial.print("DUnkelzeit : ");
Serial.print(dunkelZeit);
Serial.print(" hellZeit : ");
Serial.print(hellZeit);
Serial.print(" jetzt : ");
Serial.print(jetzt);
Serial.print(" dunkelWeissLicht : ");
Serial.println(dunkelWeissLicht);
*/
}
if (hellSkroboskop >= jetzt) {
Farbwahl(1023, 1023, 1023);
// delay(hellZeit);
//
// Serial.println("mache Hell");
return;
} else {
if (( rotAlt > 1000) && (gruenAlt > 1000) && (blauAlt > 1000)) {
Farbwahl(0, 0, 0);
return;
}
// Farbwahl(rotAlt, gruenAlt, blauAlt);
//
//Serial.println("mache Dunkel");
return;
}
}
void WeicherFarbwechsel(long jetzt, int warten) {
int zeit = 255;
if (zaelerFarben == (zeit * 3)) {
zaelerFarben = 0;
zaehlerRot = 0;
zaelerGruen = 0;
zaelerBlau = 1023;
/* Serial.print("jetzt : ");
Serial.print(jetzt);
Serial.print(" zeit * 3 : ");
Serial.print(zeit * 3);
Serial.print(" farbwechselWarten : ");
Serial.print(farbwechselWarten);
Serial.print(" zusammen : ");
Serial.print((jetzt + ((zeit * 3) * farbwechselWarten)));
Serial.println("Setzte Neu !!!!!!!!!!!!!!!!!!");
*/
}
if (zaelerFarben == 0) {
zaelerFarben = 0;
zaehlerRot = 0;
zaelerGruen = 0;
zaelerBlau = 255;
}
if (zaelerFarben == zeit) {
zaehlerRot = 254;
zaelerGruen = 0;
zaelerBlau = 0;
}
if (zaelerFarben == (zeit * 2)) {
zaehlerRot = 0;
zaelerGruen = 254;
zaelerBlau = 0;
}
if (WeicherFarbwechselZeitKurz <= jetzt) {
WeicherFarbwechselZeitKurz = jetzt + warten;
if ((zaelerFarben >= 0) && (zaelerFarben <= (zeit ))) {
Farbwahl(zaehlerRot, zaelerBlau, 0);
/* Serial.print(" 1 Hoch rot : ");
Serial.print(zaehlerRot);
Serial.print(" runter blau: ");
Serial.print(zaelerBlau);
Serial.print(" Zähler : ");
Serial.println(zaelerFarben);
*/ zaehlerRot++;
zaelerBlau--;
}
if ((zaelerFarben >= zeit) && (zaelerFarben <= ((zeit * 2) ))) {
Farbwahl(zaehlerRot, 0, zaelerGruen);
/* Serial.print(" 2 Hoch gruen : ");
Serial.print(zaelerGruen);
Serial.print(" runter rot : ");
Serial.print(zaehlerRot);
Serial.print(" Zähler : ");
Serial.println(zaelerFarben);
*/ zaehlerRot--;
zaelerGruen++;
}
if ((zaelerFarben >= (zeit * 2)) && (zaelerFarben <= ((zeit * 3) ))) {
Farbwahl(0, zaelerBlau, zaelerGruen);
/* Serial.print(" 3 Hoch blau : ");
Serial.print(zaelerBlau);
Serial.print(" runter grün: ");
Serial.print(zaelerGruen);
Serial.print(" Zähler : ");
Serial.println(zaelerFarben);
*/ zaelerGruen--;
zaelerBlau++;
}
zaelerFarben++;
}
}
void HarterFarbwechsel(long jetzt, int warten) {
int zeit = 1;
if (zaelerFarbenHart == (zeit * 4)) {
zaelerFarbenHart = 0;
}
/*
Serial.print("jetzt : ");
Serial.print(jetzt);
Serial.print(" zeit * 3 : ");
Serial.print(zeit * 3);
Serial.print(" farbwechselWarten : ");
Serial.print(farbwechselWarten);
Serial.print(" zusammen : ");
Serial.print((jetzt + ((zeit * 3) * farbwechselWarten)));
Serial.println("Setzte Neu !!!!!!!!!!!!!!!!!!");
*/
if (HarterFarbwechselZeitKurz <= jetzt) {
HarterFarbwechselZeitKurz = jetzt + warten;
if ((zaelerFarbenHart >= 0) && (zaelerFarbenHart <= (zeit ))) {
Farbwahl(1023, 0, 0);
/* Serial.print("1 Rot Zähler : ");
Serial.println(zaelerFarben);
*/
}
if ((zaelerFarbenHart >= zeit) && (zaelerFarbenHart <= ((zeit * 2) ))) {
Farbwahl(0, 1023, 0);
/* Serial.print("2 Violet Zähler : ");
Serial.println(zaelerFarben);
*/
}
if ((zaelerFarbenHart >= (zeit * 2)) && (zaelerFarbenHart <= ((zeit * 3) ))) {
Farbwahl(0, 0, 1023);
/* Serial.print(" 3 gruen Zähler : ");
Serial.println(zaelerFarben);
*/
}
if ((zaelerFarbenHart >= (zeit * 3)) && (zaelerFarbenHart <= ((zeit * 4) ))) {
Farbwahl(1023, 1023, 0);
/* Serial.print(" 3 gruen Zähler : ");
Serial.println(zaelerFarben);
*/
}
zaelerFarbenHart++;
}
}
void WeissesLicht(long jetzt, int dimmen ) {
if (dunkelWeissLicht <= jetzt) {
hellWeissLicht = jetzt + 1;
dunkelWeissLicht = jetzt + 1 + (dimmen);
/*
Serial.print("dimmen : ");
Serial.print(dimmen);
Serial.print(" 1 : ");
Serial.print(1);
Serial.print(" jetzt : ");
Serial.print(jetzt);
Serial.print(" dunkelWeissLicht : ");
Serial.println(dunkelWeissLicht);
*/
}
if (hellWeissLicht >= jetzt) {
digitalWrite(weiss, 1);
// delay(1);
//
// Serial.println("mache Hell");
return;
} else {
digitalWrite(weiss, 0);
// Serial.println("mache Dunkel");
return;
}
return;
}
void BuntesSkob(long jetzt, int dunkelZeit, int hellZeit) {
dunkelZeit = dunkelZeit ;
hellZeit = hellZeit ;
//Serial.print(" zaelerBuntSkob = ");
// Serial.println(zaelerBuntSkob);
if (zaelerBuntSkob >= (((dunkelZeit + hellZeit) * 7))) {
// Serial.println("setzte neu");
zaelerBuntSkob = 0;
}
if (BuntSkobZeit <= jetzt) {
BuntSkobZeit = jetzt + 1;
if ((zaelerBuntSkob >= 0) && (zaelerBuntSkob <= hellZeit)) {
Farbwahl(0, 1023, 0);
//Serial.println("mache Blau");
}
if ((zaelerBuntSkob >= hellZeit) && (zaelerBuntSkob <= hellZeit + dunkelZeit)) {
Farbwahl(0, 0, 0);
//Serial.println("mache schwarz1");
}
if ((zaelerBuntSkob >= (hellZeit + dunkelZeit)) && (zaelerBuntSkob <= ((hellZeit * 2) + (dunkelZeit * 1)))) {
Farbwahl(1023, 0, 0);
//Serial.println("mache rot");
}
if ((zaelerBuntSkob >= ((hellZeit * 2) + (dunkelZeit * 1))) && (zaelerBuntSkob <= ((hellZeit * 2) + (dunkelZeit * 2))) ) {
Farbwahl(0, 0, 0);
//Serial.println("mache Schwarz2");
}
if ((zaelerBuntSkob >= ((hellZeit * 2) + (dunkelZeit * 2))) && (zaelerBuntSkob <= ((hellZeit * 3) + (dunkelZeit * 2))) ) {
Farbwahl(0, 0, 1023);
//Serial.println("mache gruen");
}
if ((zaelerBuntSkob >= ((hellZeit * 3) + (dunkelZeit * 2))) && (zaelerBuntSkob <= ((hellZeit * 3) + (dunkelZeit * 3))) ) {
Farbwahl(0, 0, 0);
//Serial.println("mache Schwarz3");
}
if ((zaelerBuntSkob >= ((hellZeit * 3) + (dunkelZeit * 3))) && (zaelerBuntSkob <= ((hellZeit * 4) + (dunkelZeit * 3))) ) {
Farbwahl(1023, 1023, 0);
//Serial.println("mache violett");
}
if ((zaelerBuntSkob >= ((hellZeit * 4) + (dunkelZeit * 3))) && (zaelerBuntSkob <= ((hellZeit * 4) + (dunkelZeit * 4))) ) {
Farbwahl(0, 0, 0);
//Serial.println("mache Schwarz4");
}
if ((zaelerBuntSkob >= ((hellZeit * 4) + (dunkelZeit * 4))) && (zaelerBuntSkob <= ((hellZeit * 5) + (dunkelZeit * 4))) ) {
Farbwahl(1023, 0, 1023);
//Serial.println("mache gelb");
}
if ((zaelerBuntSkob >= ((hellZeit * 5) + (dunkelZeit * 4))) && (zaelerBuntSkob <= ((hellZeit * 5) + (dunkelZeit * 5))) ) {
Farbwahl(0, 0, 0);
//Serial.println("mache Schwarz5");
}
if ((zaelerBuntSkob >= ((hellZeit * 5) + (dunkelZeit * 5))) && (zaelerBuntSkob <= ((hellZeit * 6) + (dunkelZeit * 5))) ) {
Farbwahl(0, 1023, 1023);
// Serial.println("mache tuerkies");
}
if ((zaelerBuntSkob >= ((hellZeit * 6) + (dunkelZeit * 5))) && (zaelerBuntSkob <= ((hellZeit * 6) + (dunkelZeit * 6))) ) {
Farbwahl(0, 0, 0);
// Serial.println("mache Schwarz6");
}
if ((zaelerBuntSkob >= ((hellZeit * 6) + (dunkelZeit * 6))) && (zaelerBuntSkob <= ((hellZeit * 7) + (dunkelZeit * 6))) ) {
Farbwahl(845, 340, 1023); ;
// Serial.println("mache weiss");
}
if ((zaelerBuntSkob >= ((hellZeit * 7) + (dunkelZeit * 6))) && (zaelerBuntSkob <= ((hellZeit * 7) + (dunkelZeit * 7))) ) {
Farbwahl(0, 0, 0);
// Serial.println("mache Schwarz7");
}
zaelerBuntSkob++;
}
}
void ProgramWahl(int program, int taster, int rot, int gruen, int blau) {
long jetzt = millis();
/*
Serial.print(" 6 Program1 = ");
Serial.print(program1);
Serial.print(" Program2 = ");
Serial.print(program2);
Serial.print(" tasterZahl1 = ");
6Serial.print(tasterZahl1);
Serial.print(" tasterZahl2 = ");
Serial.print(tasterZahl2);
Serial.print(" potiRot1Wert = ");
Serial.print(potiRot1Wert);
Serial.print(" potiBlau1Wert = ");
Serial.print(potiBlau1Wert);
Serial.print(" potiGruen1Wert = ");
Serial.print(potiGruen1Wert);
Serial.print(" potiRot2Wert = ");
Serial.print(potiRot2Wert);
Serial.print(" potiBlau2Wert = ");
Serial.print(potiBlau2Wert);
Serial.print(" potiGruen2Wert = ");
Serial.println(potiGruen2Wert);
*/
Ausschalten(jetzt);
switch (program) {
case 1:
break;
case 2:
Farbwahl(rot, gruen, blau);
break;
case 3:
break;
case 4:
Skroboskop(jetzt, rot, gruen);
break;
case 5:
break;
case 6:
WeicherFarbwechsel(jetzt, gruen );
break;
case 7:
break;
case 8:
Feuer();
break;
case 9:
break;
case 10:
HarterFarbwechsel(jetzt, blau);
break;
case 12:
BuntesSkob(jetzt, rot, gruen);
break;
default:
Farbwahl(0, 0, 0);
break;
}
}
long Ausschaltzeit = 0;
int ausschaltzaeler = 0;
void Ausschalten(long jetzt) {
if (Ausschaltzeit <= jetzt) {
Ausschaltzeit = (jetzt + 1);
if (digitalRead(taster2) == 1) {
ausschaltzaeler++;
// Serial.println(ausschaltzaeler);
if (ausschaltzaeler >= 5) {
digitalWrite(reele, 0);
delay(500);
}
} else {
ausschaltzaeler = 0;
}
}
}
int Wrot = 0, WGruen = 0, WBlau = 0;
void ProgramWahlEinfach(int program, int taster, int rot, int gruen, int blau) {
long jetzt = millis();
/*
Serial.print(" 6 Program1 = ");
Serial.print(program1);
Serial.print(" Program2 = ");
Serial.print(program2);
Serial.print(" tasterZahl1 = ");
6Serial.print(tasterZahl1);
Serial.print(" tasterZahl2 = ");
Serial.print(tasterZahl2);
Serial.print(" potiRot1Wert = ");
Serial.print(potiRot1Wert);
Serial.print(" potiBlau1Wert = ");
Serial.print(potiBlau1Wert);
Serial.print(" potiGruen1Wert = ");
Serial.print(potiGruen1Wert);
Serial.print(" potiRot2Wert = ");
Serial.print(potiRot2Wert);
Serial.print(" potiBlau2Wert = ");
Serial.print(potiBlau2Wert);
Serial.print(" potiGruen2Wert = ");
Serial.println(potiGruen2Wert);
*/
Ausschalten(jetzt);
switch (program) {
case 1:
// Farbwahl(845, 1023, 340);
// Farbwahl(1023, 845, 340);
// Farbwahl(845, 340, 1023); ;
// Serial.print(" poti = ");
// Serial.println(analogRead(poti));
while (analogRead(poti) == 0) { //wenn der Dimmer voll runtergedreht ist springt das Program in den "Morse-Modus"
if (digitalRead(taster2) == 1) {
Farbwahl(845, 340, 1023);
} else {
Farbwahl(0, 0, 0);
}
}
Farbwahl(gruen / 4, gruen / 4, gruen / 4); //Dimmen des weißen lichtes mit dem Poti
break;
case 2:
WeicherFarbwechsel(jetzt, gruen );
break;
case 3:
HarterFarbwechsel(jetzt, gruen);
break;
case 4:
Feuer();
break;
case 5:
Skroboskop(jetzt, gruen, 80);
break;
case 6:
BuntesSkob(jetzt, gruen, 80);
break;
case 7:
Farbwahl(255, 0, 0); //Rot
break;
default:
Farbwahl(0, 0, 0);
break;
}
}
int PotiAuslesen( int Poti) {
int variable = analogRead(Poti);
if (variable == 0) {
variable = 1;
}
return variable;
}
int ZahlenwertErmitteln (int gruen, int wert ) {
if (wert == 0) {
wert = 1;
}
if (digitalRead(gruen) == HIGH) {
// Serial.print("gruen wurde gedrückt! wert ist:");
// Serial.print(wert);
if (wert == 8)
wert = 0;
wert++;
delay(400);
}
return wert;
}
void loop() {
/*
Serial.print("Taster 1: ");
Serial.print(digitalRead(taster1));
Serial.print("Taster 2: ");
Serial.print(digitalRead(taster2));
Serial.print("Poti: ");
Serial.println(analogRead(poti));
*/
Empfangen();
if (habeEmpfangen == 0) {
potiGruen1Wert = PotiAuslesen (poti);
program1 = ZahlenwertErmitteln( taster2, program1);
if (digitalRead(taster1) == 1) {
potiRot1Wert = ( PotiAuslesen (poti) / 4);
// Serial.println(potiRot1Wert);
if (potiRot1Wert == (0)) {
potiRot1Wert = 1;
}
/* potiRot1Wert++ ;
// Serial.println(potiRot1Wert);
delay(50);
if (potiRot1Wert == (255)) {
potiRot1Wert = 1;
}
*/
}
ProgramWahlEinfach(program1, tasterZahl1, potiRot1Wert, potiGruen1Wert, potiBlau1Wert);
} else {
ProgramWahl(program1, tasterZahl1, potiRot1Wert, potiGruen1Wert, potiBlau1Wert);
ProgramWahl(program2, tasterZahl2, potiRot2Wert, potiGruen2Wert, potiBlau2Wert);
}
/*
float wert = (1 / ( 4.63 / ( (4.63 + 9.77) * (analogRead(spannung) * 0.0049 ) ) ) ); // 1/ Uges = R2 /( R1 + R2 * U2 )
Serial.println(wert);
if (wert < 9.5) { //bei schwachen Akkustand schaltet sich die anlage aus
Farbwahl(1023, 0, 0);
delay(2000L);
Farbwahl(0, 0, 0);
delay(2000L);
Farbwahl(1023, 0, 0);
delay(2000L);
Farbwahl(0, 0, 0);
delay(2000L);
Farbwahl(1023, 0, 0);
delay(2000L);
digitalWrite(reele, 0);
delay(500);
}
*/
}
13353 Berlin
kontakt@robert-wodara.de