Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- #include <BlynkSimpleEsp8266.h>
- #include <Blynk.h>
- #include <Adafruit_NeoPixel.h>
- //Librarys die verwendet werden
- #define PIN 5
- //Definieren welcher Pin mit den Neopixeln kommuniziert
- #define NUMPIXELS 11
- // Geben an wie viele Pixel angeschlossen sind
- Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
- // // Erstelle Objekt was den Led-Strip repräsentiert
- int R, G, B;
- // Integer = Keine Kommazahlen
- // R, G, B, = Variablen
- char auth[] = "b95872d615e04fd9aa6cb99419600a24";
- // Schlüssel mit dem sich der Esp bei der App einloggt
- char ssid[] = "";
- // Name des Netzwerks
- char pass[] = "";
- // Passwort des Netzwerks
- const int LDR = A0;
- const int BUTTON = 4;
- const int LED = 2;
- // konstante Variablen definieren
- void setup() {
- // Befehl um Setup zu starten
- pixels.begin(); // Oben erstelltes Objekt wird gestartet
- pinMode(BUTTON, INPUT); // gpio pin als input definieren
- pinMode(LED, OUTPUT); // gpio pin als output definieren
- lauflicht(); //LAuflicht Funktion starten
- Blynk.begin(auth, ssid, pass); // Befehl sich mit den angegebenen Daten auf den Blynk-Server einzuloggen
- }
- void loop() { // Schleife soll gestartet werden
- Blynk.run(); // Interne Funktionen der Blynk-app sollen ausgeführt werden
- }
- BLYNK_CONNECTED() {
- /*Hier startet ein part welcher die
- *arbeits-led ein
- *paar mal ein und aus schaltet
- */
- digitalWrite(LED, LOW);
- delay(500);
- digitalWrite(LED, HIGH);
- delay(500);
- digitalWrite(LED, LOW);
- delay(500);
- digitalWrite(LED, HIGH);
- delay(500);
- digitalWrite(LED, LOW);
- delay(500);
- digitalWrite(LED, HIGH);
- delay(500);
- digitalWrite(LED, LOW);
- delay(500);
- digitalWrite(LED, HIGH);
- delay(500);
- //And I say HEYYEYAAEYAAAEYAEYAA
- }
- BLYNK_WRITE(V0){ //Helligkeitsleiste
- int Brightness = param[0].asInt(); //Hier wird die Variable erstellt und bekommt direkt den Wert der von V0 übergeben wird
- pixels.setBrightness(Brightness); //Hier wird die soeben erstellte Variable als Helligkeit für den LED Strip angegeben
- pixels.show(); //Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- }
- BLYNK_WRITE(V1){
- /* Hier wird das eingehende parameter Array in die variablen R, G und B geschrieben */
- R = param[0].asInt();
- G = param[1].asInt();
- B = param[2].asInt();
- /*Ende der variablen zuweisung*/
- StripSetColor(); // Hier wird eine selbst erstellte Funktion aufgerufen. Mehr dazu weiter unten
- }
- BLYNK_WRITE(V2){ //Schnelles selbstständiges Leuchten der Led-farben
- int delayval = 7;// ein Delayintervall wird festgelegt
- //Warum genau 7? Hat halt gepasst
- while((int)param[0] == 1){ //Start eine unendlichen Schleife
- for(int i=0;i<=NUMPIXELS;i++){ // Wird so oft ausgeführt wie wir LED's aufm Strip haben
- if( i == NUMPIXELS ){ // Wenn die Laufvariable gleich der Anzahl der LED's ist, dann
- for( int i1 = 0; i1 <= NUMPIXELS; i1++ ){//geht's hier weiter. // Wird so oft ausgeführt wie wir LED's aufm Strip haben
- pixels.setPixelColor(i1, pixels.Color( 0, 0, 0 )); //Schaltet die LED an Stelle i1 aus
- }
- }else{
- pixels.setPixelColor(i, pixels.Color(random(0, 255), random(0, 255), random(0, 255))); // Ändert die Farbe der LED an Stelle i auf einen zufällien Wert
- }
- pixels.show(); // Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- delay(delayval); // Den vorher festgelegten Delay anwenden (in millisekunden).
- }
- if( digitalRead(BUTTON) == 0 ){ //Auslesen, ob der Hardware Button gedrückt ist
- for( int i2 = 0; i2 <= NUMPIXELS; i2++ ){// Wird so oft ausgeführt wie wir LED's aufm Strip haben
- pixels.setPixelColor(i2, pixels.Color( 255, 255, 255 ));//Alle LED's werden auf Weiß gestellt.
- }
- pixels.show();// Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- return; // Beendet die aktuelle Funktion
- }
- }
- }
- void StripSetColor(){ /*In dieser Funktion werden die LED's gleich den Globalen R, G und B vars gesetzt*/
- for( int i = 0; i<=NUMPIXELS; i++ ){ // Wird so oft ausgeführt wie wir LED's aufm Strip haben
- pixels.setPixelColor(i, pixels.Color(R, G , B)); // Setzt die LED an Stelle i gleich den Farben von R, G, und B
- }
- pixels.show();// Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- }/*Hier endet die StripSetColor Funktion*/
- void lauflicht(){/*In dieser Funktion ist das Lauflicht geschrieben, welches ein Licht vom Anfang bis zum Ende des LED Strips laufen lässt und zurück*/
- pixels.setBrightness(50);// Helligkeit des LED Strips wird runtergeschraubt, um Blindheit vorzubeugen
- for( int i = 0; i <= NUMPIXELS; i++ ){// Wird so oft ausgeführt wie wir LED's aufm Strip haben
- pixels.setPixelColor( i, pixels.Color(255, 255, 255));//Farbe der LED an Stelle i wird gesetzt
- for(int a = i - 1; a >= 0; a--){// Wird so oft ausgeführt wie wir LED's aufm Strip haben aber rückwärts
- pixels.setPixelColor(a, pixels.Color(0, 0, 0));//LED an Stelle a wird ausgeschaltet
- }
- pixels.show();// Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- delay(100);//100ms Warten
- }
- for( int i = NUMPIXELS; i >= 0; i-- ){// Wird so oft ausgeführt wie wir LED's aufm Strip haben aber rückwärts
- pixels.setPixelColor( i, pixels.Color(255, 255, 255));//Farbe der LED an Stelle i wird gesetzt
- for(int a = i + 1; a <= NUMPIXELS; a++){// Wird so oft ausgeführt wie wir LED's aufm Strip haben
- pixels.setPixelColor(a, pixels.Color(0, 0, 0));//LED an Stelle a wird ausgeschaltet
- }
- pixels.show();// Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- delay(100);//100ms warten
- }
- for( int i = 0; i<=NUMPIXELS; i++ ){//Alle LED's ausschalten
- pixels.setPixelColor(i, pixels.Color(0, 0, 0));//LED an Stelle a wird ausgeschaltet
- }
- pixels.show();// Hiermit werden die neuen einstellung für das pixels Objekt übernommen
- }
Advertisement
Add Comment
Please, Sign In to add comment