Tag 15: Ein Webserver

Nachdem in den letzten Tagen vor allem die Blynk-Plattform zentraler Punkt unserer Projekte war, kommt nun ein ganz neues Thema, und zwar der NanoESP als Webserver. Bei dem Versuch des ersten Tages haben Sie bereits einen ersten Eindruck bekommen. In den folgenden Tagen werden Sie sehen, was noch alles möglich ist. Hinter dem heutigen Türchen befindet sich ein spezielles doppeladriges Kabel, mit dem sich z.B. auch LEDs oder Sensoren außerhalb des Boards einsetzen lassen. Für den heutigen Versuch ist allerdings gar kein Hardwareaufbau nötig. Alles was Sie benötigen ist das Programm und einen Browser. ...

15.12.2016 · 4 Minuten · Fabian Kainka

Tag 14: Langzeit Temperatur Messung

Hinter dem heutigen Türchen befindet sich ein NTC-Sensor (Heißleiter, Negative Temperature Coefficient). Dieser verändert seinen Widerstand in Abhängigkeit von der Temperatur. Sie nutzen den Sensor heute, um eine Langzeitmessung der Temperatur vorzunehmen. Als kleinen Bonus können Sie einen Zeitpunkt auswählen, an dem Sie eine Zusammenfassung per Mail geschickt bekommen. Für den Aufbau des heutigen Tages benötigen Sie neben dem NTC auch das Poti und einen 1 kOhm Widerstand. Mit dem Poti können Sie einen Feinabgleich der Temperatur vornehmen. ...

14.12.2016 · 3 Minuten · Fabian Kainka

Tag 13: Alarmanlage mit Push Nachrichten

Bei dem Projekt des heutigen Tages handelt es sich um eine einfache, stille Alarmanlage mit Passwort-Eingabe zum Resetten des Alarms. Damit man von dem stillen Alarm überhaupt etwas mitbekommt, sendet das Board eine Push-Nachricht zum Smartphone. Der sich hinter dem heutigen Türchen befindenden Tiltsensor setzen wir hier als Bewegungssensor ein. Er kann über Erschütterungen informieren und somit Bescheid geben, wenn jemand das NanoESP-Board kippt. Aufbau mit Tiltsensor Das Programm: A16_P13_Blynk9_PushAlarm.ino /* Blnky9: PushAlarm Change ssid, password and token */ char ssid[] = "YourSSID"; char password[] = "YourPassword"; char token[] = "YourToken"; String passwordAlarm = "password"; String alarmMsg = "Alarm! Someone touched the NanoESP!"; #define BLYNK_DEBUG #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include <ESP8266_SoftSer.h> #include <BlynkSimpleShieldEsp8266_SoftSer.h> #include <SimpleTimer.h> // Set ESP8266 Serial object #include <SoftwareSerial.h> SoftwareSerial EspSerial(11, 12); // RX, TX ESP8266 wifi(EspSerial); SimpleTimer timer; WidgetTerminal terminal(V1); boolean alarm = false; void setup() { // Set console baud rate Serial.begin(19200); EspSerial.begin(19200); Blynk.begin(token, wifi, ssid, password); //push msg Blynk.notify("Alarm active"); pinMode(2, INPUT_PULLUP); //timer for blinking led on alarm timer.setInterval(1000L, blinkAlarm); } void loop() { Blynk.run(); if (alarm) timer.run(); else digitalWrite(13, LOW); //blink if alarm active if (digitalRead(2)) { //read tilt sensor if (!alarm) { alarm = true; Blynk.notify(alarmMsg); //push msg on alarm terminal.println(F("Alarm! Type in Password:")); terminal.flush(); } } } BLYNK_CONNECTED() { Blynk.syncAll(); terminal.println(F("Blynk v" BLYNK_VERSION ": Device started")); terminal.println("-------------"); terminal.flush(); } BLYNK_WRITE(V1) //Terminal { //type in password on alarm if (alarm) { String passInput = param.asStr(); if (passwordAlarm == passInput) { alarm = false; terminal.println(F("Alarm deaktivated")); terminal.flush(); } else { terminal.println(F("Wrong password!")); terminal.flush(); } } } //timer function for blinking led on alarm void blinkAlarm() { digitalWrite(13, !digitalRead(13)); } (Die frühere Einbettung über Arduino Create ist nicht mehr verfügbar; der Code stammt aus dem Download aller Programme.) ...

13.12.2016 · 2 Minuten · Fabian Kainka

Tag 12: Lichtwächter

