Day 11: Day- and nightlight

Behind today’s door is a 10-kohm resistor, but we don’t need it yet today. Instead, the set-up from yesterday’s test works today as well. In this project, you’ll build a day-night lamp that changes colours at specific times. Thus you can have a bright light shining during the day, while at night only a dim red serves as emergency lighting for a bit of orientation.

Der Aufbau von Tag 10

The layout from Day 10


blynk_tag1111

When you’ve transferred the Blynk interface via QR code and downloaded today’s programme, changed it and uploaded it to the controller, you can already get started. On the Blynk interface, you see two ZeRGBa elements, which are labelled "DayLight" and "NightLight." When you switch to day or night mode with the outside buttons below the ZeRGBa elements, the corresponding colour of the element is shown. But you can also automate the switch between day and night mode. To do this, tap one of the two timer elements directly below the colour selection elements. Here, while the interface is not started, you can select a time at which the mode should be switched. All you have to adjust is the start time. The same applies for the other timer element. At the selected time, the mode switches over, and the LED changes from the day colour to the night colour or vice versa. You don’t even have to have the app open at those times. The Blynk server regulates the switch-over automatically.

Die Oberfläche des Tag/Nacht Lichts

The user interface

41 Comments

  1. Christian

    gibt es für die Blynk-Oberfläche alternativ zum QR-Code vielleicht wieder einen Link wie in den vorherigen Projekten?

    Reply
    1. fk (Post author)

      Hallo, der Link versteckt sich hinter dem qr code selbst. Also einfach auf das Bild vom qr code Klicken

      Reply
  2. basti

    Also es hat auch nun bei mir funktioniert, nachdem der Token nach den Update der Blynk App versteckt war…

    Allerdings leuchtet die LED nur blau. Je nachdem wie die Farbe anpassen will, leuchtet es stärker blau oder schwächer.

    Einstellung App – LED leuchtet
    Rot – Blau
    Lila – schwaches Blau
    Orange – Blau
    Türkis/Blau – aus
    Weis – aus

    Was könnte das sein?

    Reply
  3. lukas

    dürfte das heute nicht theoretisch auch ohne blynk funktionieren?

    Reply
    1. lukas

      so ich habe mal ein bisschen rumgetüfftelt und aus ein paar beispielprogrammen das hier gebaut:

      const int ledPin1 = 6;
      const int ledPin2 = 5;
      const int ledPin3 = 3;

      void setup() {
      // initialize the LED pin as an output:
      pinMode(ledPin1, OUTPUT);
      pinMode(ledPin2, OUTPUT);
      pinMode(ledPin3, OUTPUT);
      }

      void loop() {
      digitalWrite(ledPin1, HIGH);
      delay(1000);
      digitalWrite(ledPin2, HIGH);
      delay(1000);
      digitalWrite(ledPin3, HIGH);
      delay(1000);
      digitalWrite(ledPin1, LOW);
      delay(1000);
      digitalWrite(ledPin2, LOW);
      delay(1000);
      digitalWrite(ledPin3, LOW);
      delay(1000);

      }

      statt high und low kann man glaube ich auch zahlen einsetzen, wie die die bei zergba angezeigt werden
      und die delay zeiten kann man ja auch so verändern dass es auf einen tag passt

      damit sollte das ganze auch ohne blynk gehen

      man kann allerdings die farben nicht mehr so bequem einstellen und da das ganze ein loop ist, müsste man diesen genau auf einen tag anpassen und zur richtigen zeit starten, damit man ein tag/nacht licht hat….

      Reply
  4. Philipp

    Hallo,
    ich habe die Frage schon gestern gestellt aber wahrscheinlich macht es heute mehr Sinn.
    Bei mir funktioniert jedes Projekt gottseidank auf anhieb.
    Nun habe ich aber seit dem es um Analoge Werte mit dem Board geht ein kleines Problem. Und zwar sobald ich egal bei welchem Analog experiment den Wert ändere tut es das auch auf dem Board aber nur für ein paar Sekunden danach bricht die verbindung ab und auf meinem Handy wird angezeigt „Your Arduino Nano is not in the Network“ und nichts funktioniert mehr. Nach ein paar Sekunden steht dann wiederrum die Verbindung. Hat einer von euch eventuell eine Ahnung woran dieses Verbindungsproblem liegt? Danke im Vorraus:)

    Reply
    1. Ralf

      Mir ging es ähnlich, deshalb habe ich heute in Blynk aufgeräumt, alle Projekte gelöscht und den heutigen Tag neu gescannt, dann den Token neu erzeugt. Seitdem geht es wieder, die Verbindung steht. Vielleicht hilft das auch bei dir.

      Reply
  5. eve

    muss auch sagen, dass mir das Ganze grad nicht mehr so viel Spaß macht.
    Bisher hat soweit alles geklappt, aber die Abhängigkeit von Blynk gefällt mir nicht. Den Kalender hab ich ja gekauft um Sachen selbst zu programmieren und dann auch später nutzen zu können. So lädt man jeden Tag ein neues Programm drauf nachdem man den code gescannt hat und das wars..

    Reply
    1. Bastle13

      Ja, da hab ich mir auch mehr erhoft.
      Wodurch und wann wird denn z.B. die Funktion BLYNK_WRITE() aufgerufen, und warum gibt es diese Funktion mehrmals?

      Reply
      1. Bastler13

        sorry, hatte noch nicht weitergelesen

        Reply
    2. Athanasie

      Dann machs doch so wie ich:
      Ich hab seit drei Tagen mir die Blynk-Oberfläche selber nachgebaut (Das spart das nervige Token umhergeschicke). Außerdem schau ich mir immer den Quelltext an und versuche mich mit dem gewonnen Wissen an eigenen Projekten.

      Reply
  6. Elbflorenz

    Ja, der Quellcode für das Arduino-Programm könnte ein bisschen Code-Doku vertragen (wie wärs mit Doxygen Herr Kainka? :P).

    ich versuch mal ein bisschen was darüber zu erzählen wie ich das verstehe:

    die Methoden BLYNK_WRITE(Vn) sind Handlermethoden die ausgeführt werden, wenn der jeweilige Output Vn in der Blynk-App geändert wird)

    wenn in der loop()-Methode Blynk.run() aufgerufen wird, dann baut das Nanoboard mit der Blynk-App eine Verbindung auf und auf dem Weg werden Event-Kommandos gesendet falls eien Nutzereingabe auf dem Smartphone erfolgt.

    Methoden für die manuellen Buttons Day/Night:
    BLYNK_WRITE(V0)
    BLYNK_WRITE(V7)

    werden aufgerufen wenn im der Blynk-App auf dem Smartphone der jeweiligen Output V0 bzw V7 (die sind mit den entsprechend bezeichneten Buttons verknüpft in der App) im Wert geändert wird.

    Wird der Output auf 1 gesetzt ("if(param.asInt()==1)"), dann wird der konkurrierende Output (V0 V7) gleich 0 gesetzt und die boolsche Variable isDay im Wert ebenfalls geändert.

    "Blynk.syncVirtual(V3)" bzw "Blynk.syncVirtual(V8)" holt sich dann noch den aktuell eingestellen Wert des Tag- bzw. Nacht-ZebraWidgets in dem es BLYNK_WRITE(V8) bzw. BLYNK_WRITE(V3) quasi manuell aufrufen lässt, ohne dass der Nutzer dazu den Wert per App geändert hat.

    (die Erkenntnis steht in der Codedoku der Blynk-Library BlynkApi.h für die Methode "syncVirtual" im Arduinoverzeichnis: Requests App or Server to re-send current value of a Virtual Pin. This will probably cause user-defined BLYNK_WRITE handler to be called.

    Methoden für die Einstellung der LED:
    BLYNK_WRITE(V3)
    BLYNK_WRITE(V8)

    Abrfrage auf die boolsche Variable und dann Aufruf von analogWrite. Damit wird eine PWM (see Wikipedia) auf dem digitalen Pin ausgegeben. (Doku zu dem Befehl: Doppelklich auf analogWrite > rechte Maustaste > "in der Referenz suchen". Das erfolgt für alle 3 Pins für die RGB-LED.

    Methoden für den Timer:
    BLYNK_WRITE(V1)
    BLYNK_WRITE(V4)

    funktioniert wie die Buttons. Wenn die eingestellte Zeit des Widgets V1 bzw V4 überschritten wird, dann wird der Output V1 bzw V4 von 0 auf 1 geändert (in der App). Das veranlasst die App eine Nachricht (Event "V1") an das Nanoboard zu schicken. Das Nanoboard hat für das Event die passende Methode definiert (BLYNK_WRITE(V1)), welche dann ausgeführt wird.

    Hoffe das hilft eingien hier.
    Ich finde es doof das in der Arduino-IDE die Referenzsuche nciht für die Befehle der Blynk-Libraray oder auch der ESP-Lib aus den ersten tagen nicht funktioniert. Das muss man sich mühsam selber raussuchen. (Notepad++ leistet da gute Dienste. Damit kann man nach Wörtern suchen über ganze Verzeichnisse hinweg)

    Reply
    1. Elbflorenz

      Sry für die vielen Rechtschreibfehler. Die Katze sitzt auf der Tastatur. ;)

      Reply
      1. Ralf

        Vielen Dank für die Erläuterung. Ich hatte mich auch über die definierten Methoden gewundert, da sie ja nicht im Programm selbst aufgerufen werden.

        Danke.

        Reply
  7. Christoph

    Hallo
    Bei Conrad wird auch heute noch der Adventskalender mit iOS 7 als minimalanforderung angeboten.
    Blynk hingegen will weiterhin iOS 8.
    2015 funktionierten alle Tagesaufbauten noch wirklich mit iOS 7.
    Wofür habe ich eigendlich 50€ bezahlt?

    Christoph

    Reply
  8. Datenfuchs

    Hat das etwas mit den Virtual Einstellungen zu tun ( z. B. V1 und V0 sind "busy")?
    – Das Zebra steht z. B. auf V3
    – Der Druckknopf auf V1
    – Die Startanzeige auf V0

    Reply
  9. Datenfuchs

    Hilfe!!
    Alles programmiert und hochgeladen ohne Fehlermeldung. Soweit so gut, aber die LED leuchtet nicht !?
    Weder bei Day Off On noch bei Night Off On. Liegt das am Timer?
    Muss ich sonst noch wo was einstellen ?

    Reply
  10. Datenfuchs

    Alle programmiert und hochgeladen ohne Fehlermeldung. Soweit so gut, aber die LED leuchtet nicht !?
    Weder bei Day Off On noch bei Night Off On. Liegt das am Timer?
    Muss ich sonst noch wo was einstellen ?

    Reply
    1. Uli

      Mein Timer funktioniert nur, wenn die App läuft. Wenn die App gestoppt ist, dann passiert auch nichts, kein Event. Teste es doch mal, wenn die App läuft.

      Reply
  11. Torsten

    Schließe mich Christoph an.
    Bisher alles nur Merchandising für Blynk. Wie der NanoESP funktioniert und die Pin-Belegung wird nicht besprochen. Nicht mal Schaltpläne gibt es. Nur bunte Bilder und die Magie von Blynk.
    Das hat nicht mehr mit IoT zu tun. Schade.

    Reply
  12. Christoph

    Hallo
    Suche seit Tag 5 nach einer App passend zu iOS 7.1.
    Reine Theorie ist schon sehr fad.
    Christoph

    Reply
  13. Ralf

    Hi, die letzten 2 Tage ging bei mir nichts. Ich habe heute alles in der App gelöscht und mit Tag 11 neu gestartet. Irgendwie hatte ich Schwierigkeiten mit dem Device und dem Token.

    Kann mir jemand erklären, warum ich als Device einen Arduino mit Ethernet habe?

    Auf jeden Fall funktioniert heute alles wieder. Geschafft.

    Reply
  14. Bernd

    Funktioniert wieder beinahe alles. Auch der timer (mit einer minute damit man nicht solange warten muss).
    Dass einzige was ich ein wenig merkwürdig finde ist, dass die LED nicht ausgeht auch wenn die buttons auf off sind. Die letzte leuchteinstellung bleibt erhalten auch wenn alles off ist, dunkel wird es nicht.
    Wird Eure LED ausgeschaltet (manuell oder timer)?

    Reply
    1. Sven

      Nein, die LED bleibt mit dem Programm oben immer an. Das liegt daran, dass nur eine Aktion erfolgt, wenn etwas angeschaltet wurde (Bedingung if(param.asInt()==1)).
      Ich habe es nicht ausprobiert, aber das Programm müsste sich auch so erweitern lassen, dass das Aus-Event ebenfalls behandelt wird. Ich könnte mir aber vorstellen, dass man da schnell an logische Grenzen stößt, wenn z.B. die Timer mit den Schaltern in Konflikt stehen.

      Reply
      1. Bernd Krische

        danke, habe mir sowas auch schon gedacht. eigentlich erwartet man das vom timer dass er auch abschaltet zur Zeit "off"

        Reply
  15. MadameIOT

    Also, ich habe mir jetzt Energie dazugekauft. Habe mehrmals bestätigen müssen, dass ich den Kauf wirklich machen möchte etc. Aber in der Blynk-App ist keine neue Energie dazugekommen.

    Kann mir da jemand helfen???

    Schönen 3. Advent übrigens.

    Reply
  16. Uli

    Hallo Mitstreiter,
    ich habe mir einen Timer konfiguriert, der direkt auf D13 schreibt. Ich habe die Ein- und Ausschaltzeit definiert. Scheinbar werden die Kommandos aber nur abgesetzt, wenn die App läuft. Wenn ich die App stoppe, dann passiert nichts.
    Kann es sein, dass nur Timer, die auf virtuelle Pins gehen vom Blynk-Server auch ohne die App ausgeführt werden?

    Reply
  17. kub0185

    Hi,

    bei mir funktionierte bisher alles (nachdem ich ein USB Kabel aufgetrieben habe)

    Ist es normal das der Chip mit den vielen Füssen neben der WLAN antenne so heis wird?

    Sollte man da nicht vorsorglich einen Kühlkörper draufbappen?

    Viele Grüsse
    Jürgen

    Reply
    1. Uli

      Ja, der Chip wird ziemlich heiß. Ich habe meinen gestern nach Warmlaufen ausgemessen. Siehe Bild im Versuch von gestern. Meiner kommt dann auf 56 °C. Das fühlt sich mit dem Finger im ersten Moment etwas heiß an. Diese Temperatur sollte noch ok sein. Ich gehe davon aus, dass der Käfer bis 70 °C Case Temperatur spezifiziert ist.
      Ein Kühlkörper schadet natürlich nie, aber ich denke, das ist gerade noch nicht nötig.

      Reply
  18. MadameIOT

    Hallo.

    Mein Blynk sagt, dass für das Programm nicht genug Energie vorhanden sei, obwohl ich alle anderen Tage gelöscht habe. Ist das so vorgesehen, dass die Programme jetzt so "komplex" sind, dass man jetzt Energie dazu kaufen muss?
    Oder nicht und ich übersehe hier etwas?

    Und wenn ja: Kann mir jemand sagen (von denen, die schon vorgeguckt haben), wieviel Energie ungefähr nötig sein wird für den Rest des Kalenders?

    Reply
    1. sumero

      Man muss für diesen Tag keine Energie kaufen.
      Für den heutigen Tag werden 1600 Energie benötigt. Kostenlos hat man in der App 2000 Energie.
      Wichtig ist, dass alle anderen Tage aus der App entfernt werden.
      Bisher wurden durch das scannen des Barcodes jeweils ein neues Projekt in der App erstellt. Man muss also in jedem Projekt in die Einstellungen. Dort kommt man hin, indem man auf das Sechseck klickt. Danach wischt man sich bis an das ende und tippt auf "Delete". Dadurch wird das jeweilige Projekt gelöscht und die Energie wird für andere Projekte freigegeben.

      Reply
      1. Rene

        Dann ist da aber ein Fehler, denn bei mir steht ebenfalls, dass ich zu wenig Energie habe. 1000 um genau zu sein. Alle Projekte gelöscht, App deinstalliert und wieder installiert, hat leider auch nicht geholfen.

        Reply
        1. Rene

          OK, ich hab jetzt nen neuen account gemacht, und siehe da, funktioniert. Ist zwar seltsam aber so gehts dann doch.

          Reply
  19. ISSO

    Bis jetzt eigendlich zu frieden.

    Was ich mir noch wünschen würde, wäre mehr Erklärung zum SourceCode.

    Bis jetzt konnte man sich alles herleiten. Doch heute ist es möglich aber etwas aufwendiger mit den vielen Virtuellen Pins.

    Reply
  20. HPRS

    Hilfe! Seitdem ich die Blynk-App gestern aktualisiert habe, liefert sie kein Token mehr. Die Zeile "Auth Token" fehlt völlig. Wo bekomme ich den Token her? Ich bitte um eine für Anfänger verständliche Antwort.

    Reply
    1. Athanasie

      Kein Grund zur Panik.
      Klick mal auf das Sechseck oben, dann auf "New Device" und dann auf das obere "New Device" (was nicht heißt, das du ein neues Gerät anlegst, sondern so heißt dein Nano in dem Projekt). Da findest du seit dem Update-Chaos von Blynk jetzt immer den Token

      Reply
      1. HPRS

        Danke, ja jetzt klappt es

        Reply
  21. HartmutR

    Cooles Ding, hat auf Anhieb funktioniert.
    Macht jeden Tag Spass ein Türchen aufzumachen und den Aufbau zu testen. Auch wenn es mal ein Problem gibt sind die Tipps hier immer gut.

    Reply
  22. Daniel

    mal wieder ein Tag an dem ich mein Kalender öffne um ein Teil raus zu nehmen das ich heute nicht brauche !

    langsam nervt es.
    wozu jeden tag ein Türchen öffnen wenn man mit dem Inhalt nix anfangen kann ?!?!?

    Reply
    1. Micha

      Daniel irgendwie höre ich nur mimimimimimimimi…! Mach doch alles auf und fang an!

      Reply
    2. Paulaner

      Es ist ein 'Kalender' und kein 'Kit' oder 'Set'.
      Etwas Vorkenntnisse werden vorausgesetzt.

      Und googlen kann doch jeder Unwissende!

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.