Quellcode

 

 

#define BLYNK_PRINT Serial


#include <BlynkSimpleCurieBLE.h>
#include <CurieBLE.h>
char auth[] = "e38530b592094755b3fb8dfc57524c65"; // AUTH wurde per E-Mail geschickt und hier eingegeben

int Ampel = 1;


const int ledGelb = 8 ; // Definierung der Variable <-> Int(integer) für das gelbe LED
const int ledGruen = 13 ; // Definierung der Variable <-> Int(integer) für das grüne LED
const int ledRot = 7 ; // Definierung der Variable <-> Int(integer) für das rote LED
const int buttonPin = 2; // Definierung der Variable <-> Int(integer) für das Button (es wurde optional definiert)
int SchalterZustand;
int buttonState = 0;
//const int InputPin = 2;
BLEPeripheral blePeripheral;

void setup() { // einmalige Definierung
Serial.begin(9600);
// pinMode(InputPin,INPUT); // schalter INPUT
pinMode (ledGruen, OUTPUT); // LED Pins als OUTPUT definiert
pinMode (ledGelb, OUTPUT);
pinMode (ledRot, OUTPUT);


delay(1000);

blePeripheral.setLocalName("Blynk");
blePeripheral.setDeviceName("Blynk");
blePeripheral.setAppearance(384);

Blynk.begin(blePeripheral, auth);

blePeripheral.begin();

Serial.println("Waiting for connections...");

}
/* buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
for(int y = 1; y<10 ; y++)
{
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
delay(500);
}
}
else {digitalWrite(7, HIGH);
digitalWrite(8, LOW);
}*/
BLYNK_WRITE(V0) // Alle 3 LEDs für 5 sekunden ausschalten by Button Widget on V0, set as switch or button.
{
int val = param.asInt();
if (val == 1){
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(13, LOW);
delay(5000);}
// This should show 1 or 0 in the IDE serial monitor as you toggle the button in the App
}
// END Blynk Function
BLYNK_WRITE(V3) // Alle LEDs blinken lassen by Button Widget on V0, set as switch or button.
{
int val = param.asInt();
while (val == 1){
for (int s=0; s<10; s++){
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(13, LOW);
delay(100);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(13, HIGH);
delay(100);}
return;
}
}

// END Blynk Function
BLYNK_WRITE(V1) // LED in Pin13 toggled by Button Widget on V0, set as switch or button.
{
int val = param.asInt(); // Get Button Status
if (val == 1) { // If button is ON
for (int i = 1; i<10000; i++) {
if ( param.asInt() == 0 ) return;
}
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
for (int i = 1; i<150000; i++) {
if ( param.asInt() == 0 ) return;
}
digitalWrite(13, HIGH);
digitalWrite(8, LOW);
for (int i = 1; i<200000; i++) {
if ( param.asInt() == 0 ) return;
}
digitalWrite(13, LOW);
digitalWrite(7, HIGH);
}
Serial.println(val); // This should show 1 or 0 in the IDE serial monitor as you toggle the button in the App
}
BLYNK_WRITE(V2) // LED in Pin8 toggled by Button Widget on V0, set as switch or button.
{


int val = param.asInt(); // Get Button Status
while (val == 1) {
// If button is ON
for(int x=0; x<7; x++){
digitalWrite(7, LOW);
digitalWrite(13, LOW);
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
delay(500);}
return;
}
//return;
}
void loop(){ // sich wiederholende Schleife
digitalWrite(7, HIGH);
blePeripheral.poll();
Blynk.run();

}

//BLYNK_WRITE(V0);
//int val = param.asInt();
//Serial.println(val);
/*SchalterZustand = digitalRead(ledRot); // Den Schalter überprfüfen
Serial.println(SchalterZustand,DEC); // Serielle Kommunikation mit Computer


if (digitalRead(ledRot)!=HIGH) // Bedingeunge falls Schalter gedrückt wahr ist
{

digitalWrite(ledRot, HIGH); // Rote LED ist an
delay(5000); // 5 Sekunden lang
digitalWrite(ledGelb, HIGH); // Gelbe LED ist an
delay(1000); // 1 Sekunde lang
digitalWrite(ledRot, LOW); // Rote LED geht aus
digitalWrite(ledGelb, LOW); // Gelbe LED geht aus
digitalWrite(ledGruen, HIGH); // Grüne LED geht an
delay(5000); // 5 Sekunden lang
digitalWrite(ledGruen, LOW); //Grüne LED geht aus
delay (20); // wartet für 1 Sekunde
digitalWrite(ledRot,HIGH); //schaltet Rote LED an
delay(3000); //Signalbounce Umgehung

} else { // ansonsten Schalter nicht geshcaltet
digitalWrite(ledRot,HIGH); // Rot leuchtet , die anderen nicht
digitalWrite(ledGruen,LOW);
digitalWrite(ledGelb,LOW) ;
}
*/