Hinter dem heutigen Türchen befindet sich ein 10 kOhm Widerstand den wir heute aber noch nicht benötigen werden. Stattdessen funktioniert der Aufbau des gestrigen Versuchs auch heute. In diesem Projekt werden Sie eine Tag/Nacht Lampe basteln, die zu bestimmten Uhrzeiten die Farbe wechselt. So können Sie Tagsüber ein helles Licht leuchten lassen, während in der Nacht nur ein dunkles Rot als Notbeleuchtung für etwas Orientierung sorgt.

Der Aufbau von Tag 10
Der Aufbau von Tag 10
Das Programm: A16_P11_Blynk7_DayNight.ino
/*
Blynk 7: DayNight
Change ssid, password and token
*/

char ssid[] = "YourSSID";
char password[] = "YourPassword";
char token[] = "YourToken";

#define BLYNK_DEBUG
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set ESP8266 Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(11, 12); // RX, TX

ESP8266 wifi(EspSerial);

boolean isDay;

void setup()
{
  // Set console baud rate
  Serial.begin(19200);
  EspSerial.begin(19200);

  Blynk.begin(token, wifi, ssid, password);
}

void loop()
{
  //all events are handled by functions below
  Blynk.run();
}


BLYNK_CONNECTED() {   
    //Sync all states when reconnected
     Blynk.syncAll();
}


BLYNK_WRITE(V1) //DayTimer
{
 if (param.asInt()== 1){
    Blynk.virtualWrite(V0,1); 
    Blynk.virtualWrite(V7,0);    
    isDay = true;
    Blynk.syncVirtual(V3);
 }
}

BLYNK_WRITE(V4) //NightTimer
{
  if (param.asInt()== 1){
    Blynk.virtualWrite(V0,0); 
    Blynk.virtualWrite(V7,1);    
    isDay = false;
    Blynk.syncVirtual(V8);
 }
}

BLYNK_WRITE(V0) //Day
{
  if(param.asInt()==1)
  {  
    Blynk.virtualWrite(V7,0);    
    isDay = true;
   Blynk.syncVirtual(V3);
  }
}

BLYNK_WRITE(V7){ //Night

if(param.asInt()==1)
  {   
    Blynk.virtualWrite(V0,0);
    isDay = false;
    Blynk.syncVirtual(V8);
  }
}

BLYNK_WRITE(V3) // change color Day
{   
  if (isDay){
     analogWrite(3, param[0].asInt()); // getting first value
     analogWrite(5, param[1].asInt()); // getting second value
     analogWrite(6, param[2].asInt()); // getting N value  
  }
}

BLYNK_WRITE(V8) //  change color Night
{   
  if (!isDay){
     analogWrite(3, param[0].asInt()); // getting first value
     analogWrite(5, param[1].asInt()); // getting second value
     analogWrite(6, param[2].asInt()); // getting N value  
  }
}

(Die frühere Einbettung über Arduino Create ist nicht mehr verfügbar; der Code stammt aus dem Download aller Programme.)

blynk_tag1111

Wenn Sie die Blynk-Oberfläche per QR-Code übertragen und das heutige Programm runtergeladen, verändert und schließlich auf den Controller geladen haben, kann es auch schon losgehen. In der gestarteten Blynk Oberfläche sehen Sie zwei ZeRGBa -Elemente, die jeweils mit DayLight oder NightLight beschriftet sind. Wenn Sie unten mit den äußeren Buttons auf Tag oder Nachtmodus umschalten, wird die entsprechende Farbe des zeRGBa-Elements angezeigt. Sie können das Umschalten zwischen Tag und Nachtmodus aber auch automatisieren. Dazu klicken Sie eines der beiden Timer-Elemente direkt unter den Farbauswahlelementen an. Hier können Sie, während die Oberfläche nicht gestartet ist, eine Start-Zeit auswählen, zu dem der Modus umgeschaltet werden soll. Sie müssen nur die Startzeit anpassen. Das gleiche gilt für das andere Timer-Element. Zu den gewählten Zeiten springt der Modus schließlich um und die LED wechselt von der Tag- zur Nachtfarbe oder andersherum. Die App müssen Sie übrigens zu den Zeitpunkten nicht offen haben. Der Blynk Server regelt das Umschalten automatisch.

Die Oberfläche des Tag/Nacht Lichts
Die Oberfläche des Tag/Nacht Lichts