Hinter dem Türchen des heutigen Tages finden Sie einen Phototransistor. Dabei handelt es sich um einen Sensor, mit dem Helligkeit gemessen werden kann. Dies werden Sie heute auch tun, aber neben dem einfachen Messen gibt das heutige Projekt auch über verschiedene Kanäle Alarm, sobald per App einstellbare Grenzwerte überschritten werden. Damit dies alles auch funktioniert, müssen Sie den Sensor mit einer Spannungsteilerschaltung an den Pin A0 anschließen, wie auf dem unteren Bild zu sehen ist. Beachten Sie die richtige Polung des Phototransistors (kurzes Beinchen an VCC). Andersherum funktioniert er zwar auch, aber lange nicht so empfindlich. ...

12.12.2016 · 4 Minuten · Fabian Kainka

Tag 11: Tag/Nacht Licht

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 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.) ...

11.12.2016 · 3 Minuten · Fabian Kainka

Tag 10: RGB-LED

Hinter dem heutigen Türchen befindet sich der Grund für die vielen 1 kOhm Widerstände. Sie finden dort nämlich eine sogenannte RGB-LED. RGB steht für Rot Grün Blau, denn bei dieser LED handelt es sich eigentlich um drei LEDs, die über eine gemeinsame Kathode angeschlossen werden können. Durch Variation der Helligkeit der einzelnen LEDs mittels PWM lassen sich so nahezu alle denkbaren Farben generieren. Der Aufbau der heutigen Schaltung können Sie auf dem unteren Bild sehen. Beachten Sie dass das etwas längere Beinchen (die Kathode) in die GND Kontaktleiste gesteckt werden muss. ...

10.12.2016 · 2 Minuten · Fabian Kainka

Tag 9: Helligkeit der realen LED

Hinter dem heutigen Türchen befindet sich ein weiterer 1 kOhm Widerstand. Allerdings muss heute nichts am Hardwareaufbau vom gestrigen Tag verändert werden. Es wird lediglich eine Kleinigkeit an der Oberfläche variiert. Der gestrige Aufbau Auch das Programm müssen Sie nicht erneut hochladen, wenn Sie einfach die Oberfläche von gestern manuell anpassen. Falls Sie die Oberfläche sicherheitshalber dennoch in die App laden möchten, finden Sie hier wie immer den QR-Code. Allerdings müssen Sie dann auch den Token neu in Ihr Programm eintragen. ...

09.12.2016 · 3 Minuten · Fabian Kainka

Tag 8: Virtuelle LEDs

In dem Versuch des sechsten Tages haben Sie gesehen, wie Sie einen Tastschalter auf der Hardwareseite auf einen Button in der App abbilden können. Ein anderes Widget, nämlich das LED Widget ist für diesen Fall allerdings viel eindeutiger. Wie man dieses Widget richtig einsetzt und welche Möglichkeiten das bietet sehen Sie in dem heutigen Versuch. Hinter dem heutigen Türchen befindet sich wieder ein 1 kOhm Widerstand, der für spätere Versuche wichtig wird. Heute wird allerdings die Schaltung von gestern mit einem zusätzlichen Taster verwendet. ...

08.12.2016 · 3 Minuten · Fabian Kainka

Tag 7: Analog Write

Hinter dem heutigen Türchen befindet sich ein Potentiometer (kurz Poti). Mit diesem Poti können Sie analoge Messungen an die Blynk App übertragen. Dazu müssen Sie die Schaltung auf dem unteren Bild nachbauen. Das Poti benutzt heute die untere Leitung für die Verbindung mit A0 Es kann beim Aufbauen etwas eng mit dem MicroUSB-Kabel werden. Damit alles klappt müssen Sie das Board zunächst vom Kabel trennen und die Drahtbrücken möglichst flach platzieren. Zu beachten ist außerdem, dass diesmal nicht VCC auf die im Bild untere Bahn gelegt wurde, sondern die Bahn für den Anschluss an Pin A0 gedacht ist. ...

07.12.2016 · 2 Minuten · Fabian Kainka

Tag 6: Der Hardware Button

In dem gestrigen Versuchen haben Sie eine einfache Steuerung einer LED über die Blynk-App realisiert. Heute werden Sie sehen, dass die Steuerung in beide Richtungen funktioniert. Dafür kommt der Tastschalter hinter dem heutigen Türchen gerade recht. Mit ihm lässt sich die gestrige Schaltung zur folgenden erweitern: Der neue Aufbau mit Tastschalter an D7 Die Oberfläche des heutigen Tages können Sie hier scannen: ...

06.12.2016 · 2 Minuten · Fabian Kainka