Binäruhr in Python / Umstieg auf Arduino / Umstieg auf Wemos D1

  • Das war zumindest mal was einfaches :)

    C
    if(use_seconds)
        {
        delay(1000);
        }
        else
        {
        delay(60000);

    Jetzt kämpfe ich gerade mit der WiFimanager Bibliothek.
    Technisch funktioniert das:
    Wenn der Wemos startet und kein bekanntes WLAN findet, dann setzt er sich in den AccessPoint-Modus und man kann sich dann per WLAN damit verbinden.
    Dort trägt man dann die Zugangsdaten zum Router ein. Abwarten ... läuft.
    Nehme ich den Code jetzt aber bei mir rein, dann zeigt er zwar im print an, dass die Verbindung besteht und auch die Fritzbox zeigt dies an, aber die NTP-Befehle werden nicht abgearbeitet.
    Da werde ich jetzt noch ein wenig drann knabbern.

    Auf der Wunschliste steht noch, dass man die Farben per Webinterface ändern kann. Aber ist auch nur eine Idee.
    Man müßte die Werte für Stunden, Minuten und Sekunden tauschen können.
    Kein Plan davon. Wie immer. Aber das hält mich ja sonst auch nicht ab.

  • Hallo Don,

    schön zu sehen das Du da weiter arbeitest und nicht wie ich faul im Urlaub war. :)

    Mir fällt gerade auf das ein delay(60000) unter Umständen eine inkorrekte Zeit nach sich zieht.
    Wenn die Zeit, beim drücken des Buttons, gerade xx:xx:59 ist, wird jede weitere Minute erst um xx:xx+1:59 gestellt, oder?
    Wäre vlt. besser wenn Du etwas wie

    delay(60000 - (aktuelle_sekunden * 1000)) machst

    ?

    Bezgl. der NTP-Funktionen vlt. etwas wie

    if(WiFi.isConnected())
    {
    NTP....
    }

    um sicher zu sein, dass IP verfügbar ist. Oder vlt. eine Überprüfung ob der Wemos überhaupt eine IP Adresse hat?

    Gruß
    Claudia

  • Beides schon berücksichtigt.
    Laut [definition='1','0']log[/definition] stimmt die Zeit aber auch weiterhin.

    Die W-Lan Sache gehe ich noch mal neu an.
    Ich habe hier Beispiele gefunden:
    http://www.instructables.com/id/The-Light-Clock-IoT

    Aktuell arbeite ich an der Hardware. Ich werde mir wohl nächste Woche noch neue Winkel an der Kantbank biegen.
    Die Löcher in der Front habe ich jetzt mit Heißkleber gefüllt. Dann blendet das Licht dort nicht mehr so.
    Gestern bestimmt 10 Layouts getestet und verworfen. Aber so ist das wenn man da mal mit ausreichend Zeit drann gehen kann.
    Dann probiert man einfach alles aus, was man gerade im Kopf dazu hat.
    Langsam habe ich aber ein klares Bild davon, wie es am Ende aussehen soll. Ursprünglich wollte ich ja auf Kunststoff verzichten,
    aber die Halterung für den Wemos werde ich aus Acryl machen. Metall ist durch das WLAN unangebracht. Holz nicht geeignet, weil ich mit Gewinden arbeiten will.
    Glas wäre noch schick, aber für so ein Projekt viel zu teuer. Also doch Acryl.

    Software mache ich vielleicht heute noch ein wenig.

    Im Grunde läuft es ja schon. Alles andere ist nur noch schauen, ob es umsetzbar ist.

    Interessanter Nebeneffekt ist, dass ein Schalten einer Neonröhre dazu führt, dass die Sekundenanzeige deaktiviert wird.
    Der EMP führt zu einem Schalteffekt. Da müßte ich den Prellwert vielleicht noch höher setzen.
    Mit deaktivierten Sekunden kann man die Uhr durchaus lesen. Gestern immer wieder getestet, ob ich es hinbekomme.
    Als das nicht mehr ging, habe ich mit der Bastelei für den Tag aufgehört :S

  • WiFi-Manager ist eingebaut und läuft :)

    Funktioniert noch. Also hat es noch nicht genug Funktionen. Ich schau mir dann mal ein paar Beispiele zum Thema Webinterface an.

  • Beim Tastenprellen kann ich einstellen, was ich will.
    Schalten eines nicht so gut isolierten Verbrauchers in der Nähe führt immer dazu, dass die Sekundenanzeige geschaltet wird.
    Ein Schild bauen bringt da nichts, da dann das WLAN nicht mehr funktioniert.
    Tja... unfreiwillige Dynamik reingebracht. Da das Projekt den Namen "Unmoment" trägt, paßt das ja auch irgendwie :thumbup:
    Und man kann es ja mit dem Button oder via Reset auch jederzeit wieder korrigieren.

    Das Thema Webinterface geht mir aktuell noch zu weit. Da kann ich mich nicht auch noch nebenher einarbeiten.
    Ich probiere jetzt einen ähnlichen Effekt mit einem weiterem Button zu erzielen. Mit dem soll man dann zwischen den verschiedenen Farbkombinationen umschalten können.
    Press 1: h=R m=G s=B
    Press 2: h=G m=B s=R
    Press 3: h=B m=R s=G

    Press 4: h=R m=B s=G
    Press 5: h=G m=R s=B
    Press 6: h=B m=G s=R

    6 Varianten. Mein aktueller Favorit ist: h=B m=R s=G

    Bei Langeweile gerne ein paar Ideen dazu :)
    Heute mache ich eh nichts mehr. Gleich erst aufs Rad und den Rest des Tages Pause.

  • Eine etwas seltsame Idee :)

    Wenn ich richtig verstehe, soll der D1 im AccessPoint Modus laufen, korrekt?
    Wenn dem so ist, könnte man ja via dem Event onSoftAPModeStationConnected die Mac
    des sich verbindenden Gerätes herausfinden und wenn Du diese manipulierst, dann könntest
    Du die RGB-Farben darin kodieren, oder? Rein theoretisch!? :)

    Btw. in den Beispielen wird der AP Modus so gesetzt

    C
    // Set up an access point
      WiFi.mode(WIFI_AP);
      WiFi.softAP(ssid, password);

    Gruß
    Claudia

  • Ich bräuchte noch mal Hilfe :)
    Aktuell fängt die erste LED in der Reihe bei 1 an und die letzte ist dann der Wert 32.
    Ich bräuchte das genau umgekehrt.
    Die erste LED müßte 32 sein und dann runter bis auf 1.
    Irgendwo hatten wir das auch schon, aber ich kann es nicht mehr finden.

    Aktueller Code:

  • Leider nicht.
    Ich habe noch ein paar weitere probiert:

    C
    for (int i = num_LEDs-1; i >= 0; --i)
        for (int i = num_LEDs; i >= 0; --i)
        for (int i = 0; i < num_LEDs; i++)
        for (int i = 0; i <= num_LEDs; i++)

    Alle mit dem selbem Ergebnis.
    Wenn dir nichts mehr einfällt, dann werde ich umlöten.

  • Falls Du nicht schon umgelötet haben solltest,
    wie äussert sich die Änderung?
    Was passiert wenn Du mit einer festen Uhrzeit, wie 3:12:48, die beiden loops testest?
    Das sollte eigentlich immer 2 LEDs je Stunde, Minute und Sekunde mit der gleichen Farbe setzen.
    Also in etwa display_binary(3, 12, 48);

  • Habe es dann doch umgelötet. Ich war eh gerade dabei den Aufbau zu machen, da ging das mal eben fix.
    Den Code habe ich noch dahingehend geändert, dass ich die internen Pullup-Widerstände verwende.
    Der zweite Button ist auch mit eingebaut, aber noch ohne Funktion.

    Sieht gut aus. Bilder kommen noch. Licht läßt sich echt nicht gut fotografieren.
    Steht jetzt im Wohnzimmer hinter uns. Vorn wäre die dann doch wesentlich zu hell.
    Man könnte noch einen Poti an die 5V zur Lichtleiste hängen und dort einfach regeln.
    Aber besser geht immer und mehr Ideen kommen beim arbeiten.

    Tolles Projekt. 1000 Dank an @ClaudiaF.

  • Besser werden die Bilder nicht...

    Anzeige ohne Sekunden:

    Mit Sekunden, nicht mehr lesbar, aber schön bunt:
    Strahlt auch nach hinten durch. So hat man eine mehrfarbige Schattenwirkung an der Wand:


    Rückseite ohne Licht:
    Der zweite Button ist noch ohne Funktion.

    Draufsicht:

    Vorn:

    Und die Unterseite:

    Ich werde noch ein Instructable dazu machen.
    Und dann?! ... auf zum nächsten Projekt. Temp- und Feuchtesensoren mit WLAN im ganzen Haus +Garten :)

  • Added: Temp, Luftfeuchte ... und Luftdruck sowie Höhenmeter. Letztere sind im Wohnzimmer aber eher uninteressant.
    Zu blynk mache ich noch ein Tutorial.



  • >probiere ich den Wert herauszurechnen?

    Ich könnte mir vorstellen, dass, je nachdem wo dies aufgestellt wird, unterschiedliche Differenzen ermittlelt werden.
    Stauwärme (?) und Luftmengenfluß (?) etc...

    >Baue ich jetzt ein Wärmeschild

    Vlt. ein kleines Alu-Schild?

    Darf ich fragen, welchen Temperatursensor Du im Einsatz hast?
    Ist ausser dem WemosD1 noch etwas nötig? Widerstand? etc...

  • Ich habe hier Bosch BME280 chips auf Platine.
    Da benötigt man nichts weiter. Grob nach dieser Anleitung:
    https://www.instructables.com/id/Solar-Power…eather-Station/

    Ich habe gerade drei unterschiedliche Thermometer an die selbe Stelle gelegt und alle zeigen unterschiedliche Werte.
    Das kann ja nichts genaues werden, wenn ich keinen Eichwert habe.
    Egal. In der blynk-App habe ich die Werte etwas angepaßt und komme jetzt auf einen vernünftigen Mittelwert.
    Hätte nicht gedacht, dass hier aber auch jede Hardware einen anderen Wert anzeigt. Der Bereich liegt immerhin bei 2° Unterschied.
    Das sind schon an die 10%.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!