Hallo zusammen Danke an Frank für die SK6812 - Unterstützung! Als bisheriger Bauer der "alten" WordClock mit Kaltweiss LEDs freut mich dies sehr! Zumal ich hier eine "neue" WordClock habe und das Weiss halt nicht in der Form herbekomme wie ich das wünsche. Frage an Torsten: Ist nun angedacht, dass die LED-Streifen in Sonderformat / Sonderabstand auch bestellen kann? Wäre ein Abnehmer für einige Uhren :-) Zumal hier in der Schweiz noch Bedarf besteht ;-) Oder wie gedenken die anderen Personen die 12h - Variante zu bauen mit dem SK6812? Gruss aus der Schweiz Daniel
Daniel K. schrieb: > Danke an Frank für die SK6812 - Unterstützung! Diese ist zwar nun komplett eingebaut aber noch nicht getestet. Das Wetter war einfach zu gut am Wochenende, als dieses in der Stube mit ein paar LEDs zu verbringen. Das nächste Release verzögert sich daher um ein paar wenige Tage. > Oder wie gedenken die anderen Personen die 12h - Variante zu bauen mit > dem SK6812? Im Moment ist da nur einer außer Dir - namlich Chris. Und soviel ich weiß, hat Chris bereits viele viele einzelne LEDs - also keinen Strip. Ich nehme auch an, dass die Nachfrage nach den SK6812 nicht so stark sein wird, um extra eine Sammelbestellung zu organisieren, wo dann Spezial-Anfertigungen für die WC12h gemacht werden müssen. Man sollte nicht vergessen, dass die Uhr sowieso nicht als Raumbeleuchtung dient, sogar eher der Anzeige einer Uhrzeit und ein paar anderer Spielereien. Daher halte ich den Nutzen der doppelt so teuren SK6812 für relativ gering. Wenn Du die SK6812 nutzen willst, dann baue eine WC24h. Da kannst Du das Standard-Raster von 60LEDs/m verwenden.
Ich habe heute die erste Hardware zusammen gesteckt und programmiert. Läuft soweit alles. Durch die sk68 LEDs sind die Farben zwar alle verschoben aber Funktion ist bis zum Update erstmal gegeben. Ich werde die 24h Version der Uhr bauen. Und davon auch gleich einen ganzen Stapel. Aktuell habe ich 5 Word Uhren im Einsatz. Jedoch sind die LED Treiber echt problematisch. Die erzeugen einen recht ordentlichen negativen überschwinger, was letzten Endes auf Dauer die LEDs grillt. Also umstellen auf dieses Projekt. Da mein mechanischer Aufbau schon steht habe ich mir eigene Platinen für die sk Dioden fertigen lassen. Die Dioden gibt es recht günstig bei Ali 1000 Stück für um die 100 Dollar. Sind zusammen gut 60 Euro für die Hardware. Gehäuse ist ein Ikea Bilderrahmen.
Ein Punkt von mir in Richtung Artikel zu diesem Projekt. Bei der Beschaltung vom LDR ist angegeben, dass man den Spannungsteiler via 1k Widerstand aufbauen soll. Ich hatte mir die LDR Sensoren A906032 von Reichelt bestellt. Gemessen bekommt man Widerstandwerte zwischen 100 kOhm und 5 kOhm am LDR, was ganz gut zum Datenblatt passt. Haut ma das ganze in die Formel für den unbelasteten Spannungsteiler sieht der ADC: 100k = 0.033 V 5k = 0.55 V ist jetzt nicht gerade viel Hub. Mein Vorschlag, den Widerstand R2 auf 10kOhm ändern, damit erhält man am Spannungsteiler 100k = 0.3V 5k = 2.2V als Hub. Somit wird der Regelbereich größer und Helligkeitsschwankungen können besser gefiltert werden. Dann noch ein möglicher Bug. In der Weboberfläche des ESP, kommt unter LDR die Meldung "Stored minimum value" wenn man den Button "Set as maximum Value" drückt. Kann das jemand bestätigen? Gruß Chris
Chris K. schrieb: > Bei der Beschaltung vom LDR ist angegeben, dass man den Spannungsteiler > via 1k Widerstand aufbauen soll. Ja, der 1k Widerstand passte nämlich bisher immer sehr gut zum ursprünglich eingesetzten LDR07, der leider mittlerweile nicht mehr verfügbar ist. > Mein Vorschlag, den Widerstand R2 auf 10kOhm ändern, damit erhält man am > Spannungsteiler > > 100k = 0.3V > 5k = 2.2V > > als Hub. Gut, dann werde ich das für den Ersatztyp A906032 im Artikel so ändern.
Frank M. schrieb: > Ja, der 1k Widerstand passte nämlich bisher immer sehr gut zum > ursprünglich eingesetzten LDR07, der leider mittlerweile nicht mehr > verfügbar ist. Dazu ein Hinweis: Zurzeit ist der LDR07 bei Reichelt wieder normal lieferbar. Der LDR07 hätte der Vorteil, dass die Bestückung der Shields gemäß Bestückungsdruck erfolgen kann. Und wer den Ersatztyp A 9060 32 bestellt hat, sollte wie beschrieben den Widerstand des Spannungsteilers für den LDR anpassen. Gruß Günter
Die Version 2.1.0 der WordClock-Software ist online verfügbar unter WordClock mit WS2812: Download Die wichtigsten Änderungen: - Auslagerung des HTML-Codegenerators auf den ESP8266, damit Code-Ersparnis auf dem STM32 von 14KB Flash. - Laufschrift mit dem aktuellen Wetter (über openweathermap.org) - Unterstützung von RGBW-LEDs SK6812 (optional) - Verbesserungen bei der LDR-Umgebungshelligkeitsmessung - Wegfall der Schaltfläche "Save all" im Web-Interface. Nun werden sämtliche geänderten Konfigurationsdaten sofort auch im EEPROM neu gespeichert. - Bugfix: DS18xx-Temperatur-Korrekturwert wurde bisher als RTC-Temperatur-Korrekturwert im EEPROM gespeichert. - Bugfix: Bei der manuellen Eingabe des aktuellen Datums/Uhrzeit im Webinterface wurde das Jahr bisher als "Zufallszahl" gespeichert, wenn der ESP8266 im AP-Modus läuft, weil kein WLAN vorhanden ist. WICHTIG: Es gibt auch eine neue Firmware-Version 2.1.0 für den ESP8266. Diese muss bei Aktualisierung der STM32-Software ebenso danach aktualisiert werden! Ich musste zwar einiges in der Software umkrempeln, um sämtliche Konfigurationswerte zwischen STM32 und ESP8266 immer synchron zu halten, aber die Arbeit hat sich gelohnt: Jetzt ist wieder genügend Flash auf dem STM32F103 (Mini-Board) vorhanden, um neue Erweiterungen einbauen zu können. Die Dokumentation im Artikel habe ich ebenso aktualisiert. Dort ist auch beschrieben, wie man die Wetterdaten beziehen und anzeigen kann, siehe auch WordClock mit WS2812: Web-Interface Es empfiehlt sich, unbedingt nach Abruf des Artikels die Taste F5 (oder entsprechendes) zur Aktualisierung der Bilder zu drücken, da das Wiki diese nicht automatisch aktualisiert. In der nächsten Version ist auf jeden Fall geplant, die Wetterdaten auch automatisch einblenden zu lassen. Im Moment geht das nur über eine Schaltfläche in der Web-Oberfläche. Zur Unterstützung der SK6812-RGBW-LEDs: Ich werde diese Variante nicht als Hex-Dateien zur Verfügung stellen, da jetzt schon 6 Hex-Dateien für alle Varianten von mir erstellt werden. Um die SK6812-Variante zu generieren, muss man folgende Änderung in display-config.h vornehmen: Alt:
1 | #define DSP_USE_WS2812 1 // use WD2812 RGB LEDs
|
2 | #define DSP_USE_APA102 0 // use APA102 RGB LEDs
|
3 | #define DSP_USE_SK6812 0 // use SK6812 RGBW LEDs
|
Neu:
1 | #define DSP_USE_WS2812 0 // use WD2812 RGB LEDs
|
2 | #define DSP_USE_APA102 0 // use APA102 RGB LEDs
|
3 | #define DSP_USE_SK6812 1 // use SK6812 RGBW LEDs
|
Die SK6812-LED-Stripes werden an demselben Pin wie die WS2812 angeschlossen. Viel Spaß, Frank
:
Bearbeitet durch Moderator
Klingt gut, werde ich gleich mal testen. Bin ich demnach nicht der einzige, der das schlechtere Wetter der letzten 2 Tage genutzt hat. Bei mir ist inzwischen meine Version eines Shields für das Mini-Board fertig geworden. Auf 10 x 3 cm alles drauf was man braucht. Wenn die Software jetzt läuft, kann ich mich direkt ans bestellen der Leiterplatten machen.
Chris K. schrieb: > Bei mir ist inzwischen meine Version eines Shields für das > Mini-Board fertig geworden. Ich sehe am Bild, dass Du das ESP-07 statt des ESP-01 Moduls einsetzen möchtest. Beachte dabei, dass Du die Sources für den ESP8266 ESP-07 evtl. neu compilieren musst. Für ein ESP-12F musste ich das jedenfalls wegen der geänderten Flash-Größe.
:
Bearbeitet durch Moderator
Hallo Frank, beim ESP07 musste ich bislang nur den Pin15 auf GND legen, sonst stimmt der Bootloader Modus vom ESP nicht. Damit lief es dann schon. Habe gerade auch deine neuen SW Versionen geladen. SK6812 Ansteuerung klappt. Allerdings scheinen Rot und Grün vertauscht zu sein. Beim Einschalten leuchtet die Uhr grün. Laut Weboberfläche ist Rot eingestellt. Stelle ich dann Grü ein, leuchtet die Uhr Rot. Blau und Weiß hingegen passen. Gruß Chris
Chris K. schrieb: > SK6812 Ansteuerung klappt. Freut mich. > Allerdings scheinen Rot und Grün vertauscht zu sein. Ja, ich hatte mich schon gewundert, dass lt. SK6812-Datenblatt erst Rot und dann Grün gesendet werden muss, während das bei WS2812 genau umgekehrt ist. Da ist das SK6812-Datenblatt definitiv falsch. Anpassung in sk6812.c, Funktion sk6812_setup_timer_buf(): Alt:
1 | for (n = 0; n < n_leds; n++) |
2 | {
|
3 | for (i = 0x80; i != 0; i >>= 1) // color red |
4 | {
|
5 | timer_buf[pos++] = (led->red & i) ? SK6812_T1H : SK6812_T0H; |
6 | }
|
7 | |
8 | for (i = 0x80; i != 0; i >>= 1) // color green |
9 | {
|
10 | timer_buf[pos++] = (led->green & i) ? SK6812_T1H : SK6812_T0H; |
11 | }
|
Neu:
1 | for (n = 0; n < n_leds; n++) |
2 | {
|
3 | for (i = 0x80; i != 0; i >>= 1) // color green |
4 | {
|
5 | timer_buf[pos++] = (led->green & i) ? SK6812_T1H : SK6812_T0H; |
6 | }
|
7 | |
8 | for (i = 0x80; i != 0; i >>= 1) // color red |
9 | {
|
10 | timer_buf[pos++] = (led->red & i) ? SK6812_T1H : SK6812_T0H; |
11 | }
|
Also einfach die beiden Wörtchen green und red vertauschen - oder direkt die beiden inneren for-Blöcke :-) P.S. Ich habe die Änderung als Version 2.1.0a ins SVN eingecheckt.
:
Bearbeitet durch Moderator
Na ja China LEDs. Die können den Google Übersetzter halt auch nicht immer richtig bedienen ;) Mit dem kleinen Bugfix stimmen die Farben. Wirklich sehr genial was du da geschaffen hast. Der Quellcode gefällt mir richtig gut. Ich komme zwar aus der Hardware Ecke, aber mit dem komme sogar ich zurecht. Jetzt noch schnell die Platinen bestellt und ran an den Lötkolben. Ich halte euch auf dem laufenden.
Hallo Frank danke für die sensationelle Arbeit und ich werde mich somit auf die Suche nach SK6812RGBW Led-Streifen machen und dann wieder Feedback geben! Einfach ein Hammer-Projekt!!! Gruss Daniel
Hallo Frank, leider scheint sich bei mir ein Problem mit der aktuellen Firmware aufgetan zu haben. Erst hatte ich bei mir das STM32F103 geflasht, und danach den ESP extern. Danach habe ich wieder alles zusammen gesteckt, und im UART Logger war zu sehen, dass alles soweit funktioniert, und sogar noch das alte WLAN gespeichert war. Dann habe ich den ESP aus Interesse noch einmal erfolgreich im Shield für das Mini-Board geflasht und seit dem scheint irgendwas mit dem AP Modus schief zu laufen, zumindest wird als IP nur noch 0.0.0.0 angezeigt, ich kann mich aber noch mit dem wordclock WLAN verbinden. hier einmal der Log:
1 | power_init() called<\r><\n> |
2 | switching power on<\r><\n> |
3 | <\r><\n> |
4 | Welcome to WordClock Logger!<\r><\n> |
5 | ----------------------------<\r><\n> |
6 | Version: 2.1.0<\r><\n> |
7 | rtc is offline<\r><\n> |
8 | eeprom is offline<\r><\n> |
9 | ESP8266 LOGGER<\r><\n> |
10 | (- setup UDP)<\r><\n> |
11 | esp8266 now up<\r><\n> |
12 | (- local port: 2421)<\r><\n> |
13 | (- setup server UDP)<\r><\n> |
14 | (- local port: 2424)<\r><\n> |
15 | (FIRMWARE 2.1.0)<\r><\n> |
16 | (- working as AP)<\r><\n> |
17 | (MODE ap)<\r><\n> |
18 | (IPADDRESS 0.0.0.0)<\r><\n> |
19 | info: ip address = 0.0.0.0<\r><\n> |
20 | esp8266 now online<\r><\n> |
21 | --> time "192.53.103.103"<0d><0a><\r><\n> |
22 | (OK time) |
P.S. Es handelt sich um die WC12h auf dem STM32F103 mit der ersten Version vom Shield. Beste Grüße Niels J.
Das gleiche Problem mit der IP taucht auch auf meinem Nucelo Test Board auf
1 | Welcome to WordClock Logger! |
2 | ---------------------------- |
3 | Version: 2.1.0 |
4 | rtc is online |
5 | eeprom is online |
6 | current eeprom version: 0x00020200 |
7 | ESP8266 LOGGER |
8 | read rtc: Su 2000-01-01 00:01:39 |
9 | (- setup UDP) |
10 | esp8266 now up |
11 | (- local port: 2421) |
12 | (- setup server UDP) |
13 | (- local port: 2424) |
14 | (FIRMWARE 2.1.0) |
15 | (- working as AP) |
16 | (MODE ap) |
17 | (IPADDRESS 0.0.0.0) |
18 | info: ip address = 0.0.0.0 |
19 | esp8266 now online |
20 | read rtc: Su 2000-01-01 00:01:45 |
21 | --> time "192.53.103.103"<0d><0a> |
22 | (OK time) |
23 | RTC temperature: 24 |
Ein druck auf die blaue Test hat - zumindest im Log - keine Auswirkung. Ich kann mich dennoch mit dem AP "wordclock","1234567890" verbinden und kann mit der IP 192.168.4.1 auf den ESP und diesen dort konfigurieren. Er bekommt dann auch eine IP von meiner Fritz:
1 | (- new client) |
2 | (OK cap) |
3 | (AP XXXXXX) |
4 | (MODE client) |
5 | (IPADDRESS 192.168.10.20) |
6 | info: ip address = 192.168.10.20 |
Gruß, Torsten
:
Bearbeitet durch User
Torsten G. schrieb: > Ich kann mich dennoch mit dem AP "wordclock","1234567890" verbinden und > kann mit der IP 192.168.4.1 auf den ESP und diesen dort konfigurieren. Danke für die Anmerkung, das hat auch bei mir geklappt :D Abgesehen vom nicht erkannten EEPROM (Das Problem ist aber schon älter als die aktuelle Firmware) scheint soweit wieder alles zu funktionieren. Beste Grüße Niels J.
Niels J. schrieb: > (- working as AP)<\r><\n> > (MODE ap)<\r><\n> > (IPADDRESS 0.0.0.0)<\r><\n> Torsten G. schrieb: > (- working as AP) > (MODE ap) > (IPADDRESS 0.0.0.0) Da ich in den letzten Wochen gefühlte tausend mal den ESP zum Test der Software gesflasht habe und dieses Problem niemals aufgetaucht ist, wundert mich das etwas. Warum steht da plötzlich "working as AP"? Kann es sein, dass Ihr zuerst die Flash-Taste und danach erst die RESET-Taste drückt? Das würde es zumindest erklären, warum das Ding in den AP-Modus schaltet. Wenn man diese Reihenfolge strikt einhält: - RESET-Taste drücken und festhalten - Flash-Taste drücken (bzw. Jumper stecken) - RESET-Taste loslassen - Flash-Taste nach kurzer Zeit auch loslassen sollte der ESP niemals auf die Idee kommen, in den AP-Modus zu schalten. Torsten G. schrieb: > Ich kann mich dennoch mit dem AP "wordclock","1234567890" verbinden und > kann mit der IP 192.168.4.1 auf den ESP und diesen dort konfigurieren. > Er bekommt dann auch eine IP von meiner Fritz: Na immerhin klappt das ja dann wieder. Dann ist dieses "Phänomen" ja nicht allzu kritisch. Ich muss heute abend mal schauen, ob das mit der 0.0.0.0 lediglich eine falsche Anzeige ist. Auch wäre es nicht schlecht, wenn Ihr das reproduzieren könntet - und wenn ja, wie.
Die Android-App ist nun auch aktuell auf V2.1.0. Änderungen: - Alle aktuell vorgesehenen Animationen können nun vollständig über die App ausgewählt werden. - RGBW-LED-Unterstützung: Unter dem Menü "Einstellungen" kann nun eingestellt werden, dass RGBW-LEDs eingesetzt werden. In diesem Fall erscheint ein weiterer Regler mit der Farbe "Weiß". EDIT: noch ein Punkt. - Die Oberfläche ist nun "scrollable", kann also bei kleineren Mobilgeräten, wo nicht alles draufpasst, gerollt werden.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Niels J. schrieb: >> (- working as AP)<\r><\n> >> (MODE ap)<\r><\n> >> (IPADDRESS 0.0.0.0)<\r><\n> > > Torsten G. schrieb: >> (- working as AP) >> (MODE ap) >> (IPADDRESS 0.0.0.0) Das flashen des Nucleo und des ESP haben super geklappt. Nach dem Neustart der Uhr - also beides schon auf den aktuellen SW - startet der ESP (der noch neu war) im AP Mode. Was ja richtig ist. Auch nach einen druck auf die blaue Taste, sollte der ESP ja wieder im AP Mode starten. Das macht er ja auch richtig. Nur gibt er es wohl falsch im Log aus. > Wenn man diese Reihenfolge strikt einhält: > > - RESET-Taste drücken und festhalten > - Flash-Taste drücken (bzw. Jumper stecken) > - RESET-Taste loslassen > - Flash-Taste nach kurzer Zeit auch loslassen > > sollte der ESP niemals auf die Idee kommen, in den AP-Modus zu schalten. Wie gesagt, das flashen klappt ja auch super :) > Na immerhin klappt das ja dann wieder. Dann ist dieses "Phänomen" ja > nicht allzu kritisch. Ich muss heute abend mal schauen, ob das mit der > 0.0.0.0 lediglich eine falsche Anzeige ist. Ich denke mal, dass es hier nur eine falsche Ausgabe im Log ist > Auch wäre es nicht schlecht, wenn Ihr das reproduzieren könntet - und > wenn ja, wie. Einfach wenn die Uhr läuft, den blauen Knopf drücken um den ESP wieder in den AP Mode zu versetzten. Dann kommt die Ausgabe:
1 | user button pressed: configuring esp8266 as access point |
2 | --> ap "wordclock","1234567890"<0d><0a> |
3 | (OK ap) |
4 | (- disconnecting...) |
5 | (- starting AP mode...) |
6 | (- begin server...) |
7 | (AP wordclock) |
8 | (MODE ap) |
9 | (IPADDRESS 0.0.0.0) |
10 | info: ip address = 0.0.0.0 |
11 | esp8266 now online |
:
Bearbeitet durch User
Torsten G. schrieb: > Einfach wenn die Uhr läuft, den blauen Knopf drücken um den ESP wieder > in den AP Mode zu versetzten. Dann kommt die Ausgabe: > [...] > (IPADDRESS 0.0.0.0) Okay, danke. Damit sollte ich es herausfinden. Ich schreibe jetzt erstmal in den Artikel, dass mit 0.0.0.0 die IP-Adresse 192.168.4.1 gemeint ist ;-) EDIT: Ich habe es gerade im Artikel verewigt: Hinweis: Durch einen Anzeigefehler in der aktuellen ESP-Firmware 2.1.0 könnte an dieser Stelle auch fälschlicherweise "0.0.0.0" als IP-Adresse ausgegeben werden. In diesem Fall ist die zu verwendende IP-Adresse 192.168.4.1.
:
Bearbeitet durch Moderator
Torsten G. schrieb: > (IPADDRESS 0.0.0.0) Habe den Fehler bei Code-Durchsicht gefunden und behoben. Die neue ESP-Firmware 2.1.0a ist bereits hochgeladen. Kann das jemand testen? Ich kann das mangels Hardware leider erst heute abend. Danke, Frank
:
Bearbeitet durch Moderator
Frank M. schrieb: > Torsten G. schrieb: >> (IPADDRESS 0.0.0.0) > > Habe den Fehler bei Code-Durchsicht gefunden und behoben. Die neue > ESP-Firmware 2.1.0a ist bereits hochgeladen. Kann das jemand testen? Funktioniert !
Hello Frank Thank you for your interest in my post, I know it's hard to read because the translators by Google translator. I checked the configuration 24 with LED corner and did not work, so I decided to make a 18x18 matrix (without corner LEDs) and everything seems to be ok. I want to cut housing laser plywood, so I'm in the attached picture. I have a question about the displayed temperature: Is it possible to display the temperature in digital form instead of text? Was that the ability to display the date in the form of scrolling text? (The ability to set how often that was displayed) Cool it would be to add a second display milliseconds Ambilight mode.
Bei mir wc24h f103 läuft die 2.1 nun auch. Besten Dank. Wird die Wetter Laufschrift Funktion in den zukünftigen Versionen weiter verwendet? Dann wäre es schön, wenn auch die umlaute angezeigt werden. Aktuell sind das Leerzeichen...
Thomas H. schrieb: > Bei mir wc24h f103 läuft die 2.1 nun auch. Besten Dank. Freut mich. > Wird die Wetter Laufschrift Funktion in den zukünftigen Versionen weiter > verwendet? Dann wäre es schön, wenn auch die umlaute angezeigt werden. > Aktuell sind das Leerzeichen... Upps, das ist dann ein Bug. openweathermap.org gibt die Texte in UTF-8 aus. Diese konvertiere ich dann auf dem ESP-01 nach ISO8859-1, weil ich die Laufschrift im ISO-Zeichensatz - jedenfalls was die deutschen Sonderzeichen betrifft - implementiert habe. Irgendwo müssen die Umlaute da verloren gehen. Ich werde das prüfen und in Ordnung bringen.
Hello Roman, roman schrieb: > I checked the configuration 24 with LED corner and did not work, so I > decided to make a 18x18 matrix (without corner LEDs) and everything > seems to be ok. Ok :-) > Is it possible to display the temperature in digital form instead of > text? Yes, it's possible. On the WC12h the temperature can be displayed as numbers (static matrix) or as a ticker text. This solution can also be used for your clock. I will look into the source and I will tell you how to adapt it for your 18x18 clock. > Cool it would be to add a second display milliseconds Ambilight mode. Milliseconds ambilight? Could you please explain what you mean?
Hello Frank As for the effect as in the video without the red and green: https://www.youtube.com/watch?v=YErWfe0aTiQ Ps. Big thanks for a great project.
Gibt es eigentlich noch shields für das stm32 MiniDevBoard? Ich würde gern eins kaufen. 0xEF
Aktuell läuft wieder eine Sammelbestellung für die Bauteile. Alternativ kanst du in ein paar Wochen auch eines meiner SMD Mini Shields bekommen, wenn du vor dem SMD nicht fieß bist. Die habe ich gestern in Auftrag gegeben.
Enrico F. schrieb: > Gibt es eigentlich noch shields für das stm32 MiniDevBoard? Soviel ich weiß, hat Torsten (wawibu) noch Shields aus der letzten Sammelbestellung übrig. Schreib ihn einfach an. Gruß, Frank
Frank M. schrieb: > Upps, das ist dann ein Bug. openweathermap.org gibt die Texte in UTF-8 > aus. Diese konvertiere ich dann auf dem ESP-01 nach ISO8859-1, weil ich > die Laufschrift im ISO-Zeichensatz - jedenfalls was die deutschen > Sonderzeichen betrifft - implementiert habe. Irgendwo müssen die Umlaute > da verloren gehen. Ich werde das prüfen und in Ordnung bringen. Ich antworte mir mal selber: Ich habe tatsächlich vergessen, den Aufruf der UTF8-nach-ISO8859-Konvertierungsfunktion von der Testversion in die Release-Version rüberzukopieren. Das habe ich nun nachgeholt und eine Version 2.1.0b für die ESP-Firmware erstellt und hochgeladen. Ein Update der ESP-Firmware sollte damit das Problem mit den Umlauten beseitigen.
Enrico F. schrieb: > Gibt es eigentlich noch shields für das stm32 MiniDevBoard? > Ich würde gern eins kaufen. Ja, Shields gibt es noch - sowohl für Nucleo als auch für MiniDev Habe ich Dir auch gerade eben geschrieben :)
Hallo, ich bin dabei meine eigene Wordclock zu bauen. Allerdings bräuchte ich dafür eine andere Frontplatte und am besten auch einen etwas anderen Zwischenboden. Was sind denn die besten und möglichst preiswerten Methoden Einzelstücke dieser beiden zu fertigen? Habt ihr da Erfahrungen gemacht?
Meine Wordclock besteht aus einem Ikea Bilderrahmen 50x50cm für 9€. Hinten ist eine Holzplatte drin, auf die man die Kabel und Elektronik löten kann. Die Halteklipse kann man so kürzen und dann umdrehen. Somit kann man die Holzplatte dann an den Auflagepunkten der Clipse festschrauben. Das Glas ging bei den ersten Rahmen richtig leicht raus, später hat Ikea besseren Kleber genommen. Mit einer ganz dünnen Klinge kann man sie dennoch rausschneiden. Braucht lieder ewtas Übung. Bei mir waren es die ersten 2 neuen Rahmen, bei denen ich das Glas zerbrochen habe. Folie gibts beim Werbegraphiker deines Vertrauens. Einfach eine entsprchenden Vorlage erstellen und plotten lassen. Zwischen die Buchstaben habe ich dann Linien aus schmalen doppelseitigen Klebeband gezogen. Als weiße Trennschicht einen Bogen Pergamentpapier aufgeklebt und zum Trennen der Buchstaben aus Pappkarton ein Gitter gebastelt.
Eine Frage zur Software. Ich muss für meine vorhandene Folie ja ein paar Anpassungen an der Anzeige machen. Gibt es eine Möglichkeit eine Art von Testmodus zu starten bei dem alle Zeiten durchgelaufen werden? Also quasi die Minuten und Stunden unabhängig von der RTC zu simulieren.
Chris K. schrieb: > Eine Frage zur Software. Ich muss für meine vorhandene Folie ja ein paar > Anpassungen an der Anzeige machen. Gibt es eine Möglichkeit eine Art von > Testmodus zu starten bei dem alle Zeiten durchgelaufen werden? Also > quasi die Minuten und Stunden unabhängig von der RTC zu simulieren. Nein, gibt es nicht. Ich selbst habe damals die Anzeige mit http://uclock.de/ getestet. Dafür habe ich einfach die tables- und die Anzeige-Routine auf Linux portiert. Du könntest natürlich die Uhrzeiten selbst mit der WordClock-Software testen, indem Du im Web-Interface verschiedene Uhrzeiten eintippst. Wenn das zu mühsam wird, hilft natürlich auch ein kleines Script, welches mit wget sämgliche zu testende Uhrzeiten an das Webinterface schickt. Alternative: Du greifst in die ISR (main.c) ein und sorgst dafür, dass minute z.B. 10 mal so oft incrementiert wird - einfach dort nicht auf F_INTERRUPTS prüfen, sondern auf (F_INTERRUPTS / 10). Schon läuft die Uhrt 10mal schneller. Den Timeserver-Zugriff solltest Du dann aber abschalten, der könnte Dir dazwischenhauen.
Hallo Frank habe gerade noch einen Fehler im main.c gefunden, denn im WebInterface wird der Max-Wert für den LDR nicht korrekt angezeigt. debug_log_message ("rpc: set LDR value as maximum"); ldr_set_max_value (); var_send_ldr_min_value (); --> Müsste var_send_ldr_max_value (); sein. Gruss Daniel
Hallo Daniel, Daniel K. schrieb: > debug_log_message ("rpc: set LDR value as maximum"); > ldr_set_max_value (); > var_send_ldr_min_value (); --> Müsste var_send_ldr_max_value (); sein. Du hast recht... mal wieder ein blöder Copy&Paste-Fehler. Ich korrigiere das.
Hoi Frank Bitte :-) Kleiner Wunsch noch für die Webseite der Uhr: Nach dem drücken einer Aktion wäre jeweils ein Refresh der Seite sinnvoll. Ist mir speziell im Register "LDR" aufgefallen. Weiter wäre allenfalls ein autorefresh, bspw. alle 15 Sekunden sinnvoll. <head> <meta http-equiv="refresh" content="15"> </head> Was denkst du, etwas für eine kommende Version? Gruss Daniel
Hi Daniel, Daniel K. schrieb: > Nach dem drücken einer Aktion wäre jeweils ein Refresh der Seite > sinnvoll. Nach jedem Drücken einer Aktion wird die Seite neu aufgerufen. > Ist mir speziell im Register "LDR" aufgefallen. Hm, auch geänderte LDR Werte (bei Abweichung >= 16 vom alten Wert) werden automatisch neu übertragen. Natürlich nicht neu angezeigt, erst wenn Du oben wieder auf LDR klickst. > Weiter wäre allenfalls ein autorefresh, bspw. alle 15 Sekunden sinnvoll. Ja, das wäre mit einem Autorefresh möglich. Stört aber bei Seiten mit Eingaben: Beim Tippen wird dann plötzich die Seite neu geladen und der bereits eingegebene Text ist wieder futsch. Auf der LDR-Seite könnte man das aber durchaus machen. Eine andere Lösung wäre Javascript, um bestimmte Felder zu aktualisieren. Aber da man das mit dem Kalibrieren des LDRs nicht sooo oft macht: Drück doch einfach oben auf LDR, dann siehst Du den aktualisierten Wert :-) Übrigens: Auch Temperaturänderungen werden automatisch in regelmäßigen Abständen übertragen. > Was denkst du, etwas für eine kommende Version? Auf der LDR-Seite kann man den Autorefresh einbauen, ja. Auf den anderen Seiten eher weniger. Gruß, Frank
:
Bearbeitet durch Moderator
Gibt es eigentlich auch irgendwo den Quellcode für die Android App zum Download. Im Tarball habe ich nur für die ARMs und den ESP den Quelltext gesehen. Wollte mal schauen, wie das Funktioniert im Hintergrund. Mit Android Apps habe ich mich bislang nämlich noch gar nicht beschäftigt.
Chris K. schrieb: > Gibt es eigentlich auch irgendwo den Quellcode für die Android App zum > Download. Im Tarball habe ich nur für die ARMs und den ESP den Quelltext > gesehen. Wollte mal schauen, wie das Funktioniert im Hintergrund. Mit > Android Apps habe ich mich bislang nämlich noch gar nicht beschäftigt. Das Android-Projekt habe ich nicht eingecheckt, weil es aus über 1000 Dateien besteht, obwohl darin nur jeweils zwei Java- und XML-Sources von mir sind. Ist schon ziemlich krank, was die Android-Studio-Leute da machen. Das Projekt kann ich Dir aber als Zip-Archiv per Mail schicken.
Hallo Frank, das wäre echt super, wenn du mir das Projekt mailen könntest. Beachte nur die Serverprobleme die wir bislang hatten. Gruß Chris
Frank M. schrieb: > Die Android-App ist nun auch aktuell auf V2.1.0. > > .... > EDIT: noch ein Punkt. > > - Die Oberfläche ist nun "scrollable", kann also bei kleineren > Mobilgeräten, wo nicht alles draufpasst, gerollt werden. Danke, dass du auch an materiell Minderversorgte gedacht hast. Jetzt habe ich auch einen Helligkeitsregler! Und wenn ich dann nach unten scrolle auch einen ganzen "Speichern" Button. Chris K. schrieb: > das wäre echt super, wenn du mir das Projekt mailen könntest. Wäre es unverschämt, dich zu bitten das Ganze auch an mich zu mailen, wenn du schon mal dabei bist? mfg und auch von mir nochmal danke für die tolle Entwicklungsarbeit. Bernhard
Hallo Frank, V2.1(b) der WC12h läuft auch auf dem Nucleo F411Re nach dem Update soweit stabil. Hatte aber masssive Probleme das ESP zu flashen. (Abbruch mit Fehler "invalid header" danach ging das ESP irgendwann gar nicht mehr in den Flash-Modus ==> über USB-Adapter gings aber ohne Probleme) Dabei ist mir aufgefallen, dass im AP-Modus keine Kommunikation mit dem EEPROM und dem Temp-Sensor stattfindet. Das Webportal kann aufgerufen werden, aber EEPROM und Temp-Sensor (auch der externe) werden als offline angezeigt. Wenn man dann wieder den Router einträgt und in den Client-Modus wechselt, ist alles wieder da...(Fehler ist reproduzierbar) Außerdem noch ein paar weitere Anmerkungen: - Die Änderung der Display-Helligkeit über Schieberegler ist nur bei jedem zweiten Schritt erkennbar (2 auf 3, 4 auf 5,6 auf 7, usw. ohne erkennbare Helligkeitsänderung) (auch beim Ambilght, hier aber teilweise nur jeder 3. Schritt erkennbar) Hat evtl. auch was mit der aktuellen Farbeinstellung zu tun? - Automatische Helligkeit springt teilweise immer noch (Widerstand wie oben beschrieben bereits getauscht), ist aber schon besser. Evtl. könnte man noch einen Filter drüber legen und einzelne Spitzen rausfiltern. - Automatische Helligkeit sollte auch für Ambilight (alle Modi) separat zuschaltbar sein. (ohne "Use display colors" ==> separate Checkbox auf Ambilight Seite) ==> Bestenfalls mit Offset-Regler, um das Ambilight dunkler als das Display einstellen zu können. - "Use display colors" sollte auf der Weboberfläche unter "Ambilight" zu finden sein, nicht unter "Display" (und, wenn der separate Schalter für die automatische Helligkeit des Ambilight umgesetzt wird, auch nur die Farbe steuern.) - Anzeigedauer der Temp. ist noch von Länge der Animation abhängig. (Je länger die Anmitation, desto kürzer die Anzeigedauer der Temp.) - kleine Umlaute (ä,ö...) werden als Großbuchstaben dargestellt (Ä,Ö...) - Nach "Test Display" wird die ursprüngliche Helligkeit des Ambilight nicht wieder hergestellt - Laufschriften sind jetzt auf der WC12h besser lesbar, wenn auch die ersten Buchstaben ins Display "reinlaufen" PS: Was wurde denn eigtl. aus der 7-Segment Temp.-Anzeige mit der "Fünf"? ;) Gruß Tom
:
Bearbeitet durch User
Thomas B. schrieb: > Außerdem noch ein paar weitere Anmerkungen: > - Die Änderung der Display-Helligkeit über Schieberegler ist nur bei > jedem zweiten Schritt erkennbar (2 auf 3, 4 auf 5,6 auf 7, usw. ohne > erkennbare Helligkeitsänderung) (auch beim Ambilght, hier aber teilweise > nur jeder 3. Schritt erkennbar) Hat evtl. auch was mit der aktuellen > Farbeinstellung zu tun? > Hallo zusammen, wenn ich es dem Code richtig entnommen habe, wird nur auf jede 2te Helligkeitsstufe reagiert. Sollte dies ein Versuch sein, die Sprünge zu reduzieren, dann gibt es da bessere Möglichkeiten: Z.B. ein FIR-Filter: float fir_in[10]; float update_FIR(float adc_in) { static int fir_index = 0; fir_index = (fir_index + 1) % 10; fir_in[ fir_index ] = adc_in; float fir_ausgang = 0; for (int i=0; i<10; i++) { fir_ausgang += fir_in[ i ] * 0.1; } return fir_ausgang; }
Hallo Tom, Thomas B. schrieb: > Hatte aber masssive Probleme das ESP zu flashen. (Abbruch mit Fehler > "invalid header" danach ging das ESP irgendwann gar nicht mehr in den > Flash-Modus ==> über USB-Adapter gings aber ohne Probleme) Da ich daran nichts geändert habe und bei mir nachwievor das Flashen des ESP über den STM32 reibungslos funktioniert, bin ich mir da keiner Schuld bewusst. :-) > Dabei ist mir aufgefallen, dass im AP-Modus keine Kommunikation mit dem > EEPROM und dem Temp-Sensor stattfindet. Merkwürdig. Passiert das, wenn Du über den User-Button den AP-Modus einstellst oder nur, wenn Du das über das Web-Interface umstellst? Was ist nach einem Reboot nach der Umstellung? > Außerdem noch ein paar weitere Anmerkungen: > - Die Änderung der Display-Helligkeit über Schieberegler ist nur bei > jedem zweiten Schritt erkennbar (2 auf 3, 4 auf 5,6 auf 7, usw. ohne > erkennbare Helligkeitsänderung) (auch beim Ambilght, hier aber teilweise > nur jeder 3. Schritt erkennbar) Hat evtl. auch was mit der aktuellen > Farbeinstellung zu tun? Das ist ein Bug. Allerdings gibt es schon seit vielen Monaten(!) eine Map-Tabelle für die Berechnung der Farben aufgrund der eingestellten Heligkeit:
1 | static const uint8_t dimmed_color_array[MAX_BRIGHTNESS] = { 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15 }; |
in der Funktion calc_dimmed_colors(). Intention dabei ist, dass es Unsinn ist, die Helligkeit der Uhr bis auf 0 runterzuregeln. Eine gewisse Grundhelligkeit ist immer sinnvoll. Daher wird hier die eingestellte Helligkeit von den Werten 0-15 auf 8 tatsächliche Werte reduziert. Keinesfalls hat das irgendetwas mit einer Reduzierung des "Helligkeits-Flackerns" bei der automatischen Helligkeit zu tun, wie Marco es vermutet. Schließlich gehts hier um die Schieberegler und nicht um die automatische Helligkeitsreglung. > - Automatische Helligkeit springt teilweise immer noch (Widerstand wie > oben beschrieben bereits getauscht), ist aber schon besser. Evtl. könnte > man noch einen Filter drüber legen und einzelne Spitzen rausfiltern. Ja, hier wäre ein Filter sinnvoll. > - Automatische Helligkeit sollte auch für Ambilight (alle Modi) separat > zuschaltbar sein. (ohne "Use display colors" ==> separate Checkbox auf > Ambilight Seite) > ==> Bestenfalls mit Offset-Regler, um das Ambilight dunkler als das > Display einstellen zu können. Ich bin mir da auch noch nicht ganz sicher, aber eine automatische Helligkeitsregelung mit Offset wäre tatächlich eine Lösung. > - "Use display colors" sollte auf der Weboberfläche unter "Ambilight" zu > finden sein, nicht unter "Display" (und, wenn der separate Schalter für > die automatische Helligkeit des Ambilight umgesetzt wird, auch nur die > Farbe steuern.) Ja, da war es auch schon mal vor längerer Zeit. Ich hatte einen Grund, das nach "Display" zu verschieben, aber der ist mir mittlerweile entfallen. Du hast schon recht, besser wäre das unter Display. Kann sein, dass es mich gestört hatte, zuerst unter "Ambilight" den Haken zu ändern, um anschließend zu "Display" zu wechseln, um dann die Farben einstellen zu müssen. Ich werde das ändern. > - Anzeigedauer der Temp. ist noch von Länge der Animation abhängig. (Je > länger die Anmitation, desto kürzer die Anzeigedauer der Temp.) Ja, ich weiß. Aber mit der 2.1.0 wollte ich erst einmal die Umstellung des HTML-Generators auf das ESP-Modul fertigstellen, bis ich neue Punkte aufgreife, um nicht allzuviele neue Baustellen aufzureissen. > - kleine Umlaute (ä,ö...) werden als Großbuchstaben dargestellt (Ä,Ö...) Ja, dummer Fauxpas. Bei der WC24h wird ein Font benutzt, der ausschließlich aus kleinen und großen Großbuchstaben besteht. Da fällt der Wechsel nicht auf. Bei der WC12h (für die ich mangels Aufbau "blind" programmiere) wird aber tatsächlich ein Font bestehend aus Groß- und Kleinbuchstaben eingesetzt. Ich korrigiere das. > - Nach "Test Display" wird die ursprüngliche Helligkeit des Ambilight > nicht wieder hergestellt Danke für den Hinweis, bringe ich in Ordnung. > - Laufschriften sind jetzt auf der WC12h besser lesbar, wenn auch die > ersten Buchstaben ins Display "reinlaufen" Freut mich :-) > PS: Was wurde denn eigtl. aus der 7-Segment Temp.-Anzeige mit der > "Fünf"? ;) Wie gesagt: Neue Punkte wollte ich erst anpacken, wenn die alte Funktionalität vor der Umstellung wieder gegeben ist.
Marco schrieb: > wenn ich es dem Code richtig entnommen habe, wird nur auf jede 2te > Helligkeitsstufe reagiert. Sollte dies ein Versuch sein, die Sprünge zu > reduzieren, [...] Da bist Du im Irrtum. Wie ich eben im Beitrag obendrüber geschildert habe, ist das Mapping der Helligkeiten einer gewissen Grundhelligkeit geschuldet. Mit der automatischen Helligkeitsregelung hat das auch gar nichts zu tun. Das Mapping der möglichen 16 Helligkeitsstufen auf 8 Stufen ist schon seit mindestens einem Jahr im Source und hat damit zu tun, dass es keinen Sinn macht, insgesamt 64 verschiedene Helligkeiten ("DISPLAY_COLORS") durch 16 mögliche Helligkeitsstufen zu teilen, da dann die Granularität darunter leidet. Im Moment ist es so: Es gibt 64 Helligkeitsstufen ("DISPLAY_COLORS") für jede Farbe, die mittels Gammakorrektur auf 256 Stufen ("LED_COLORS") gemapped wird, um dem Helligkeitsempfinden des menschlichen Auges gerecht zu werden. Diese 64 Helligkeitsstufen (DISPLAY_COLORS) werden über die Einstellung der Helligkeit runtergerechnet (DIMMED_DISPLAY_COLORS) und wirken daher in den Unterschieden recht grob. Das liegt an den tatsächlichen 8 Helligkeitstufen im oberen Zahlenbereich (8-15), mit denen ich dann rechne. Hier könnte man ansetzen: Nimmt man an, dass die LED_COLORS in den Differenzen einer jeden DISPLAY_COLOR-Stufe (z.B. Stufe 31 -> 32) annähernd linear sind, könnte man die Helligkeitsberechnung auf die 256 LED_COLORS statt auf die 64 DISPLAY_COLORS loslassen. Damit kann man den Helligkeitsregler tatsächlich auch mit "echten" 16 Stufen versehen. Also bisher arbeitet die Helligkeitsregelung so:
1 | Brigthness Gamma |
2 | DISPLAY_COLORS ----------> DIMMED_DISPLAY_COLORS -----------> LED_COLORS |
3 | (0-63) (0-63) (0-255) |
Neu sähe es dann so aus:
1 | Gamma Brigthness |
2 | DISPLAY_COLORS ----------> LED_COLORS -----------> DIMMED_LED_COLORS |
3 | (0-63) (0-255) (0-255) |
Mit der Wirkung der Helligkeitsregelung auf die 256 LED_COLORS sind dann tatsächlich auch 16 echte Helligkeitsstufen möglich. Wie gesagt: Das hat alles überhaupt nichts mit der automatischen Helligkeitssteuerung zu tun. Ich werde das mal so für die nächste Version anpacken, denn das hat mich schon immer gestört. Es kann natürlich sein, dass der Helligkeitsregler dann nicht mehr ganz linear wirkt, aber das halte ich für vertretbar. > dann gibt es da bessere Möglichkeiten: > > Z.B. ein FIR-Filter: Wozu braucht man hier float? Da werde ich misstrauisch, sorry. Auf den ersten Blick denke ich: Das geht genauso auch mit Integer.
:
Bearbeitet durch Moderator
FIR-Filter als Integer: int fir_in[10]; int update_FIR(int adc_in) { static int fir_index = 0; fir_index = (fir_index + 1) % 10; fir_in[ fir_index ] = adc_in; int fir_ausgang = 0; for (int i=0; i<10; i++) { fir_ausgang += fir_in[ i ]; } fir_ausgang *= 0.1; return fir_ausgang; }
Marco schrieb: > FIR-Filter als Integer: > fir_ausgang *= 0.1; Gestatte mir bitte: fir_ausgang /= 10; Damit ist dann auch der letzte float ausgemerzt - auch wenn das heutzutage auch Compiler können. Ich schaue mal, dass ich das in eine der nächsten Versionen integriere. Danke.
Ich glaube ich habe auch noch einen Bug bei der Temperaturanzeige gefunden. Ich hab die WC12. Die Temperatur wird von der RTC gemessen. Im Webinterface wird die Temperatur richtig angezeigt. Wenn ich dass aber auf die Uhr schicke steht da immer 12.
Werner A. schrieb: > Wenn ich dass aber auf die Uhr schicke steht da immer 12. 12 ist zu kalt - jedenfalls für diese Jahreszeit ;-) Werde ich überprüfen.
So, Urlaub vorbei :( Faszinierend was schon wieder alles passiert ist. Dickes Lob! Habe mich natürlich direkt auf die neue Software gestürzt und sie auch soweit zum laufen bekommen, aber: Wenn ich über den Webserver auf meine WC12 mit STM32F103 zugreife werden die Seiten "Display", "Animations" und "Ambilight" nicht richtig dargestellt (s. Bilder im Anhang). In den Auswahlfeldern steht kein Text (die Zeilen für die Auswahlmöglichkeiten sind aber vorhanden) und nach der 1. Tabelle wird nichts mehr angezeigt (also Einstellungen für die Animationen und Ambilight). Ist dieser Fehler schon mal aufgetreten? Außerdem ist mir aufgefallen, dass die IP nicht mehr beim Start über die LEDs angezeigt wird (der ESP8266 scheint aber wie gehabt zu funktionieren). Hier noch das Log:
1 | power_init() called |
2 | switching power on |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.1.0 |
7 | rtc is online |
8 | eeprom is online |
9 | current eeprom version: 0x00020200 |
10 | ESP8266 LOGGER |
11 | (- setup UDP) |
12 | esp8266 now up |
13 | read rtc: Su 2000-01-01 00:00:04 |
14 | (- local port: 2421) |
15 | (- setup server UDP) |
16 | (- local port: 2424) |
17 | (FIRMWARE 2.1.0b) |
18 | (- working as AP) |
19 | (MODE ap) |
20 | (Timeout) |
21 | read rtc: Su 2000-01-01 00:00:44 |
22 | DS18xxx temperature: 20 |
23 | RTC temperature: 22 |
24 | (- new client) |
25 | read rtc: Su 2000-01-01 00:01:45 |
26 | (- new client) |
27 | DS18xxx temperature: 20 |
28 | RTC temperature: 22 |
29 | read rtc: Su 2000-01-01 00:02:45 |
30 | DS18xxx temperature: 20 |
31 | RTC temperature: 22 |
32 | read rtc: Su 2000-01-01 00:03:45 |
33 | DS18xxx temperature: 20 |
34 | RTC temperature: 22 |
35 | (- new client) |
36 | (- new client) |
37 | (- new client) |
Frank M. schrieb: > Merkwürdig. Passiert das, wenn Du über den User-Button den AP-Modus > einstellst oder nur, wenn Du das über das Web-Interface umstellst? Was > ist nach einem Reboot nach der Umstellung? Hallo Frank, wollt grad nochmal probieren ob das Problem beim USER-Button auch besteht, jetzt tut alles wie es soll.... Hatte das Problem das erste mal, nachdem ich das ESP geflasht hatte (da ging das auch noch onboard, brauchte aber auch mehrere Versuche). Dachte schon, dass meine RTC sich verabschiedet hat, über Putty wurde aber EEPROM als online angezeigt. Irgenwann hab ich dann mal versucht den Router einzutragen, was auch ging und nach dem Aufruf des Webportals über den Router waren auch die Daten vom EEPROM und Temp.-Sensor wieder da. Danach über Webportal auf AP-Modus umgestellt und Daten waren wieder weg. Deshalb war ich mir eigtl. ziemlich sicher, dass es hier wohl ein Problem gibt... ;) Naja jetzt passts wieder, also keine Fehlersuche deinerseits notwendig. ;) Evtl. liegts ja an irgendeiner schlechten Verbindung (Nucleo-Shield-ESP), was auch die Probleme beim Flashen erklären würde und das sporadische Auftreten des Fehlers. Sollts wieder Auftreten, werd ich mich wohl mal auf die Suche begeben. Gruß Tom
Achim G. schrieb: > Ist dieser Fehler schon mal aufgetreten? Hallo Achim, da haben wir beide wohl die gleichen Probleme. Urlaub vorbei und die Uhr will nicht wie sie soll... ;) Bei mir sahs ähnlich aus, auf der Hauptseite wurden zusätzlich noch das EEPROM und der Temp.-Sensor als offline angezeigt. (obwohl im Log online ausgegeben wurde) Auch das mit der fehlenden IP-Anzeige kann ich bestätigen. (Portal war aber ohne Probleme unter 192.168.4.1 aufrufbar, nur halt ohne EEPROM-Daten) Evtl. liegts ja doch nicht an nem Wackelkontakt...? ;) Ist bei Dir auch wieder alles da, wenn Du die Uhr mit einem anderen Netzwerk verbindest? Gruß Tom
Thomas B. schrieb: > da haben wir beide wohl die gleichen Probleme. Das ist doch schon mal ein Anfang :) > auf der Hauptseite wurden zusätzlich noch das > EEPROM und der Temp.-Sensor als offline angezeigt. (obwohl im Log online > ausgegeben wurde) Bei mir genau so. > Ist bei Dir auch wieder alles da, wenn Du die Uhr mit einem anderen > Netzwerk verbindest? Habe ich bisher nicht getestet, versuche ich aber übermorgen mal.
:
Bearbeitet durch User
Achim G. schrieb: > Wenn ich über den Webserver auf meine WC12 mit STM32F103 zugreife werden > die Seiten "Display", "Animations" und "Ambilight" nicht richtig > dargestellt (s. Bilder im Anhang). Das Phänomen ist erklärbar: Die Konfigurationsdaten sind nicht übertragen worden. Dazu gehören zum Beispiel auch die Namen der Animationen. Jetzt fragt sich nur, warum. > Außerdem ist mir aufgefallen, dass die IP nicht mehr beim Start über die > LEDs angezeigt wird (der ESP8266 scheint aber wie gehabt zu > funktionieren). Hast Du vielleicht eine fliegende Verdrahtung und die UART-Kommunikation zwischen STM32 und ESP ist gestört? > (- working as AP) > (MODE ap) > (Timeout) Dieser Timeout darf nicht sein. Ist der reproduzierbar?
Frank M. schrieb: > Hast Du vielleicht eine fliegende Verdrahtung und die UART-Kommunikation > zwischen STM32 und ESP ist gestört? Alles ist auf dem Shield aufgelötet. >> (- working as AP) >> (MODE ap) >> (Timeout) > Dieser Timeout darf nicht sein. Ist der reproduzierbar? Ich meine schon, kann ich aber morgen erst testen.
Da bereits mehrere Leute nach den Sources für die Android-App gefragt haben, kann man das Zip-Archiv nun herunterladen über: http://uclock.de/WC24h-Android-Studo-Project.zip Die Zip-Datei ist ca. 4MB groß. Eigentlich wollte ich Sie auf den Wiki-Server hier auf µC.net legen, dieser erlaubt aber nur Dateien bis 2MB. Ebenso wäre es Unsinn, den jeweiligen Interessenten die Zip-Datei einzeln per Mail zu senden. Daher der obige Download-Link. Viel Spaß, Frank
Frank M. schrieb: >> (- working as AP) >> (MODE ap) >> (Timeout) > > Dieser Timeout darf nicht sein. Ist der reproduzierbar? Ja, ist reproduzierbar. Thomas B. schrieb: > Ist bei Dir auch wieder alles da, wenn Du die Uhr mit einem anderen > Netzwerk verbindest? Jap, alles so wie es sein soll: IP-Adresse wird angezeigt, alle Auswahlboxen sind gefüllt und die RTC und der Temperatursensor werden als online angezeigt. Liegt wohl am AP-Mode... Der timeout in Zeile 20 ist aber trotzdem noch da... Log:
1 | power_init() called |
2 | switching power on |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.1.0 |
7 | rtc is online |
8 | eeprom is online |
9 | current eeprom version: 0x00020200 |
10 | ESP8266 LOGGER |
11 | (- setup UDP) |
12 | esp8266 now up |
13 | read rtc: Su 2000-01-01 00:00:36 |
14 | (- local port: 2421) |
15 | (- setup server UDP) |
16 | (- local port: 2424) |
17 | (FIRMWARE 2.1.0b) |
18 | (- working as AP) |
19 | (MODE ap) |
20 | (Timeout) |
21 | read rtc: Su 2000-01-01 00:00:45 |
22 | DS18xxx temperature: 21 |
23 | RTC temperature: 21 |
24 | (- new client) |
25 | (- new client) |
26 | read rtc: Su 2000-01-01 00:01:45 |
27 | DS18xxx temperature: 21.5 |
28 | RTC temperature: 21 |
29 | (- new client) |
30 | read rtc: Su 2000-01-01 00:02:45 |
31 | DS18xxx temperature: 22 |
32 | RTC temperature: 21 |
33 | (- new client) |
34 | (OK cap) |
35 | (AP AP) |
36 | (MODE client) |
37 | (IPADDRESS 192.168.1.104) |
38 | info: ip address = 192.168.1.104 |
39 | esp8266 now online |
40 | --> time "192.53.103.103"<0d><0a> |
41 | (OK time) |
42 | (TIME 3681621382) |
43 | read rtc: We 2016-08-31 10:36:44 |
44 | DS18xxx temperature: 22 |
45 | RTC temperature: 21 |
Hallo zusammen, bei meiner Word Clock habe ich Probleme mit der Verklebung der Magnete an der Frontplatte. Die Magnet sind wie unter https://www.mikrocontroller.net/articles/Word_Clock_Variante_1#Befestigung_der_Frontplatte_.28.E2.80.9CPlexiglasvariante.E2.80.9D.29_an_der_Zwischenplatte beschrieben aufgeklebt worden. Dennoch löst sich der Kleber vom Magnet. Es waren für mich keine Luftblasen unter dem Magnet erkennbar. Ich hatte die Magnete mit Ethanol vor dem Kleben gereinigt und verwende UHU Plus Endfest (2k-Epoxy). An anderer Stelle hatte ich schon die Erfahrung gemacht, dass eine vernickelte Oberfläche wohl keine guten Hafteigenschaften hat. Kann mir jemand einen Tipp geben, wie ich die Magnete zuverlässig befestigen kann? Ich hatte schon überlegt größere Stahlscheiben zu verwenden, die jedoch laut Anleitung wohl keine so gute Positionierung erlauben. Schon mal vielen Dank für jeden Hinweis! Martin
Hallo Martin, bei mir haben sich die Magnete auch, einer nach dem anderen, vom Kleber gelöst. Jetzt hab ich sie mal vorsichtig mit feinem Schleifpapier angerauht und wieder mit UHU Endfest verklebt. Die verbliebenen Kleberrückstände machen jetzt auch das Positionieren viel einfacher... ;) Sollte jetzt besser halten. Ob das Anrauhen den Magneten schadet (Oxidation), wird sich zeigen... (der Kleber müsste auch einigermaßen luftdicht sein und die Beschichtung ist nur leicht angekratzt) Was Besseres ist mir auch erst mal nicht eingefallen. Gruß Tom
Hallo zusammen, @Frank mal eine kleine Frage welcher Aufwand wäre es einen Modus einzubauen in dem jedes Wort bzw. Punkt in einer anderen Farbe angezeigt wird bzw. sogar jeder verwendete Buchstabe in einer anderen zufälligen Farbe. Bzw. könntest du mir einen Tip geben wo ich dies evt. am sinnvollsten einbauen könnte? Danke Gruß Marco
Marco R. schrieb: > @Frank mal eine kleine Frage welcher Aufwand wäre es einen Modus > einzubauen in dem jedes Wort bzw. Punkt in einer anderen Farbe angezeigt > wird Die Darstellung bunter Wörter/Buchstaben selbst ist kein großer Aufwand. Aber die meisten Animationen gehen davon aus, dass hier nur eine Farbe benutzt wird. Das fängt schon bei der einfachsten Animation "Fade" an. Nehmen wir mal an, das Wort "VIER" muss ausgeblendet werden, das Einblenden vom folgenden "FÜNF" lassen wir jetzt mal weg. Im Moment ist es so: Es gibt einen Ist-RGB-Wert, z.B. RGB = (63, 12, 0). In dieser Farbe leuchtet das Word "VIER". Und es gibt einen Soll-Wert, nämlich RGB = (0, 0, 0). Das Ausblenden soll in z.B. 10 Schritten erfolgen. Dann wird für jeden der drei Farbwerte eine Schrittweite berechnet: Schrittweite R = 63 / 10 = 6 Schrittweite G = 12 / 10 = 1 Schrittweite B = 0 / 10 = 0 Diese Schrittwerte werden nun bei jedem Aufruf der Animation (40 x pro Sekunde) abgezogen, bis der Sollwert erreicht ist. Dadurch erreicht man ein Faden der LED - egal welche Farbe sie gerade hat und welche sie als Zielfarbe haben soll. Das Verfahren funktioniert auch beim Einblenden, hier werden die Schrittweiten dann aufaddiert statt abgezogen. Ja, sie funktioniert auch beim Wechsel von der Farbe X auf die Farbe Y, z.B. von (63, 12, 0) auf (0, 20, 63) - auch wenn davon momentan kein Gebrauch gemacht wird. Denn das Faden hat momentan immer ein Triple (0,0,0) - entweder als Start- oder als Zielwert. Da alle LEDs in derselben Farbe leuchten, brauche ich momentan nur drei Variablen dafür, nämlich die drei Schrittweiten, die ich auf alle 110 bzw. 288 LEDs gleichzeitig anwenden kann. Wenn jetzt jede LED in einer anderen Farbe leuchten soll, dann brauche ich statt einem Schrittweiten-Triple nun 288 Stück, also 288 x 3 = 864 Byte, denn für jede LED gibt es einen anderen Ausgangs- und einen individuellen Zielwert. Dann kann das Faden für jede LED auch individuell erfolgen. Verbrät halt ein wenig RAM ;-) Ich kann das gerne einbauen, aber dann bräuchte ich u.a. folgende Angaben dafür: 1. Welche Farben sollen möglich sein? Evtl. nur 8 wie rot, gelb, grün, blau, lila, türkis und weiß? Oder alle 64x64x64 möglichen, d.h. 262144 verschiedene Farben? Sieht das dann noch gut aus? Deine beiden Fotos zeigen ganz klar die Verwendung der 8 Standard-Farben. 2. Wie wird bestimmt, welcher Buchstabe welche Farbe haben soll? Zufall? 3. Soll eine identische Farbe eines benachbarten Buchstabens oder Wortes, der durch einen Zufallsgenerator erzeugt wird, bewusst vermieden werden? Dein erstes Foto zeigt zwei Wörter in türkis, findest Du das - wenn es schon bunt sein soll - ansprechend genug? Oder sollen möglichst Wiederholungen vermieden werden? 4. Wann sollen diese Farben pro Buchstabe/Wort wechseln? Bei jedem Uhrzeitenwechsel, oder nur zu jeder vollen Stunde oder einmal am Tag? Welche Konsequenzen hat das auf die Animationen? Welche müssten angepasst werden und wie? Soll ein fallender Tropfen (Animation Drop) die Original-Farbe beibehalten oder beim Fallen immer die Farbe des jeweiligen Buchstabens annehmen, die dem Buchstaben bisher zugewiesen war? Wenn ersteres, was passiert, wenn der Tropfen das Ziel erreicht hat? Soll dann diese Farbe dann an den erreichten Buchstaben "vererbt" werden? Es ergeben sich auf jeden Fall Fragen über Fragen, die geklärt werden müssten. Ehrlich gesagt: So eine bunte Anzeige ist ja mal ganz nett anzusehen (z.B. an Karnevalstagen), aber ich selbst würde mir das nicht als Daueranzeige antun. Jedes Wort in einer anderen Farbe, das ginge ja noch. Aber jeder einzelne Buchstabe anders... das ist ein nettes Gimmick, welches man nach 2 Minuten faszinierter Betrachtung dann auch wieder abschaltet, weil es nicht alltagstauglich ist. Also viel Arbeit für nichts? Keine Ahnung. Vielleicht wären da weitere Stimmen von anderen Lesern hier interessant. Wie oben schon beschrieben: Ich bin gern bereit dazu. Jedoch musst Du dann für jede Frage meinerseits auch eine Antwort parat haben. Und das werden einige Fragen sein ;-)
:
Bearbeitet durch Moderator
Hallo Frank, fände den Modus schon interessant. Hatte ich ja auch schon mal als "Funky-Mode" vorgeschlagen. ;) Aber bin im Moment auch der Meinung, dass vorher noch andere Dinge angegangen werden sollten, wie z.B. der Offset für die Ambilight-Helligkeit, Wetter, Stabilisierung der Automatischen Helligkeit... (v. a. bei dem Aufwand den Du erwähnt hast, das war mir so auch erst mal nicht bewusst. ;) ) Aber wenns dazu kommen sollte, kann ich gerne Vorschläge zu Deinen Fragen beisteuern. Evtl. könnte man ja über derartige Fragen, wie Priorität der nächsten Features, generelles Interesse an Vorschlägen oder auch Art und Weise der Umsetzung über "Doodle" abstimmen lassen. (Nur so als Vorschlag, dass letzte Wort hast natürlich Du... ;) Vielleicht stimmen da mehr Leute ab, als ins Forum schreiben?) Mir ist noch ein kleiner "Glitch" in der Weboberfläche aufgefallen. Wenn man "automatische Helligkeit" aktiviert, wird auch der Helligkeitsregler vom Ambilight deaktiviert, obwohl das Ambilight ja aktuell noch nicht auf den LDR reagiert. (Zuvor eingestellte Helligkeit bleibt erhalten. War evtl. auch vor dem "Umzug" aufs ESP schon so...) PS: Wäre es auf einfache Weise möglich, die Anzahl der Zwischenschritte beim Fading der Anmimationen zu erhöhen? Würde die langsamer eingestellten Animationen auf der WC12h (v.a. Matrix) flüssiger aussehen lassen. PPS: Gibt es von Deiner Seite eigtl. noch Nachforschungen bzgl. des Übertrageungsfehlers zw. ESP und EEPROM? (Rein aus Interesse, aber wie schon gesagt, nach der Verbindung zum Router läuft wieder alles.) Gruß Tom
Hallo Frank, erstmal vielen Dank für deine ausführliche Antwort, habe ja schon befürchtet das dies ein etwas größerer Aufwand werden würde. Ich habe das ganze vorher über FastLed auf Teensy bzw. Arduinos gelöst, FastLed benutzt ja das HSV Spectrum https://github.com/FastLED/FastLED/wiki/FastLED-HSV-Colors und dort habe ich die Werte für die Farbsättigung und den Helligkeitswert Zentral vorgegeben und den Hue wert per Zufall bestimmen lassen, dadurch kann es natürlich auch passieren das sehr Identische Farben ausgewürfelt werden die man nicht unbedingt unterscheiden kann. Grundsätzlich wollte ich hier auch eine Routine einbauen die dies verhindert, nur da habe ich dann euer Projekt gefunden und das Arbeiten am alten Code eingestellt :) Der Modus bei dem jeder Buchstabe eine andere Farbe hat sieht je nach eingestellter Farbsättigung auf einer weissen Front sehr gut aus. Wäre aber jetzt auch nichts was ich unbedingt haben müsste. Ich denke eine gewisse Anzahl an definierten Farben sollte ausreichend sein, wenn man diese dann z.B. noch Individuell z.B. über das Web Interface einstellen könnte, wäre das natürlich genial. Da manche Farben bei bestimmten Fronten auch nicht unbedingt super aussehen, hätte man hier die Möglichkeit das ganze zu umgehen. Und die Farben lasse ich bei jedem Wechsel zufällig neu bestimmen bzw. auch die Punkte der 12h Version bekommen eine zufällige Farbe verpasst. Was auch sehr gut aussieht ist ein 2 Farbiger Modus. Zu den Animation müßte man sich dann im Detail ansehen, und entscheiden. Ich hoffe das es noch weitere Interessenten für diesen Modus gibt. Gruß Marco
Hallo, Marco R. schrieb: > Frank mal eine kleine Frage welcher Aufwand wäre es einen Modus > einzubauen in dem jedes Wort bzw. Punkt in einer anderen Farbe angezeigt > wird bzw. sogar jeder verwendete Buchstabe in einer anderen zufälligen > Farbe. Für den Karneval oder den Tag der Geburtstagsfeier des kleinen Sprößlings vielleicht. Ich selber möchte mir weiterhin eine schöne WordClock anschauen und möchte keinen "Augenkrebs" bekommen. Ich würde es nicht benutzen, wenn es möglich wäre. mfg bana
Hallo miteinander! Ich wollte hier nur mal ein großes Lob loswerden, an Frank und Torsten und alle Anderen die dieses schöne Projekt möglich gemacht haben. Bin mit meinen Frontplatten, Böden und Shields sehr zufrieden. Habe es dann heute im x-ten Anlauf auch geschafft den STM32 über UART zu flashen. Der falsche TX/RX Bestückungsdruck und die BOOT Jumper haben es etwas verzögert :) Dann lief es aber wie am Schnürchen! Nun muss ich alles noch miteinander verstricken und die Uhr kann an die Wand. Gruß Nicola Edit: Was mich echt noch interessieren würde: Von welchem Platinenfabrikanten stammen die STM32 Shields? Hatte letztens noch welche bei PCBWay bestellt. Da hatte leider das Via tenting überhaupt nicht hingehauen. Und die Shields sehen echt sehr gut aus.
:
Bearbeitet durch User
Nicola J. schrieb: > Ich wollte hier nur mal ein großes Lob loswerden, an Frank und Torsten > und alle Anderen die dieses schöne Projekt möglich gemacht haben. Auch von meiner Seite aus vielen Dank für dieses tolle Projekt!!!
Gerhard B. schrieb: > Ich selber möchte mir weiterhin eine schöne WordClock anschauen und > möchte keinen "Augenkrebs" bekommen. > > Ich würde es nicht benutzen, wenn es möglich wäre. So ähnlich sehe ich das auch. Selbst wenn es möglich wäre, würde ich es nicht nutzen.
Ich lese hier ja schon seit April diesen Jahres mit und habe kurz vor Eurer Sammelbestellung lieber Torsten und Frank Ende Mai Anfang Juni glaube ich spontan beschlossen so eine Uhr zu bauen. Nachdem ich nun bis auf Den USB UART alles beisammen habe kanns bald losgehen. Einige in der Verwandtschaft sind auch schon neugierig auf das Ergebnis! Ich glaub da stehen bald ein paar Aufträge an :) Wenns fragen gibt melde ich mich mal wieder. Eine erste Frage hätte ich schon an den Chris K. Deine erwähnten SMD Shields sind zum selber bestücken. Was kosten die? Gibts eventuell einen Warenkorb beim Reichelt? Ist das Finish des Shields entgültig? Das anordnen der Anschlüsse an den beiden Schmalseiten der Boards von Torsten war mir sehr sympathisch. Was aus diesem Projekt in einem dreiviertel Jahr geworden ist, ist einfach unglaublich. Ich ziehe meinen Hut vor allen die daran mitgearbeitet haben. Ich selbst kann nicht mehr als ein bißchen löten, boren und schrauben. Bin von Beruf Briefträger :) Mehr von mir gibts auf Anfrage, ich will ja niemand mit meinen Geschichten langweilen!
Hallo Klaus, ja die SMD Shields sind fertig. In den nächsten Tagen sollten auch meine LED Leisten eintreffen. Ich muss ja auf mein altes Rastermaß kommen, wenn ich nicht alles neu machen will. Mit den Bauteilen für die Bestückung und dem Versand würde ich einen Preis von 10€ festlegen. Dafür gibt es dann ein Shield mit dem ganzen Hühnerfutter, inklusive der LED-Versorgungs-Abschaltung. Was noch fehtl ist dann alls was man aus China odern kann. Der STM32, ein ESP07 Modul, die RTC, Sensoren etc. Bei Interesse PM an mich. Momentan habe ich noch 15 Shields übrig. Gruß Chris
Hallo Chris, Auf dem Bild ist bei den RS232-Anschlüssen etwas angesteckt, ist das ein USB UART? Ich glaub bei 10€ nach Österreich zahlst Du drauf :) Grundsätzlich bin ich interessiert. Das kann ich einfach gegen das Mini-Shield vom Torsten auswechseln oder muss ich noch was beachten? lg Klaus
Hallo Klaus, ja das hinten ist ein 3V3 USB zu TTL Konverter. Genauer ein CP2102. Geht aber auch mit den bekannten Teilen von FTDI. Die Boards müsstest du direkt austauschen können, zur Sicherheit solltest du noch einmal auf die Pinbelegung gucken, aber ansonsten stimmt das schon mit dem größeren Shield überein. Ich habe allerdings auf Platzgründen auf die sowieso unbeschalteten Ports verzichtet und die Anbindung einer DCF habe ich auch nicht vorgesehen, da das Teil ja sowieso am Internet hängt. Versand ginge wohl als Luftpolsterbrief. Sind dann irgendwas zwischen 2 und 4€
Version 2.2.0 ist online. Download geht wie gewohnt über den Artikel WordClock mit WS2812. Änderungen: - Bugfix: Die Anzeigedauer der Temperatur ist nun nicht mehr von der Dauer der Animation abhängig. - Bugfix Ambilight: Nach "Test Display" wurde die ursprüngliche Helligkeit des Ambilight nicht wieder hergestellt. - Bugfix AP-Mode: Durch einen Timeout bei der ESP8266-Kommmunikation (Übertragung der IP-Adresse) wurden die Vorgabewerte fürs Web-Interface nicht übertragen. Die einzelnen Webseiten blieben dann ohne Inhalte. - RX-Ringbuffer ESP8266 -> STM32 von 128 auf 256 vergrößert. - Timeout-Behandlung bei der Kommunikation zwischen STM32 und ESP8266 verbessert. Dadurch nun zügigeres Abarbeiten von ESP-Messages. - Web-Interface: Checkbox "Use display colors" wurde auf die Seite "Ambilight" verschoben. - WC12h Bugfix: Umlaute werden in der Laufschrift immer als Großbuchstaben angezeigt. - WC12h: Font zur Laufschriftanzeige durch besser lesbaren Font ersetzt. - WC24h: Korrektur der Anzeige von "ES IST EINS UHR" nach "ES IST EIN UHR" in bestimmten Anzeigemodi. - Bugfix SK6812: Rot und Grün vertauscht. - Bugfix LDR: Nach dem Setzen eines neuen LDR-Max-Wertes wurde dieser nicht zurück an das Web-Interface übertragen und deshalb dort (bis zum nächsten Reboot) ein alter Max-Wert angezeigt. Es wurden bewusst keine größeren Neuerungen eingebaut, um erstmal die Stabilität der Software zu verbessern. Im nächsten Release werden dann auf jeden Fall Neuerungen wie die Einblendung von Piktogrammen, verbesserte Temperaturanzeige für die WC12h und andere nette "Spielereien" kommen. Viel Spaß, Frank
:
Bearbeitet durch Moderator
Frank M. schrieb: > Version 2.2.0 ist online. Danke Frank, werde ich gleich mal alles testen. BTW: Wohin soll man die Fehlermeldung und Wünsche posten? Direkt hier in den Thread, oder irgendwo anders hin? Ich habe eine kleine Fehler-/Wunschliste hier, die würde ich mit der neuen Version abgleichen und dann posten. Dario
Dario C. schrieb: > BTW: Wohin soll man die Fehlermeldung und Wünsche posten? Am besten hier, dafür ist der Thread ja gedacht :-)
Werner A. schrieb: > Ich glaube ich habe auch noch einen Bug bei der Temperaturanzeige > gefunden. > Ich hab die WC12. Die Temperatur wird von der RTC gemessen. > Im Webinterface wird die Temperatur richtig angezeigt. Wenn ich dass > aber auf die Uhr schicke steht da immer 12. Kann ich auch bei der WC12h mit der SW 2.2.0 bestätigen. Ausserdem gibt es bei angeschlossenem DS18XX noch folgenden Fehler: die aktuelle Temp. wird zwar angezeigt und läßt sich mit "Temp correction DS18XX" korrigieren; nach einem Reset oder Spannungsausfall ist dieser Korrekturwert aber nicht mehr vorhanden/gespeichert, so dass die aktuelle Temp. falsch angezeigt wird. Gruß Burkhard
Hallo Chris! Kannst Du mir 5 von deinen Boards schicken. Schreib mir wie viel und wie ich bezahlen soll. Und das programmieren mit dem CP2102 hat bei Dir geklappt? Ich hab einen pl2303hx, der funktioniert mit win10pro64 nicht :( Bin jetzt auf der Suche nach was anderem! lg Klaus
:
Bearbeitet durch User
Burkhard D. schrieb: >> Ich hab die WC12. Die Temperatur wird von der RTC gemessen. >> Im Webinterface wird die Temperatur richtig angezeigt. Wenn ich dass >> aber auf die Uhr schicke steht da immer 12. > > Kann ich auch bei der WC12h mit der SW 2.2.0 bestätigen. Danke, den Fehler hatte ich nicht auf dem Schirm. Schaue ich mir an. > Ausserdem gibt es bei angeschlossenem DS18XX noch folgenden Fehler: > die aktuelle Temp. wird zwar angezeigt und läßt sich mit "Temp > correction DS18XX" korrigieren; nach einem Reset oder Spannungsausfall > ist dieser Korrekturwert aber nicht mehr vorhanden/gespeichert, so dass > die aktuelle Temp. falsch angezeigt wird. Okay, werde ich testen. Gruß und Dank, Frank
Hallo zusammen Einfach mal ein ganz grosses DANKE an alle die zu dieser wunderbaren Uhr Zeit investiert haben! Ich habe nun meine neue Version im Prototyp laufen und diese ist nun mit den SK6812 LedStreifen, welche ich in China anfertigen liess. Software läuft perfekt und das Ganze nun sogar noch in CH-Deutsch ;-) Beste Grüsse Daniel
Hallo Klaus, ja mit dem CP2102 lief alles problemlos. Aber auch ein FTDI Kabel tut seinen Dienst bei mir. Wichtig halt nur die 3,3V Ausgangspegel.
Daniel K. schrieb: > Hallo zusammen > > Einfach mal ein ganz grosses DANKE an alle die zu dieser wunderbaren Uhr > Zeit investiert haben! > Ich habe nun meine neue Version im Prototyp laufen und diese ist nun mit > den SK6812 LedStreifen, welche ich in China anfertigen liess. > Software läuft perfekt und das Ganze nun sogar noch in CH-Deutsch ;-) > > Beste Grüsse > Daniel Hi Daniel macht sich der Unterschied zur deutlich WS2812 bemerkbar? Welchen Typ hast du denn verwendet, es gibt nämlich 3 verschiedene Weisswerte.
X. O. schrieb: > Daniel K. schrieb: >> Hallo zusammen >> >> Einfach mal ein ganz grosses DANKE an alle die zu dieser wunderbaren Uhr >> Zeit investiert haben! >> Ich habe nun meine neue Version im Prototyp laufen und diese ist nun mit >> den SK6812 LedStreifen, welche ich in China anfertigen liess. >> Software läuft perfekt und das Ganze nun sogar noch in CH-Deutsch ;-) >> >> Beste Grüsse >> Daniel > > Hi Daniel > > macht sich der Unterschied zur deutlich WS2812 bemerkbar? Welchen Typ > hast du denn verwendet, es gibt nämlich 3 verschiedene Weisswerte. Ja, zumindest für mich, denn die WS2812 bringen durch die RGB - Led kein schönes Weiss hin, was einfach nur eine Weiss Led hinbekommt. Mit den SK6812 hast du einfach alles in einem und somit alle Farbwerte durch RGB plus Weiss. Ich habe mir speziell Kaltweiss bestellt, was dann so ziemlich wie beim Original aussieht. Warmweiss habe ich in einer früheren Version mal probiert, aber sieht grauenhaft aus (zumindest für mich). Gruss Daniel
Sehe ich genauso, RGB Weiß gefällt mir in der Regel nicht, oder man muss schon sich Mühe machen und die perfekte Farbbalance finden. Die SK haben hingegen direkt einen ordentlichen Weiß-Kanal mit eingebaut. Auch ich habe die WW gegen NW und KW Varianten vorab verglichen und bin dann auch bei KW gelandet. Sieht in der Uhr einfach am besten aus.
Mal ne Frage an die, die die gelaserte Edelstahlplatte nutzen: Wie habt Ihr diese an der Holzplatte befestigt? Magnete sind ja wohl nicht stark genug, oder?
Burkhard D. schrieb: > Werner A. schrieb: >> Ich glaube ich habe auch noch einen Bug bei der Temperaturanzeige >> gefunden. >> Ich hab die WC12. Die Temperatur wird von der RTC gemessen. >> Im Webinterface wird die Temperatur richtig angezeigt. Wenn ich dass >> aber auf die Uhr schicke steht da immer 12. > > Kann ich auch bei der WC12h mit der SW 2.2.0 bestätigen. Den Fehler habe ich gefunden und konnte ihn beheben. > Ausserdem gibt es bei angeschlossenem DS18XX noch folgenden Fehler: > die aktuelle Temp. wird zwar angezeigt und läßt sich mit "Temp > correction DS18XX" korrigieren; nach einem Reset oder Spannungsausfall > ist dieser Korrekturwert aber nicht mehr vorhanden/gespeichert, so dass > die aktuelle Temp. falsch angezeigt wird. Das kann ich nicht reproduzieren. Ich weiß, den Fehler gabs mal, nämlich in der Version 2.0.7. Aber mit der Version 2.1.0 wurde er behoben. Ausschnitt aus https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Version_2.1.0 "Bugfix: DS18xx-Temperatur-Korrekturwert wurde bisher als RTC-Temperatur-Korrekturwert im EEPROM gespeichert." Kannst Du den Fehler mit der 2.2.0 tatsächlich noch reproduzieren? Ich kann die beiden Korrekturwerte beliebig ändern. Nach Reset werden sie wieder neu geladen.
:
Bearbeitet durch Moderator
Dario C. schrieb: > Mal ne Frage an die, die die gelaserte Edelstahlplatte nutzen: > > Wie habt Ihr diese an der Holzplatte befestigt? > > Magnete sind ja wohl nicht stark genug, oder? Magnete gehen, ich habe eine 2mm Stahlplatte, die gelastert immer noch 2,5kg wiegt damit befestigt. Das Problem ist eigentlich die Rauheit der Edelstahlplatte. Ich hatte etwas zu kleine Magnete verwendet und die Platte rutschte schonmal ab. Hab die Platte dann einfach mit Heißkleber fixiert, weil ich sie eh nicht mehr so schnell abnehmen werde. ;) Vielleicht hätte anrauen der Platte auch schon ausgereicht. Werde es das nächste mal andersrum machen. Magnete mit Metallkleber an der Platte fixieren und als Gegenstück in die Holzplatte vertieft ein paar Beilagscheiben einlassen. Durch den Tiefenversatz kann dann auch nichts mehr abrutschen. Bei der Dicke werde ich dann auch nur mehr ein 1mm Blech verwenden.
:
Bearbeitet durch User
Auch von mir nochmal ein riesiges Danke an alle, die hier mitgewirkt haben. Meine Uhr nähert sich nun nämlich auch der Zielgeraden. Es ist eine 30 x 30 cm 12 Stunden WordClock aus Plexiglas, geplotteter Folie, Holz, dem Mini Shield und dem Rahmen von Alutech. Und ich muss sagen, ich bin sehr angetan vom Gesamtbild :D. Mir ist allerdings aufgefallen, dass die Buchstaben bei der Laufschrift nach links hin zusammenrutschen. Wer gerade die Bandbreite zur Verfügung hat, kann das im Video im Anhang erkennen. Beste Grüße Niels
Hallo Frank, ich habe noch einmal alles neu geflasht. Leider ist bei meiner Konfiguration WC12h-STM32F103-Hex-Vers.2.2.0, IR-Sensor, RTC3231,ESP8266 V2.2.0, sowohl mit als auch ohne DS1820 immer noch alles wie hier beschrieben: Frank M. schrieb: > Werner A. schrieb: >>> Ich glaube ich habe auch noch einen Bug bei der Temperaturanzeige >>> gefunden. >>> Ich hab die WC12. Die Temperatur wird von der RTC gemessen. >>> Im Webinterface wird die Temperatur richtig angezeigt. Wenn ich dass >>> aber auf die Uhr schicke steht da immer 12. >> Wenn ich o.g Konfiguration mit DS1820 betreibe habe ich wieder diesen Fehler >> Ausserdem gibt es bei angeschlossenem DS18XX noch folgenden Fehler: >> die aktuelle Temp. wird zwar angezeigt und läßt sich mit "Temp >> correction DS18XX" korrigieren; nach einem Reset oder Spannungsausfall >> ist dieser Korrekturwert aber nicht mehr vorhanden/gespeichert, so dass >> die aktuelle Temp. sowohl im Browserinterface als auch im Display falsch angezeigt wird. Gruß Burkhard
Burkhard D. schrieb: > Wenn ich o.g Konfiguration mit DS1820 betreibe habe ich wieder diesen > Fehler Ja, den Fehler mit der 12 im Display habe ich ja gestern erst gefunden. Der ist auch noch in der 2.2.0 drin und wird erst mit der 2.2.1 gefixt sein. Oder bezieht sich dieser Satz auf die Korrekturwerte? Er steht leider bei Deinem Beitrag zwischen beiden Fehlerbeschreibungen und kann von mir nicht eindeutig zugeordnet werden. Mir geht es um diesen: > Ausserdem gibt es bei angeschlossenem DS18XX noch folgenden Fehler: > die aktuelle Temp. wird zwar angezeigt und läßt sich mit "Temp > correction DS18XX" korrigieren; nach einem Reset oder Spannungsausfall > ist dieser Korrekturwert aber nicht mehr vorhanden/gespeichert, so dass > die aktuelle Temp. sowohl im Browserinterface als auch im Display falsch > angezeigt wird. Diesen Fehler kann ich nämlich nicht reproduzieren. Beide Korrekturwerte werden bei mir im EEPROM gespeichert und beim nächsten Mal wieder geladen. Und mich wundert, warum Du den immer wieder unten unkommentiert stehen lässt. Jetzt bitte diesen Abschnitt nicht wieder unkommentiert einfach unten stehen lassen. Das hilft mir nicht weiter. Ist der Fehler mit dem DS18xx-Korrekturwert bei Dir da oder nicht?
:
Bearbeitet durch Moderator
Frank M. schrieb: > Jetzt bitte diesen Abschnitt nicht wieder unkommentiert einfach unten > stehen lassen. Das hilft mir nicht weiter. Ist der Fehler mit dem > DS18xx-Korrekturwert bei Dir da oder nicht? Hallo Frank, Ja, der Fehler ist bei mir wie in der Fehlerbeschreibung vorhanden. (Bei angeschlossenem DS1820 ist der zuvor gespeicherte Korrekturwert nach Reset nicht mehr vorhanden). Gruß Burkhard
Burkhard D. schrieb: > Ja, der Fehler ist bei mir wie in der Fehlerbeschreibung vorhanden. > (Bei angeschlossenem DS1820 ist der zuvor gespeicherte Korrekturwert > nach Reset nicht mehr vorhanden). Hm... Kannst Du ein UART-Protokoll hier dazu anhängen?
Hallo Frank, hier das Protokoll. Ich hoffe es ist so richtig und hilft. Welcome to WordClock Logger! ---------------------------- Version: 2.2.0 rtc is online eeprom is online current eeprom version: 0x00020200 ESP8266 LOGGER (- setup UDP) esp8266 now up read rtc: We 2016-09-21 14:47:02 (- local port: 2421) (- setup server UDP) (- local port: 2424) (FIRMWARE 2.2.0) (- connected to AP) (AP WLAN 7390 2,4GHz EGD21) (MODE client) (IPADDRESS 192.168.178.63) info: ip address = 192.168.178.63 esp8266 now online --> time "192.53.103.103"<0d><0a> (OK time) (TIME 3683450832) read rtc: We 2016-09-21 14:47:44 DS18xxx temperature: 28 RTC temperature: 23 read rtc: We 2016-09-21 14:48:45 DS18xxx temperature: 28 RTC temperature: 23 read rtc: We 2016-09-21 14:49:45 DS18xxx temperature: 28 RTC temperature: 23 read rtc: We 2016-09-21 14:50:45 DS18xxx temperature: 28 RTC temperature: 23 (- new client) (- new client) (CMD N173000) (CMD N180800) DS18xxx temperature: 24 RTC temperature: 23 power_init() called switching power on Welcome to WordClock Logger! ---------------------------- Version: 2.2.0 rtc is online eeprom is online current eeprom version: 0x00020200 ESP8266 LOGGER (- setup UDP) esp8266 now up read rtc: We 2016-09-21 14:51:33 (- local port: 2421) (- setup server UDP) (- local port: 2424) (FIRMWARE 2.2.0) (- connected to AP) (AP WLAN 7390 2,4GHz EGD21) (MODE client) (IPADDRESS 192.168.178.63) info: ip address = 192.168.178.63 esp8266 now online --> time "192.53.103.103"<0d><0a> (OK time) (TIME 3683451103) read rtc: We 2016-09-21 14:51:44 DS18xxx temperature: 28 RTC temperature: 23 r
Hallo Burkhard, Burkhard D. schrieb: > (CMD N173000) Übersetzt: Setze DS18xx-Temperaturwert auf 48 / 2 = 24 °C > (CMD N180800) Übersetzt: Setze DS18xx-Korrekturwert auf 8 / 2 = 4 °C > DS18xxx temperature: 24 Übersetzt: 24°C > power_init() called > switching power on Übersetzt: Wir booten neu... > DS18xxx temperature: 28 Übersetzt: 28°C (und nicht 24°C) Verdammt! Wieso bekomme ich das nicht hin? Ich kann mir nur vorstellen, dass ich das in meiner Version schon irgendwann korrigiert habe, ohne es zu merken. Ich melde mich heute abend nochmal dazu.
:
Bearbeitet durch Moderator
Hallo Frank, Frank M. schrieb: > Verdammt! Wieso bekomme ich das nicht hin? Ich kann mir nur vorstellen, > dass ich das in meiner Version schon irgendwann korrigiert habe, ohne es > zu merken. Ich melde mich heute abend nochmal dazu. Habe gerade mal mit mener Hardware getestet: Mini Dev Board mit Wc12h-STM32F103.hex Version 2.2.0, DS3231 und DS18B20 angeschlossen. Speichert Korrekturwerte ab und es sind nach einem Neustart (Reset so wie "Power OFF/Power ON) immer noch beide vorhanden lt. Webinterface. Displayausgabe kann ich momentan nicht beurteilen, weil keins dran. So nebenbei: mir ist aufgefallen, dass meine Wordclocks mit dem Shield von Torsten (V1) nur etwas anzeigen, wenn ich den 220 Ohm Widerstand überbrücke, ansonsten bleibt das Display dunkel. gruß Bernhard
:
Bearbeitet durch User
Hallo Frank und Berhard, nachdem ich Bernhards Beitrag gelesen hatte habe ich meine 2. WC12h mit selbiger Konfig. demontiert und den DS1820 umgesetzt. Alles lief wie bei Berhard. Der Fehler war nicht reproduzierbar! Dann habe ich als Korrekturwert 12 (zuvor 8) eingegeben und der Fehler ist wieder da. Ich habe das Protokoll angehängt. Warum allerdings meine andere Uhr jeden Korrekturwertt nach reset vergisst, keine Ahnung. Ich hoffe ihr könnt den Fehler auch reproduzieren. Gruß Burkhard
Bernhard S. schrieb: > Habe gerade mal mit mener Hardware getestet: > > Mini Dev Board mit Wc12h-STM32F103.hex Version 2.2.0, DS3231 und DS18B20 > angeschlossen. > > Speichert Korrekturwerte ab und es sind nach einem Neustart (Reset so > wie "Power OFF/Power ON) immer noch beide vorhanden lt. Webinterface. Danke erstmal. Zumindest bei uns beiden klappt es. Burkhard D. schrieb: > Dann habe ich als > Korrekturwert 12 (zuvor 8) eingegeben und der Fehler ist wieder da. Hattest Du auch die oben genannte Hex-Datei für WC12h und STM32F103 eingespielt? Oder selber compiliert? Ich dachte schon, dass ich beim Erzeugen einer der sechs Hex-Dateien nicht richtig aufgepasst hätte. Aber offenbar benutzt Ihr beide die WC12h + STM32F103. Ich teste das heute abend nochmal...
Hallo Frank, also ich benutze diese .hex Version: WC12h Version 2.2.0 STM32F103-Board vom 17.09. Gruß Burkhard
Ich habe von der Druckerei, wo die Frontplatten für die Sammelbestellungen hergestellt werden, mal ein Muster für eine rote Platte bekommen, siehe Foto. Dieses wird im Gegensatz zu den schwarzen Platten nicht im Siebdruck, sondern im Digitaldruck hergestellt. Durch Auftragen von mehreren Farbschichten (rot vorn, grau für den Diffusor, tiefschwarz hinten) ist die Platte jedoch genauso wie die bisherigen Frontplatten absolut lichtdicht - und sieht überdies genauso gut aus :-) Mit dem Digitaldruckverfahren sind auch kleinere Auflagen möglich bei geringfügig höherem Preis. Aber auch hier gilt: je mehr, desto günstiger. Geplant ist je eine Auflage in rot und in weiß - WC12h und WC24h. Um abzuschätzen, wieviele Bestellungen da zusammenkommen würden, bitte ich Euch, mich bei mir zu melden, wenn Ihr Interesse habt. Bitte angeben: Farbe und WC12h bzw. WC24h. Gruß, Frank
Burkhard D. schrieb: > Hallo Frank, also ich benutze diese .hex Version: > WC12h Version > 2.2.0 STM32F103-Board vom 17.09. Ja, das scheint dieselbe wie von Bernhard zu sein.
Frank M. schrieb: > Bernhard S. schrieb: >> Habe gerade mal mit mener Hardware getestet: >> >> Mini Dev Board mit Wc12h-STM32F103.hex Version 2.2.0, DS3231 und DS18B20 >> angeschlossen. >> >> Speichert Korrekturwerte ab und es sind nach einem Neustart (Reset so >> wie "Power OFF/Power ON) immer noch beide vorhanden lt. Webinterface. > > Danke erstmal. Zumindest bei uns beiden klappt es. > > Burkhard D. schrieb: >> Dann habe ich als >> Korrekturwert 12 (zuvor 8) eingegeben und der Fehler ist wieder da. > > Hattest Du auch die oben genannte Hex-Datei für WC12h und STM32F103 > eingespielt? Oder selber compiliert? Ich dachte schon, dass ich beim > Erzeugen einer der sechs Hex-Dateien nicht richtig aufgepasst hätte. > Aber offenbar benutzt Ihr beide die WC12h + STM32F103. > > Ich teste das heute abend nochmal... Hallo zusammen Fehler ist reproduzierbar! Versucht es ganz einfach mit Werten ab 11! Diese gehen beim Reboot unter und werden auf 0 gesetzt! Werte von 0-10 funktionieren :-) Gruss Daniel
Daniel K. schrieb: > Fehler ist reproduzierbar! Versucht es ganz einfach mit Werten ab 11! > Diese gehen beim Reboot unter und werden auf 0 gesetzt! > Werte von 0-10 funktionieren :-) Stimmt! Und das ist sogar Absicht, größere Korrekturwerte als 10 werden als nicht plausibel verworfen. Blöd ist nur, dass die Webseite davon nichts merkt. Ich werde im Web-Interface den Text "(0-10)" als gültige Werte einsetzen. Oder sieht das jemand anders? Also ich komme mit Werten bis 6 dicke aus.
Hallo Frank, ich denke auch das als Korrekturwert 1-10 ok sind. Weiss auch nicht warum ich in der Vergangenheit mit größeren Werten gearbeitet habe. Für mich ist es ausreichend, wenn der Bug mit dem RTC korrigiert wird. Der RTC reagiert auf Änderungen zwar langsamer als ein DS18xx, aber Raumluft hat ja auch eine gewisse Trägheit. Gruß Burkhard
Hallo Frank, erst einmal vielen Dank für die ganze Arbeit, die du dir für das Projekt machst und hier zur Verfügung stellst. Dankeschön. :) Ich hatte die Tage von einer Version 1.x.x auf die 2.2.0 geupdatet und Frage mich nun, ob es normal ist, dass die Uhr nach einer kurzen Zeit stehen bleibt, wenn man das ESP Modul ausschaltet? Ich hatte es so verstanden, dass von der Version 1.x.x auf die Version 2.x.x nur das Webinterface auf das WLAN Modul geschoben wurde. Somit sollte die Uhr ja eigentlich auch noch weiterlaufen wenn man den Strom von dem als Client verbauten ESP8266 kappt und die RTC verbaut ist oder? Das ging so zumindest in der alten 1.x.x Version. Außerdem ist mir aufgefallen, dass die im Donwloadbereich verlinkten ESP Version Datumstechnisch nicht ganz übereinstimmen. Wenn man sich Version 2.1.0b laden möchte (vom 24. Aug 2016) lautet der Name des bin Files: 20160917xxxxxxxxxx.bin. Also wohl dem Datum der Veröffentlichung von Version 2.2.0. Ich vermute jetzt einfach mal, dass das so nicht gewollt ist.
Update zur Sammelbestellung: ich bin jetzt gerade an der Mindestmenge angekommen und habe daher das Zeitfenster um eine Woche nach hinten verschoben. Gruß, Torsten
Mahlzeit Frank und Mitleser, ich bin in letzter Zeit nicht wirklich zu was gekommen, daher habe ich hier nur sporadisch ein wenig passiv mitgelesen und es auch noch nicht geschafft die neue Firmware mal zu testen, sorry für die Funkstille. Frank M. schrieb: > Mit dem Digitaldruckverfahren sind auch kleinere Auflagen möglich bei > geringfügig höherem Preis. Aber auch hier gilt: je mehr, desto > günstiger. Das sind ja echt mal super Neuigkeiten! Sieht wirklich toll aus! Ein ganz herzliches Dankeschön von mir für deinen unermüdlichen Einsatz, auch schon mal im Namen der Leute, die mich seit Jahren wegen anderer Farben für die Fronten nerven. :-) > Um abzuschätzen, wieviele Bestellungen da zusammenkommen würden, bitte > ich Euch, mich bei mir zu melden, wenn Ihr Interesse habt. Bitte > angeben: Farbe und WC12h bzw. WC24h. Ich habe die Anfrage mal an alle potentiellen Besteller, die mal von mir ne Uhr bekommen haben, weitergeleitet und um Rückmeldung bis spätestens Montag gebeten. Ich würde mich dann nochmal per PN bei dir melden wenn das OK ist? Ich habe jetzt mal ca. 50 Euro als grobe Hausnummer angenommen, kommt das ungefähr hin? > Im nächsten Release werden dann auf jeden Fall Neuerungen wie die > Einblendung von Piktogrammen, verbesserte Temperaturanzeige für die > WC12h und andere nette "Spielereien" kommen. Ooooh, "Spielereien" :-) Vielleicht ein kleiner Teaser zum Wochenende? So zum anfixen? ^^ > Bernhard S.: > So nebenbei: mir ist aufgefallen, dass meine Wordclocks mit dem Shield > von Torsten (V1) nur etwas anzeigen, wenn ich den 220 Ohm Widerstand > überbrücke, ansonsten bleibt das Display dunkel. Kann ich ebenfalls bestätigen. Ich habe den Widerstand bisher immer gebrückt, da ich sonst entweder keine oder eine unzuverlässige (Flackern, Fehlfarben) Ausgabe auf der Displaymatrix hatte. > Niels J.: > Mir ist allerdings aufgefallen, dass die Buchstaben bei der > Laufschrift nach links hin zusammenrutschen. Wer gerade die > Bandbreite zur Verfügung hat, kann das im Video im Anhang erkennen. Ist mir bei der 24h Tischuhr auch schon mal aufgefallen, hab ich dann aber irgendwie wieder vergessen. Kann ich also bestätigen. @ Torsten: Ich wollte dir eigentlich schon längst ne Mail geschrieben haben... hat die Reparatur der Gehäuse bei dir eigentlich geklappt? Falls nicht melde dich einfach nochmal kurz bei mir. :-) Und zu guter Letzt... ich habe mittlerweile die ursprünglichen Probleme meiner Tischuhr (Überstrahlen in andere Lichtschächte, Streifen der LED Matrix mussten überlappend befestigt werden, usw.) im Griff und mittlerweile auch ein sekundengenaues Ambilight verbaut. Ich werde demnächst mal alles auf Vordermann bringen und die 3D Modelle und Tipps für den Nachbau hier veröffentlichen falls es noch andere Interessenten mit Zugriff auf einen 3D Drucker gibt. Allen ein schönes Wochenende und LG, Peter
:
Bearbeitet durch User
Hallo zusammen, @Frank bei der aktuellen Software Version ist mir aufgefallen, das sobald ich die ESP Firmware auf ein neues Modul flashe, hier ein offenes WLAN mit dem Namen ESP_XXXX erzeugt wird. In der alten Software war es hier direkt möglich einen "WLAN Modul Reset" durchzuführen und kurze Zeit später ist das "wordclock" WLAN mit dem bekannten Schlüssel erschienen. Nun muss man sich erst mit dem offenen WLAN ESP_XXXX verbinden, es in den WLAN Client Mode versetzen um es danach "resetten" zu können. Ich vermute ohne jetzt in den Code gesehen zu haben, das du eine Abfrage drin hast das ein WLAN Reset nur bei veränderten WLAN Einstellungen durchgeführt wird ( oder so etwas in der Art ) Wäre es möglich in der Software eine Routine unterzubringen die beim ersten Kontakt mit einem "neuen" WLAN Modul ein Reset auslöst? Gruß Marco
Peter G. schrieb: > . Ich werde demnächst mal alles auf Vordermann bringen und die 3D > Modelle und Tipps für den Nachbau hier veröffentlichen falls es noch > andere Interessenten mit Zugriff auf einen 3D Drucker gibt. Das wäre super!
Hallo, im WiKi Artikel steht jetzt der Schaltplan zum nucleo-Shield zur Verfügung. Die dort gezeichneten Schaltungen sind nicht mein geistiges Eigentum, sondern die Zusammenfassung dessen, was im WiKi und hier im Forum veröffentlicht wurde. Gruß Volker
Hallo zusammen, ich habe nun alles gelötet, verkabelt und mechanisch gebaut (Magnete, etc.) nur stehe ich jetzt leider wie der Ochs vorm Berg und habe keine Ahnung wie es weitergeht. Ich habe im Wiki den Bereich "Start Dieses Kapitel beschreibt den Download der Software auf das verwendete Board und die erstmalige Prüfung und Konfiguration." leider nie vorher gelesen, sonst hätte ich meine Fragen schon früher gestellt. In dem Kapitel steht ja leider quasi garnichts und als Nucleo/STM32 Neuling weiß ich nun über haupt nicht wie weiter? Stand: Ich habe eine WC12 mit STM32minidevBoard gebaut. Habe einen ST-Link V2 und auch ein Nucleo Board (das ich nun als USB/UART Adapter nutzen wollte.), wie geht das? Wie bekomme ich nun die Software für Miniboard und für das EPS auf die "Uhr"? Sorry, ich habe versucht das Board hier zu durchforsten, aber nichts direkt gefunden. Vielen Dank im Voraus! Gruß Philipp
Philipp E. schrieb: > Wie bekomme ich nun die Software für Miniboard und für das EPS auf die > "Uhr"? Hallo Philipp, du musst den ST-Link mit dem STM32-Board verbinden wie im Artikel dargestellt (Foto rechts): https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#STM32F103C8T6_Mini-Development_Board Dann die ST-Link Software für den PC installieren: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Software_f.C3.BCr_Windows Anschließend damit die heruntergeladene Hex-Datei auf den STM32 flashen. (im Menü: Target ==> Program and verify ==> Hex-Datei auswählen und ok) Danach musst du noch das ESP flashen, dass ist hier beschrieben: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Flash_des_WLAN-Moduls Hoffe damit kommst Du schon mal weiter... Gruß Tom
@Phillipp guckst du hier https://www.sevenwatt.com/main/picos-arm/picos-arm-lpc810-swd-jtag-with-nucleo-stm32/
Hallo zusammen, Ich bin gerade für ein paar Tage unterwegs und werde mich voraussichlich übermorgen zu allen aufgelaufenen Fragen melden. Gruß, Frank
Thomas B. schrieb: > > Hoffe damit kommst Du schon mal weiter... > > Gruß > Tom Hallo Tom, Hallo Chris, Hallo Frank, danke für die wie immer schnellen Antworten. Dann werde ich mich da mal ran machen. Das https://www.sevenwatt.com/main/picos-arm/picos-arm... von Chris beschreibt also wie ich den Nucleo als UART Adapter verwende? Danke und Gruß Philipp
Nein, dass beschreibt, wie du den Nucleo dazu benutzen kannst um mit dem eingebauten ST Link die Firmware auf das STM32F103 Board zu flashen. Zumindest was die Verkabelung der beiden angeht. Danach brauchst du wie Thomas schon schrieb die ST Link Software zum flashen. Für den UART brauchst du einen eigenen Adapter ala FTDI oder CP, nur bitte mit 3,3V Pegel.
Chris K. schrieb: > Nein, dass beschreibt, wie du den Nucleo dazu benutzen kannst um mit dem > eingebauten ST Link die Firmware auf das STM32F103 Board zu flashen. > Zumindest was die Verkabelung der beiden angeht. Danach brauchst du wie > Thomas schon schrieb die ST Link Software zum flashen. > > Für den UART brauchst du einen eigenen Adapter ala FTDI oder CP, nur > bitte mit 3,3V Pegel. Ok, danke. Der UART Adapter kommt Heute. Aber das Miniboard hätte ich jetzt versucht direkt per USB zu flashen (also mit STLink SW) - was würde mir da der Umweg über Nucleo bringen? Mit dem UART/USB würde ich dann den ESP flashen.
Hallo Philipp, Philipp E. schrieb: > Aber das Miniboard hätte ich jetzt versucht direkt per USB zu flashen > (also mit STLink SW) - was würde mir da der Umweg über Nucleo bringen? Da das Miniboard keinen STLink enthält, der von USB auf SWD umsetzt, benötigst du den STLink teil des Nucleo Boards. Der wird dann auch auf der anderen Seite des Miniboards angeschlossen. Auf dem STLink die Jumper von CN2 entfernen, dann von CN4 Pin 2 auf Miniboard CLK, Pin 3 auf GND und Pin 4 auf IO. Dann kannst du mit Hilfe der STLink SW das Board flashen. > Mit dem UART/USB würde ich dann den ESP flashen. Genau! Grüsse Bernhard
Bernhard S. schrieb: > > Da das Miniboard keinen STLink enthält, der von USB auf SWD umsetzt, > benötigst du den STLink teil des Nucleo Boards. > > Grüsse Bernhard Hallo Bernhard, Nutze ich dann das USB des Miniboards für irgendwas? Danke und Gruß Philipp
Peter G. schrieb: >> Bernhard S.: >> So nebenbei: mir ist aufgefallen, dass meine Wordclocks mit dem Shield >> von Torsten (V1) nur etwas anzeigen, wenn ich den 220 Ohm Widerstand >> überbrücke, ansonsten bleibt das Display dunkel. > > Kann ich ebenfalls bestätigen. Ich habe den Widerstand bisher immer > gebrückt, da ich sonst entweder keine oder eine unzuverlässige > (Flackern, Fehlfarben) Ausgabe auf der Displaymatrix hatte. Das ist ja komisch - ich habe den 220R bei mir verbaut und laufe nicht in diese Probleme. Können andere diese Problem bestätigen oder eben nicht bestätigen? Gruß, Torsten
Torsten G. schrieb: > Können andere diese Problem bestätigen oder eben nicht bestätigen? Bei mir laufen 2 Uhren mit dem 220 Ohm ohne Probleme
Hallo Thorsten, kann ich nicht bestätigen. Ich habe auf meinen SMD Shields auch einen 220 Ohm Reihenwiderstand verbaut und keine Probleme. Check mit Oscar zeigt keine Auffälligkeiten. Die Flanken sind schön steil und der Ausgangspegel liegt bei sauberen 3,3V bzw. Ground Potential.
Hallo Torsten, also die V2 Boards laufen alle mit 220 Ohm Widerstand ohne große Probleme. Allerdings hatte ich bei einigen das oben genannte Fehlerbild, hier war aber dann entweder eine LED kaputt oder ich hatte beim Löten geschlampt und keine gute Verbindung. Interessanter weise hatte ich alle Strips vorher mit einem Ardu, bzw. Teensy getestet und hier war kein Fehler feststellbar, erst im Zusammenhang mit dem STM Board. Gruß Marco
Hallo Torsten bin gerade ganz am Anfang beim testen. Hab nur das STM32F103 mini-development Shield V1 im Einsatz mit Temperatursensor und ESP. Bei mir auch dasselbe, nur wenn der Widerstand überbrückt ist wird die Uhrzeit angezeigt. Mit dem Widerstand funktioniert bei mir die Resettaste auf dem STM32F103 nicht.
Marco R. schrieb: > @Frank > bei der aktuellen Software Version ist mir aufgefallen, das sobald ich > die ESP Firmware auf ein neues Modul flashe, hier ein offenes WLAN mit > dem Namen ESP_XXXX erzeugt wird. Manche Standard-Firmware-Teile haben direkt das ESP so eingestellt, dass es mit diesem Namen ESP_XXXX direkt in den AP-Modus geht. > In der alten Software war es hier direkt möglich einen "WLAN Modul > Reset" durchzuführen und kurze Zeit später ist das "wordclock" WLAN mit > dem bekannten Schlüssel erschienen. Ja, sobald Du den User-Button auf den Nucleo drückst oder den entsprechenden Jumper auf dem Mini-Board-Shield setzt. > Ich vermute ohne jetzt in den Code gesehen zu haben, das du eine Abfrage > drin hast das ein WLAN Reset nur bei veränderten WLAN Einstellungen > durchgeführt wird ( oder so etwas in der Art ) Hm, kann ich mir jetzt eigentlich nicht direkt vorstellen, aber könnte vielleicht sein. Ich werde das mal testen. Dazu komme ich aber erst Ende nächster Woche. Danke für den Hinweis.
Torsten G. schrieb: > Das ist ja komisch - ich habe den 220R bei mir verbaut und laufe nicht > in diese Probleme. Nur wenige haben bisher dieses Problem gemeldet. Ich kann dazu nur sagen: Man kann den 220R auch überbrücken, wenn alles stationär verdrahtet ist. Der Widerstand dient nur als Schutz bei fliegender Verdrahtung und bei einer kurzzeitigen Entladung bei unbeabsichtigtem Kontakt ohne entsprechend korrektem Massepotential. Baut man jedoch alles direkt fix und fertig vor dem ersten Einschalten auf, kann der Widerstand durchaus entfallen.
So, ich melde Vollzug. Die erste WordClock ist umgebaut, fehlen noch zwei. Hier ein paar Bilder für euch. Die LED Streifen sind genau richtig geworden. Passt exakt auf mein altes Raster und die Verdrahtung ist zu dem was ich vorher hatte ja wirklich eine Kleinigkeit. Auf den Bilder ist auch der klägliche Rest meiner alten WC. Hat schon irgendwie geschmerzt erstmal alles zu zerlegen, aber das Resultat ist es Wert. An dieser Stelle nochmal meinen tiefsten Respekt an Frank. Deine Software ist super. Alles schön leicht zu modifizieren. Ich musste nur an wenigen Stellen etwas ändern, damit meine Uhrzeiten richtig angezeigt werden. Einen Änderungswunsch hätte ich allerdings noch. Ich bin immer noch geblendet von dieser Uhr. Ist doch viel heller als meine alte. Da ist die automatische Helligkeitsregelung echt super. Leider geht mir der Regelbereich zu weit. Ich fände es praktisch, wenn man die Gesamthelligkeit auch bei aktivierter automatischer Regelung begrenzen kann. Klar, dass dann der Regelbereich entsprechend kleiner wird. Wäre es möglich, dass du Frank dieses Feature auf die To-Do Liste setzt? Gruß Chris
Frank M. schrieb: > Torsten G. schrieb: > >> Das ist ja komisch - ich habe den 220R bei mir verbaut und laufe nicht >> in diese Probleme. > Ich vermute das ich kein Pegel-Problem, sondern der Strom ist zu gering.. Vielleicht könnte man hier den Strom messen und vergleichen
Dann würde ich aber ehr die Spannung, als den Strom messen. Bricht diese ein oder sind es stabile 5V? Wenn letzteres der Fall ist, stimmt auch die Stromstärke. Wobei die definitiv nicht zu verachten ist. Jede Farbe zieht ungefähr 20mA aus dem Netzteil, macht bei 3 Farben bis zu 60mA pro LED. In der 18x16 LED sind davon gleich 288 Stück verbaut ohne Ambilight. Macht schlanke 17,28A wenn alles auf Weiß steht. Im mittel sind es wohl ehr um die 1,5A die das Netzteil bringen muss. Ansonsten dürfte der Fehler eigentlich nur bis zur ersten LED gehen, denn jede LED bereitet das Signal ja wieder für ihren Nachfolger auf. Fehler mittendrin sind dann schlechte Lötstellen, direkt davor.
Chris K. schrieb: > Einen Änderungswunsch hätte ich allerdings noch. Ich bin immer noch > geblendet von dieser Uhr. Ist doch viel heller als meine alte. Da ist > die automatische Helligkeitsregelung echt super. Leider geht mir der > Regelbereich zu weit. Ich fände es praktisch, wenn man die > Gesamthelligkeit auch bei aktivierter automatischer Regelung begrenzen > kann. Klar, dass dann der Regelbereich entsprechend kleiner wird. Wäre > es möglich, dass du Frank dieses Feature auf die To-Do Liste setzt? Hallo Chris, als Workaround könntest Du den Sensor einfach direkt anleuchten (z.B. Taschenlampe),um somit einen sehr hohen Maximalwert zu erzeugen. Den Wert dann einfach als Max-Wert in der Uhr speichern, und schon wird die Uhr bei normaler Umgebungshelligkeit, trotz Automatik, nicht mehr so hell... Nachteil: Die Helligkeitsstufen liegen weiter auseinander und es werden nicht mehr alle genutzt. Gruß Tom
Hallo Tom, der Trick reicht leider immer noch nicht. Im dunkeln ist die Uhr für mich einfach zu hell. Ich muss mal schauen, ob ich in der Software noch eine Einstellmöglichkeit als Zwischenlösung finden kann. Mit ist noch eine neue Spielerrei eingefallen. Diesmal eine Farbanimation. Per Webabfrage die Sonnenauf- und Untergangszeiten für den Tag ermitteln. Dann morgens von Rot nach Weiß zur Sonnenaufgangszeit langsam faden und Abends zum Sonnenuntergang von Weiß nach Blau. Okay man braucht auch noch den Standort damit es passt. Okay können wir irgendwas mit HF oder Leistungselektronik in die Uhr einbauen, damit ich auch zu dem Projekt beitragen kann? Mit meinen bescheidenen Programmierkünsten will ich den Quelltext nicht verhunzen, kann aber auch nicht alle Arbeit bei Frank abladen xD
Chris K. schrieb: > Dann würde ich aber ehr die Spannung, als den Strom messen. Bricht > diese > ein oder sind es stabile 5V? Meine Vermutung war eher auf den Strom des Steuersignals bezogen (STM32), nicht auf das Netzteil.
Hallo Tom, das Signal vom STM32 hatte ich mir schonmal mit einem Oscar angesehen. Mit dem 220 Ohm Widerstand in der Leitung waren da keine Auffälligkeiten bei mir zu sehen. Die Flanken sind Steil genug, um die Setup und Hold Zeiten der LEDs einzuhalten. Der Pegel stimmt mit 3,3V auch. Auch geht die Verbindung ja nur bis zur ersten LED, danach bereitet die LED das Signal am Ausgang ja wieder neu auf. Was ich schon gesehen habe, sind Probleme durch kalte Lötstellen. Dann stimmen plötzlich irgendwo in der Uhr die Farben und Zuordnungen nicht mehr. Gruß Chris
Hallo Frank, wenn du noch einmal Zeit findest würde ich mich sehr über eine Antwort zu meiner Frage vom 23.09 freuen. Hoffe das klingt nicht unverschämt. Ein schönes Restwochenende euch allen.
Chris K.: > Im Dunkeln ist die Uhr für mich einfach zu hell. Ich wollte diese Aussage zunächst kaum glauben. Inzwischen konnte ich meine WordClock (12h, STM32F103, Software 2.2.0, ohne DS18xx, WS2812-Stripes aus Sammelbestellung, Acryl-Frontplatte aus Sammelbestellung) soweit fertigstellen und testen. Die Kalibrierung des LDR war problemlos, aber gerade in relativ dunkler Umgebung zeigen sich Überstrahlungen auf die rundum benachbarten Buchstaben. Das ist jetzt "Jammern auf hohem Niveau". Ich hatte einige Software-Versionen ausgelassen und war sehr angetan, wie rund der Blumenstrauß der verschiedenen Animationen inzwischen geworden ist. Ein großer Dank dafür an Frank! Ergänzende Angaben: - Die Ansteuerung der WS2812-Stripes klappt über 220R problemlos, - Korrekturwerte für DS3231 werden im Web-Interface gespeichert und die Temp.-Anzeige dort wird entsprechend korrigiert - auf der Uhr wird immer "12" angezeigt (Bug ist schon bekannt und Korrektur wohl für nächste Version vorgemerkt). Gruß Günter
Hallo Frank, Torsten und alle anderen, die an diesem tollen Projekt mitgearbeitet haben. Ich habs auch geschafft meine WC24h mit STM32F103-Mini-Board und ESP8266 zum laufen zu bringen (als Briefträger) und in meiner Jugend ein bisschen lötender Bastler. Zugriff auf die Uhr als AP per Android App klappt bestens. Hab noch nicht alle Einstellungen durchprobiert. Was ich einfach nicht hinbekomme ist die Umschaltung als Client und die Verbindung mit meinem Router. Ich bekomme einfach keine IP-Adresse angezeigt. Solange das nicht klappt möchte ich sie noch nicht rahmen und aufhängen. Gehe nach Anleitung "Start als Access-Point" vor. Vielleicht kann mich jemand mit mehr Wissen in die richtige Richtung schubsen! Schöne Grüße aus dem verregneten Österreich Klaus
RCler schrieb: > Hallo Frank, > > wenn du noch einmal Zeit findest würde ich mich sehr über eine Antwort > zu meiner Frage vom 23.09 freuen. Hoffe das klingt nicht unverschämt. Frank ist noch diese Woche im Urlaub - er wird sich bei Dir melden, kann aber einen Moment länger dauern, da er nur eingeschränkten Internet Zugriff hat Gruß, Torsten
Hallo Ich bin neu im Forum, daher einmal ein förmliches GUTEN TAG! Ich bin Energietechniker und habe beschlossen, mich auch an eurer Uhr zu versuchen. Werden soll es die WC24h. Nun habe ich gesehen, dass euer Team schon einige Komponenten als Sammelbestellung anbietet, und die "Meldefrist" langsam abläuft. Im ersten Schritt würde es um das Shild V2 für die Nucleo Variante und den gefrästen Zwischenboden WC24hV2 gehen. An wen müsste ich mich für diese zwei Teile wenden? Zwei Fragen dazu: Gibt es den Zwischenboden auch (demnächst) in der Ambilightvariante? Welche Funktionen funktionieren in der SW bereits? Da konnte ich dem Thread nicht mehr folgen: Temperatur, Überblendungen .... JA; Wetter...Nein; Stimmt´s? Echt eine tolle Arbeit! Wahnsinn! Lindwurm (ein Össi aus dem Kärntnerland)
Klaus H. schrieb: > Was ich einfach nicht hinbekomme ist die Umschaltung als Client und die > Verbindung mit meinem Router. Ich bekomme einfach keine IP-Adresse > angezeigt. Hallo Klaus, sehr tiefes Wissen habe ich für dein Problem auch nicht - vielleicht ein gute Basis für einen Hilfe-Versuch. Ich habe bei der ersten Konfiguration nicht die App, sondern einen Browser am PC verwendet und bin dann so vorgegangen, wie im Abschnitt "Start als Access-Point" beschrieben, also mich vom PC aus mit WLAN-Netz "wordclock" verbunden. Das scheint bei Dir ja noch geklappt zu haben. Bei meiner FritzBox unter WLAN / Sicherheit die Auswahl: "WLAN-Zugang auf die bekannten WLAN-Geräte beschränken" oder "Alle neuen WLAN-Geräte zulassen", hier muss für die nächsten Schritte "Alle neuen WLAN-Geräte zulassen" ausgewählt sein. Nach dem fett gedruckten Hinweis im Artikel kommt dann: Sobald die Web-Oberfläche erscheint, wählt man den Menüpunkt "Network" aus, wählt in der Zeile, die mit "WLAN" beginnt "WLAN-Client" aus und gibt die SSID ("AP") und den Key des WLAN-Routers ein und bestätigt die Eingabe mit "Save". Danach sollte das ESP8266-WLAN-Modul als WLAN-Client umkonfiguriert werden. War das erfolgreich, erscheint nun auf dem Display die neue IP-Adresse. Die Browser-Seite wird dann ungültig. Man kann seinen PC nun wieder mit dem bisherigen WLAN-Gateway ("deinem WLAN") verbinden und im Folgenden die neue IP-Adresse verwenden. Wenn bei Dir auch jetzt keine neue IP-Adresse angezeigt wird, kannst Du Dich wieder "normal" mit Deinem Router verbinden und dort unter "WLAN" nachsehen, ob ein Gerät "ESP-xyz" angezeigt wird und dort auch die IP-Adresse ablesen. Mehr fällt mir im Moment nicht zur Fehlersuche ein - aber vielleicht war das ja schon ein Schubs in die richtige Richtung. Viel Erfolg Günter
Lindwurm schrieb: > Im ersten Schritt würde es um das > Shild V2 für die Nucleo Variante und > den gefrästen Zwischenboden WC24hV2 gehen. > An wen müsste ich mich für diese zwei Teile wenden? Hallo Lindwurm, evtl. hast du den Link zum Artikel im ersten Post übersehen: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812 Da sind eigtl. die meisten deiner Fragen beantwortet. ;) Eigtl. kannst du alles, außer die Frontplatten, bei Torsten (Benutzer wawibu) bestellen: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Sammelbestellung_LED_Stripes.2C_Zwischenb.C3.B6den.2C_Shields Achtung: Die hier angebotenen LED-Strips sind nur für die WC12h geeignet, da Sonderabstand. Die Strips für die WC24h müssen selbst besorgt werden! Die Fronten gibts bei Frank (Benutzer ukw): https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#WC24h_Sammelbestellung_Frontplatten > Welche Funktionen funktionieren in der SW bereits? Da konnte ich dem > Thread nicht mehr folgen: Temperatur, Überblendungen .... JA; > Wetter...Nein; Stimmt´s? Generelle Übersicht s. hier: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Features Wetterausgabe funktioniert auch in der aktuellen V2.2.0 schon als Laufschrift. Dabei wird z.B. folgender Text ausgegeben: "Wetter: 9,38 Grad, klarer Himmel" (Die Temperatur wird wohl von openweathermap exakt für den angegebenen Standort interpoliert.) Anzeige in Form von (evtl. animierten) Piktogrammen, soll in V2.3.0 folgen. Gruß Tom
Günter H. schrieb: > Die Kalibrierung des LDR war problemlos, aber gerade in relativ dunkler > Umgebung zeigen sich Überstrahlungen auf die rundum benachbarten > Buchstaben. Hallo Günter, hast du auch den Zwischenboden aus der Sammelbestellung? Habe auch eine WC12h (Front und Zwischenboden aus der Sammelbestellung) und kann bei mir, bei fast vollkommener Dunkelheit und niedrigster automatischer Helligkeit im Rainbowmodus, nur eine minimale Überstrahlung auf benachbarte Buchstaben feststellen, und die ist durch die seitliche Lichtstreuung innerhalb der Plexiglasscheibe verursacht. Liegt bei dir die Front auch wirklich plan auf dem Zwischenboden auf? Um möglichst wenig Lichtstreuung in einem evtl. vorhandenen Spalt zwischen Front und Zwischenboden zuzulassen, habe ich die Vorderseite des Zwischenbodens noch mattschwarz lackiert. (Innenseiten der Löcher sind weiß lackiert.) Ob das Ganze einen sichtbaren Effekt hat, kann ich nicht wirklich beurteilen, da mir der direkte Vergleich fehlt. Nur mal so als Anregung... Gruß Tom
:
Bearbeitet durch User
Hallo Günter, Jetzt hätt ich fast die Rückseite des Zwischenbodens unterschlagen... ;) Um zu verhindern, dass Licht zwischen der Trägerplatte der LED-Streifen und dem Zwischenboden zwische den Kammern durchscheinen kann, habe ich die Rückseite der Zwischenplatte mit 1mm schwarzem Moosgummi beklebt. (Ist halt etwas zeitintensiv, die ganzen Löcher dann wieder reinzuscheiden. Am schnellsten und einfachsten gehts wohl mit nem heißen Draht.) Gruß Tom
Hallo Tom! Danke für die schnelle Antwort. Thomas B. schrieb: > Hallo Lindwurm, > > evtl. hast du den Link zum Artikel im ersten Post übersehen: > https://www.mikrocontroller.net/articles/WordClock_mit_WS2812 > Danke. hatte ich gefunden, nur den entsprechenden Userlink "wawibu" nicht. Eine Frage ist aber offen. Mit dem bestellbaren WC24h Zwischenboden ist Ambilight ja (noch)nicht möglich. Mit der SW der XC24h jedoch bereits möglich. Wie macht ihr das? Mit weiteren LED Streifen (4*15 am Ende der Matrix) und selber Löcher bohren. Oder Eigenbauzwischenböden? Oder EinzelLED setzen? > Da sind eigtl. die meisten deiner Fragen beantwortet. ;) > > Eigtl. kannst du alles, außer die Frontplatten, bei Torsten (Benutzer > wawibu) bestellen: > OK https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Sammelbestellung_LED_Stripes.2C_Zwischenb.C3.B6den.2C_Shields > > Achtung: Die hier angebotenen LED-Strips sind nur für die WC12h > geeignet, da Sonderabstand. Die Strips für die WC24h müssen selbst > besorgt werden! > Das hab ich erkannt. Bei der W24h sind es Standardledstreifen 60/lm > Die Fronten gibts bei Frank (Benutzer ukw): > OK https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#WC24h_Sammelbestellung_Frontplatten > >> Welche Funktionen funktionieren in der SW bereits? Da konnte ich dem >> Thread nicht mehr folgen: Temperatur, Überblendungen .... JA; >> Wetter...Nein; Stimmt´s? > > Generelle Übersicht s. hier: > https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Features > > Wetterausgabe funktioniert auch in der aktuellen V2.2.0 schon als > Laufschrift. Dabei wird z.B. folgender Text ausgegeben: > "Wetter: 9,38 Grad, klarer Himmel" (Die Temperatur wird wohl von > openweathermap exakt für den angegebenen Standort interpoliert.) > Anzeige in Form von (evtl. animierten) Piktogrammen, soll in V2.3.0 > folgen. > Super, danke, auch für den zweiten Link, den hab ich noch nicht gefunden gehabt. > Gruß > Tom Cooles Projekt. LG Christian (Lindwurm)
Hallo Tom, danke für deine Rückmeldungen zum Thema Helligkeit/Überstrahlen. Den Zwischenboden habe ich aus einer 15 mm Multiplex-Platte selbst gebohrt/gesägt. Der ist ohne Verzug und die Frontplatte liegt plan auf. Die Löcher sind auch bei mir an der Innenseite weiß lackiert, die Oberseite des Zwischenbodens ist allerdings noch „Holz natur“, da kann ich deinen Tipp mit der mattschwarzen Lackierung mal testen. An der Rückseite des Zwischenbodens habe ich zwischen der Alu-Platte mit den Stripes und dem Holz eine weiße 3 mm Forex-Platte (Lochdurchmesser 16 mm) montiert. Forex ist „weicher“ als Holz und verhindert das Durchscheinen zwischen den Kammern. Das Überstrahlen ist jetzt nicht so dramatisch. Ich habe mich gemeldet, weil es Chris auch aufgefallen war und bei meinen zwei „alten“ WordClocks gleicher mechanischer Bauart überhaupt kein Überstrahlen erkennbar war. Gruß Günter
Chris K. schrieb: > Im dunkeln ist die Uhr für > mich einfach zu hell. Darf ich fragen wieso? Verwendest Du die SK6812? Stehe auch vor einer Bestellung der LEDs und bin am überlegen, gleich die SK zu nehmen. Würdest Du das empfehlen (ausgehend davon, dass sich eine Lösung bzgl. der Helligkeit finden wird)? mfg
Hallo Günther! Ich danke Dir für deine Unterstützung! Ich hab mir dank Deiner Anregung, die WLAN-Einstellungen nochmal genau durchgesehen! Sie läuft jetzt :D :D :D Zu blöd wenn man im Wireless-Netzwerk auf MAC-Adressen filtert und die MAC-Adresse vom ESP unbekannt ist. Ich weiss nicht wie oft ich die Einstellungen im Router durchgegangen bin und jedesmal überlesen, dass er nur die eingestellten durchlässt und alle anderen blockiert. Naja jedenfalls hab ich die Filterung deaktiviert und prompt bekam ich am LED Display der Uhr die neue IP-Adresse 192.168.1.136 angezeigt. Im Browser am PC eingegeben und es funktioniert :D Jetzt ist sie definitiv fertig und kann mit Rahmen versehen und aufgehängt werden. Nochmal Dank an alle, die dieses wunderschöne Projekt gestartet haben und immer wieder mit neuen Ideen begeistern. LG Klaus
Lindwurm schrieb: > Eine Frage ist aber offen. Mit dem bestellbaren WC24h Zwischenboden ist > Ambilight ja (noch)nicht möglich. Mit der SW der XC24h jedoch bereits > möglich. Wie macht ihr das? Mit weiteren LED Streifen (4*15 am Ende der > Matrix) und selber Löcher bohren. Oder Eigenbauzwischenböden? Oder > EinzelLED setzen? Hallo Christian, Ich hab für die WC12h den Ambilight-Zwischenboden genommen, passt aber von der Ausfräsung für 60 umlaufende LEDs auch nicht wirklich. Zumal ich die LEDs auch noch hinter 5mm Plexiglas gesetzt hab. Bei den 60 LEDs/m Strips wirst du wohl nicht drum rum kommen, die LEDs einzeln anzubringen, da hier 15 LEDs nur ca. 25cm lang sind. Hab mal ein paar Fotos meiner Ausführung angehängt. Die Spezialstripes der WC12h passen von der Länge eigtl.(fast) perfekt. Die weißen Plexiglasstreifen an der Seite sind mit der Front zu einer Art Haube verklebt. (Mit 3M LE 300LSE Klebeband, hält bombenfest) Befestigung, wie auch nur für die Frontplatte empfohlen, über Magnete. Jeweils in den 4 Ecken 0,5x8mm an der Front verklebt und 3x8mm im Zwischenboden eingelassen. (Ist trotz des zusätzlichen Rahmens von der Haltekraft ausreichend. Oder halt den Standard: 1x8mm und 4x8mm) Die Ambilight-Streifen sind auf ein 15mm breites Alu-Flachprofil geklebt. Evtl. bestellst du dir auch einfach die Ambilght-Stripes aus der Sammelbestellung? Lindwurm schrieb: > Super, danke, auch für den zweiten Link, den hab ich noch nicht gefunden > gehabt. PS: Ist eigtl. derselbe Artikel, nur die Stelle direkt verlinkt. ;) Gruß Tom
:
Bearbeitet durch User
Günter H. schrieb: > Das Überstrahlen ist jetzt nicht so dramatisch. Ich habe mich gemeldet, > weil es Chris auch aufgefallen war und bei meinen zwei „alten“ > WordClocks gleicher mechanischer Bauart überhaupt kein Überstrahlen > erkennbar war. Hallo Günter, dann kann wohl wirklich nur noch eine Anpassung in der Software helfen... Soweit ich weiß, hat Frank sowieso mal vorgehabt, die Anzahl der effektiven Helligkeitsstufen zu verdoppeln, da momentan die Helligket der LEDs nur bei jeder 2. einstellbaren Helligkeitsstufe geändert wird: Beitrag "Re: WordClock mit WS2812" ==> Evtl. springt dabei ja noch eine Stufe dunkler als aktuell möglich mit raus... ;) Gruß Tom
:
Bearbeitet durch User
Hallo Thomas! Schaut gut aus. Danke für die Antworten. Ich werde mich aber an der WC24h versuchen. Die hat ja keine Ausfräsungen für Ambilight, obwohl die SW es kann. Die 60/lm und 30/lm passen beide nicht richtig. Die Sonderstreifen muss ich mir erst ansehen. Glaube aber irgendwo 16mm Abstand gelesen zu haben - wäre dann auch nicht OK. Daher würde ich eventuell Einzelled (Ambilight) den Leuchtstreifen nachschalten. Bei gleichen Typ sollte das ja gehen. Dann kann ich den Abstand nach Lochrasterplatine beliebig abändern. Hab áber noch keine Maße, wieviel der WC24h Boden genau misst. Daher kenn ich den Platz hinter der "Standardabdeckung" noch nicht. Vorerst DANKE! Christian
Hallo Christian, die Zwischenböden beider Uhren sind genau so groß wie die Fronten, nämlich exakt 450x450mm. Der Abstand der LEDs auf den Spezial-Stripes beträgt 28,1mm. (==> 15 LEDs = 421,5mm) Die Stripes würden somit für beide Varianten der Uhr passen. Gruß Tom
Thomas B. schrieb: > Ich hab für die WC12h den Ambilight-Zwischenboden genommen, passt aber > von der Ausfräsung für 60 umlaufende LEDs auch nicht wirklich. Hi Tim, welchen Boden hast Du denn bekommen? Ich hatte für die letzte Runde den Boden mit Ambilight angepasst und es sollten nun eigentlich 15 LEDs vom Spezialstripe dort rein passen. Habe ein Foto des aktuellen Musters beigefügt. Passen da die 15 LEDs nicht rein? Gruß, Torsten
Chris K. schrieb: > der Trick reicht leider immer noch nicht. Im dunkeln ist die Uhr für > mich einfach zu hell. Das liegt an Deiner eigens erstellten Frontplatte, welche sehr dicke Buchstaben aufweist und damit auch viel Licht durchlässt. Die WC24h-Frontplatte ist da wesentlich "dezenter". > Ich muss mal schauen, ob ich in der Software noch > eine Einstellmöglichkeit als Zwischenlösung finden kann. Ja, die gibt es: display.c, Funktion calc_dimmed_colors():
1 | static const uint8_t dimmed_color_array[MAX_BRIGHTNESS] = { 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15 }; |
Setze da einfach niedrigere Werte ein, z.B.:
1 | static const uint8_t dimmed_color_array[MAX_BRIGHTNESS] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; |
Gruß, Frank
:
Bearbeitet durch Moderator
Frank M. schrieb: > Ich habe von der Druckerei, wo die Frontplatten für die > Sammelbestellungen hergestellt werden, mal ein Muster für eine rote > Platte bekommen, siehe Foto. > > Dieses wird im Gegensatz zu den schwarzen Platten nicht im Siebdruck, > sondern im Digitaldruck hergestellt. Durch Auftragen von mehreren > Farbschichten (rot vorn, grau für den Diffusor, tiefschwarz hinten) ist > die Platte jedoch genauso wie die bisherigen Frontplatten absolut > lichtdicht - und sieht überdies genauso gut aus :-) > > Mit dem Digitaldruckverfahren sind auch kleinere Auflagen möglich bei > geringfügig höherem Preis. Aber auch hier gilt: je mehr, desto > günstiger. > > Geplant ist je eine Auflage in rot und in weiß - WC12h und WC24h. > > Um abzuschätzen, wieviele Bestellungen da zusammenkommen würden, bitte > ich Euch, mich bei mir zu melden, wenn Ihr Interesse habt. Bitte > angeben: Farbe und WC12h bzw. WC24h. > > Gruß, > > Frank Hallo Herr Frank! Bin nun auch in diesem tollen Forum. Habe schon die Teile für eine WC24 geordert und freue mich schon. Bei der Front bin ich aber noch auf der Suche, da ich mit dünnem Schiefer, Holz und Stahl experimentiere. In meinem Umfeld besitzt ein ehemaliger Kollege CNC Systeme um Snowboards zu fräsen. Da können eventuell interessante Versionen möglich sein..... Ist die Layoutdatei/Printdatei/CAD/Fräsdatei allgemein verfügbar, oder ist die persönliches Eigentum von Ihnen/der Druckerei? Liebe Grüße aus Österreich Christian
Torsten G. schrieb: > Thomas B. schrieb: >> Ich hab für die WC12h den Ambilight-Zwischenboden genommen, passt aber >> von der Ausfräsung für 60 umlaufende LEDs auch nicht wirklich. > Hi Tim, > > welchen Boden hast Du denn bekommen? Ich hatte für die letzte Runde den > Boden mit Ambilight angepasst und es sollten nun eigentlich 15 LEDs vom > Spezialstripe dort rein passen. > > Habe ein Foto des aktuellen Musters beigefügt. > > Passen da die 15 LEDs nicht rein? > > Gruß, > Torsten Hallo Torsten, hab meinen Zwischenboden noch bestellt, als die "umlaufende Sekunde" erst aufkam (März), da gabs den angepassten Zwischenboden, meines Wissens, noch nicht. Rein vom Augenmaß und Vergleich mit meinen Bildern, könnte es schon etwas knapp sein. Die Enden mit den Kontakten liegen bereits in der Biegung? Aber gut zu wissen, dass es den jetzt gibt, hab ich irgendwie überlesen. PS: Sollte evtl. auch im Artikel noch ergänzt werden. Da ist auf den Fotos noch die alte Version zu sehen und auch aus dem Text zur Sammelbestellung geht das nicht hervor... ;) PPS: Könntest du mir davon netterweise das 3D-Modell zu Verfügung stellen? ;) (Würde gern meine LED-Trägerplatte und Rückseite daran anpassen.) Gruß Tom (alias "Tim" ;) )
:
Bearbeitet durch User
Hallo Frank, erst mal hoff ich, du hattest einen erholsamen Urlaub! Hab da noch so ne Idee, die mir einfach keine Ruhe lässt... ;) Wie fändest du es, noch ein kleines Soundmodul zu integrieren? Wäre evtl. mit einem Modul wie z.B. dem "DFPlayer Mini" (Datenblatt: http://www.picaxe.com/docs/spe033.pdf) relativ "einfach" umsetzbar. Lässt sich seriell ansteuern und somit sind mehrere 1000 MP3s einzeln wählbar. Gibt davon wohl die unterschiedlichsten Versionen/Bezeichnungen: FN-M16P, MP3-TF-16P, DFPlayer Mini... Als Lautsprecher könnte ich mir die "Visaton K28.40-8" oder "Visaton K20.40" vorstellen: https://www.reichelt.de/Miniaturlautsprecher/VIS-K20-40/3/index.html?ACTION=3&LA=2&ARTICLE=81454&GROUPID=6559&artnr=VIS+K20.40 https://www.reichelt.de/Miniaturlautsprecher/VIS-K28-40-8/3/index.html?ACTION=3&LA=2&ARTICLE=145413&GROUPID=6559&artnr=VIS+K28.40-8 Die sollten auch in die Vertiefungen der Zwischenböden passen. Damit ließe sich so Einiges anstellen: - Zeit-, Temperaturansage (evtl. sogar mehrere Sprachen?) - Geräusche zur Untermalung der Wetteranzeige (Gewitter, Regen....) - Wecker, Reminder - Simulation eines Schlagwerks - Spielesounds - Sounds/Lieder zu besonderen Ereignissen (Sylvester, Geburtstag, Hochzeitstag....) - über W-Lan steuerbare Alarmsignale (Türklingel, Ruftaster,...) - ... Und alle Audiodateien wären vom Benutzer sehr einfach frei konfigurierbar.(Austausch der MP3 im entsprechenden Ordner) Als kleinen Teaser hätte ich auf die Schnelle mal die Grundlage für eine Zeit- und Temperaturansage über TTS erstellt... (s. Anhang, geht sicher noch besser...) Wenns gefallen sollte, würd ich mir die Lautsprecher und ein Soundmodul besorgen, um überhaupt erst mal herauszufinden, obs von Klang und Lautstärke in Ordnung wäre. (simple Ansteuerung sollte lt. Datenblatt ja auch ohne Programmierkenntnisse über Widerstände möglich sein) PS: Der verwendete TTS-Generator ist hier zu finden (German, Anna): http://www.oddcast.com/home/demos/tts/tts_example.php?sitepal Hoffe, ich bin nicht der Einzige, dem diese Idee gefällt... ;) PS: Außerdem noch ein Vorschlag zum Ambilight (60-LED): Fände optional zuschaltbare 5- und/oder 15-Minuten-Marker in einstellbarer Helligkeit und Farbe noch ganz nett... ;) Gruß Tom
:
Bearbeitet durch User
Hallo Frank, gerade habe ich eine Erweiterung der Ansteuerung der LEDs gefunden. Der Punkt ist, dass diese sehr viel RAM spart, weil sie den DMA Bit-Buffer on-the-fly füllt. Dabei werden die Interrupts DMA_HALF_TRANSFER und DMA_COMPLETE_TRANSFER genutzt. Während die Daten aus dem ersten 24-Bit Bitbuffer zur LED per DMA rausgeschrieben werden, wird der zweite 24-Bit Bitbuffer berechnet und das immer abwechselnd. Für mich sieht das (auf den ersten Blick) so aus, als könnte das auch hier bei der Wordclock enorm viel RAM einsparen, oder habe ich etwas übersehen. Hier die Links: http://www.martinhubacek.cz/arm/improved-stm32-ws2812b-library https://github.com/hubmartin/ws2812b_stm32F3
Hi Tom, Thomas B. schrieb: > Wie fändest du es, noch ein kleines Soundmodul zu integrieren? Wirklich nette Idee. Das sollte jedoch ein komplett unabhängiges Modul bzw. Projekt sein. Dann muss man sich nur noch über die Schnittstelle einigen (HW, z.B. UART und SW, d.h. Protokoll). > PS: Außerdem noch ein Vorschlag zum Ambilight (60-LED): > Fände optional zuschaltbare 5- und/oder 15-Minuten-Marker in > einstellbarer Helligkeit und Farbe noch ganz nett... ;) Guter Vorschlag! Ich schreibs in die TODO-Liste.
Hi Dario, Dario C. schrieb: > gerade habe ich eine Erweiterung der Ansteuerung der LEDs gefunden. > > Der Punkt ist, dass diese sehr viel RAM spart, weil sie den DMA > Bit-Buffer on-the-fly füllt. Klingt sehr vielversprechend. Ich schaue es mir mal an. Wenn das RAM mal knapper werden sollte (im Moment siehts da aber noch sehr gut aus), werde ich darauf zurückkommen.
Nochmal eine prinzipielle Frage: Würdet ihr nun guten Gewissens die SK6812 anstelle der WS2812 empfehlen? Das Problem mit der zu hohen Helligkeit scheint man durch Änderung der Werte im entsprechenden Array leicht beheben zu können. Sonst haben die Dinger keine Nachteile (vom Preis mal abgesehen)? Vielen Dank!
Michael K.: > Würdet ihr nun guten Gewissens die SK6812 anstelle der WS2812 empfehlen? Hallo Michael, ich werde mir SK6812-LEDs bestellen, weil ich (auch) Wert auf ein "gutes" Weiß lege - da überzeugen mich die WS2812B nicht voll. Wer überwiegend im "Rainbow-Modus" das gesamte Farbspektrum durchlaufen lässt, kann aus meiner Sicht problemlos die WS2812B verwenden. Gruß Günter
Michael K. schrieb: > Nochmal eine prinzipielle Frage: > > Würdet ihr nun guten Gewissens die SK6812 anstelle der WS2812 empfehlen? > Das Problem mit der zu hohen Helligkeit scheint man durch Änderung der > Werte im entsprechenden Array leicht beheben zu können. > Sonst haben die Dinger keine Nachteile (vom Preis mal abgesehen)? > > Vielen Dank! Hoi Michael ich schon, denn auch ich lege Wert auf ein reines, schönes Kaltweiss :-) Meine Uhr läuft bereits mit den SK6812 und bin sehr zufrieden damit. Habe mir die LED-Streifen in China für die 12h-Variante anfertigen lassen und nun mehr als happy. Gruss Daniel
:
Bearbeitet durch User
Frank M. schrieb: >> Wie fändest du es, noch ein kleines Soundmodul zu integrieren? > > Wirklich nette Idee. Das sollte jedoch ein komplett unabhängiges Modul > bzw. Projekt sein. Dann muss man sich nur noch über die Schnittstelle > einigen (HW, z.B. UART und SW, d.h. Protokoll). Hallo Frank, ob das wirklich als alleinstehendes Projekt zu betrachten ist, würde ich jetzt mal bezweifeln. ;) Das Modul (DFPlayer Mini) gibt es doch schon und kann über 4-5 Drähte (+,-,RX, TX, evtl. Busy-Pin?) mit Spannung und GPIO-Pins verbunden werden. (Hatte jetzt eigtl. nicht vor, das Rad neu zu erfinden. ;) ) Dann noch die Lautsprecher anschließen und schon wäre die HW-Seite fertig. Das Protokoll ist durch die Firmware auf dem Modul doch auch schon festgelegt(vgl. Datenblatt)? s. auch hier: https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299 https://www.youtube.com/watch?v=GnGv21v7h8s http://www.trainelectronics.com/Arduino/MP3Sound/index.htm Somit bestünde die Hauptaufgabe im Erstellen der entsprechenden MP3s und in der Programmierung der Schnittstelle in der WC-Software (oder meinst du das Code-Modul für die WC-Software mit "Projekt"? Bibliotheken für den DFPlayer sollten vorhanden sein.) Vorher müsste noch festgelegt werden, welche Events Sounds triggern können. Wie schon gesagt, würde ich mir den DFPlayer Mini und passende Lautsprecher mal bestellen und die klanglichen Eigenschaften testen. (Sofern die Umsetzung in der WC-Software für dich in Frage kommt.) Zur Programmierung kann ich leider nichts beitragen, aber beim Finden der MP3s wär ich auf jeden Fall wieder dabei. ;) PS: Würde die "DMA-On-the-fly" Methode auch Vorteile bzgl. flüssigerem Fading bieten? Frank M. schrieb: > Fazit: Alles, was mit ununterbrochenem Fading zu tun hat, muss anders > realisiert werden, nämlich direkt aus dem Timer-Interrupt. Ob und wie > das zusammen mit dem DMA-Transfer zu einem Problem wird, muss ich > erstmal ausführlich testen. Gruß Tom
:
Bearbeitet durch User
Thomas B. schrieb: > Das Modul (DFPlayer Mini) gibt es doch schon und kann über 4-5 Drähte > (+,-,RX, TX, evtl. Busy-Pin?) mit Spannung und GPIO-Pins verbunden > werden. (Hatte jetzt eigtl. nicht vor, das Rad neu zu erfinden. ;) ) Achso. Ich muss zugeben, dass ich mir das Modul noch nicht näher angeschaut habe. Dann ist das ja einfach. > Dann noch die Lautsprecher anschließen und schon wäre die HW-Seite > fertig. Klingt sehr gut. > Das Protokoll ist durch die Firmware auf dem Modul doch auch schon > festgelegt(vgl. Datenblatt)? Noch nicht gelesen, werde ich aber nachholen. Danke für die Links :-) > Somit bestünde die Hauptaufgabe im Erstellen der entsprechenden MP3s und > in der Programmierung der Schnittstelle in der WC-Software (oder meinst > du das Code-Modul für die WC-Software mit "Projekt"? Bibliotheken für > den DFPlayer sollten vorhanden sein.) Korrekt. > Vorher müsste noch festgelegt werden, welche Events Sounds triggern > können. Ja. > Wie schon gesagt, würde ich mir den DFPlayer Mini und passende > Lautsprecher mal bestellen und die klanglichen Eigenschaften testen. > (Sofern die Umsetzung in der WC-Software für dich in Frage kommt.) Sehr gut! > Zur Programmierung kann ich leider nichts beitragen, aber beim Finden > der MP3s wär ich auf jeden Fall wieder dabei. ;) Gut, dann mache ich das mit der Programmierung, das Suchen der MP3s und Test machst dann Du. Okay... vielleicht hole ich mir auch so ein Modul, damit ich es auch selbst testen kann. > PS: Würde die "DMA-On-the-fly" Methode auch Vorteile bzgl. flüssigerem > Fading bieten? Nein. Auch jetzt werden die Daten bereits per DMA übertragen. Das oben beschriebene Double-Buffer-Verfahren spart nur RAM - sonst nichts. > Frank M. schrieb: >> Fazit: Alles, was mit ununterbrochenem Fading zu tun hat, muss anders >> realisiert werden, nämlich direkt aus dem Timer-Interrupt. Ob und wie >> das zusammen mit dem DMA-Transfer zu einem Problem wird, muss ich >> erstmal ausführlich testen. Hier geht es darum, dass I/O mit ESP, RTC, DS18xxx das Anstoßen eines neuen DMA-Transfers, welches momentan regelmäßig in der Hauptschleife angestoßen wird, ausbremsen kann. Wenn man dieses "Anstoßen" in einen Timer-Interrupt verlagert, kommt er - unabhängig vom I/O - regelmäßig mit genau definierten Abständen. Aber das ist nur die halbe Wirklichkeit: Tatsächlich ist es nicht nur das "Anstoßen", sondern: - Berechnung jedes RGB-Werts für jede LED - Füllen des DMA-Buffers - Anstoßen des DMA-Transfers Das Ganze widerspricht der Regel, eine ISR möglichst schnell wieder zu beenden. Im Moment setzt die ISR deshalb nur ein Flag, dass nun neue Fading-Werte erzeugt und gesendet werden müssen. Das wird aber nicht immer zügig genug von der Hauptschleife ausgewertet.
Vielen Dank für die Antworten bzgl. den SK6812. Gibt es eine empfehlenswerte Bezugsquelle oder kann man einfach bei alibaba et al zuschlagen? Ich gehe davon aus, dass auch hier die 60 LEDs/m - Version das richtige Rastermaß für die WC24h hat. Falls nicht, bitte korrigieren :) mfg
Hallo Frank, werde mir anschauen, was passiert wenn ich die Gesamthelligkeit beschränke. Mein Problem ist momentan, dass im Dunkeln die Uhr Hell genug ist, um vom Flur aus 3 Zimmer auszuleuchten. Eine andere Lampe brauche ich Abends gar nicht mehr. Sonst muss ich am Einfluss der automatischen Helligkeitsregelung anpacken, damit die einfach stärker abdunkelt.
Ich hab auch noch eine Idee, könnte man nicht auch einen Bewegungsmelder mit nutzen? Funktion: Display durch Timer ausgeschaltet Bewegungsmelder aktiviert Display für 10 Sekunden (oder einstellbar) Diese Bewegunsmelder scheinen ganz gut zu sein. https://www.aliexpress.com/item/1-pcs-HC-SR505-Mini-Infrared-PIR-Motion-Sensor-Precise-Infrared-Detector-Module/32726630768.html Werner
Hi Chris, Chris K. schrieb: > werde mir anschauen, was passiert wenn ich die Gesamthelligkeit > beschränke. Hast Du denn mal probiert, das Array dimmed_color_array[] anzupassen, wie in Beitrag "Re: WordClock mit WS2812" beschrieben?
Thomas B. schrieb: > Wie fändest du es, noch ein kleines Soundmodul zu integrieren? Und wem das dann noch nicht reicht, der kann ja dann die Bedienmöglichkeiten um eine Spracheingabe, http://www.veear.eu/products/easyvr3/, erweitern ;-)), dann braucht man wenigstens nicht ständig nach einem Tablet/Smartphone oder der Fernbedienung zu suchen. Seine Stimme hat man ja erfahrungsgemäß meistens dabei.
Hallo Frank, ich hätte da noch 'ne Frage zur Android APP: Wäre es eventuell auch, mit vertretbarem Aufwand, möglich, statt beim Start der APP die im Smartphone gespeicherte Konfiguration an die Uhr zu schicken, die aktuelle Konfiguration der Uhr einzulesen? Ist nämlich manchmal etwas lästig, wenn man mehr als eine Uhr und beide Modelle (WC12 und WC24) steuern möchte. Gruß Bernhard
Bernhard S. schrieb: > Wäre es eventuell auch, mit vertretbarem Aufwand, möglich, statt beim > Start der APP die im Smartphone gespeicherte Konfiguration an die Uhr zu > schicken, die aktuelle Konfiguration der Uhr einzulesen? Ja, könnte man machen. Auf die Frage habe ich schon länger gewartet :-) Ich setze es mal auf die TODO-Liste.
Hallo Frank, Frank M. schrieb: > Ja, könnte man machen. Auf die Frage habe ich schon länger gewartet :-) > > Ich setze es mal auf die TODO-Liste. wenn ich der einzige bin, der das lästig findet, dann kann es ja nicht so schlimm sein. Nur wegen mir braucht das dann nicht unbedingt geändert werden. Gruß Bernhard
Bernhard S. schrieb: > Hallo Frank, > > Frank M. schrieb: >> Ja, könnte man machen. Auf die Frage habe ich schon länger gewartet :-) >> >> Ich setze es mal auf die TODO-Liste. > > wenn ich der einzige bin, der das lästig findet, dann kann es ja nicht > so schlimm sein. Nur wegen mir braucht das dann nicht unbedingt geändert > werden. > > Gruß Bernhard Hallo Zusammen, da wär ich auch dafür, ist eigtl. der einzige Grund, warum ich die App nicht nutze. (+ der geringere Funktionsumfang? Oder ist das mittlerweile identisch zur Weboberfläche?) Finde für mich die Web-Oberfläche vollkommen ausreichend, aber wenn die App die Einstellungen, die man übers Web-Portal gemacht hat, nicht jedesmal beim Starten überschreiben würde, würd ich die App evtl. doch nutzen... ;) (Soweit ich mich erinnere, kann man das umgehen, indem man die W-Lan Verbindung auf dem Handy/Tab erst aktiviert, nachdem man die App gestartet hat, oder so in der Art. Dann läuft das Senden der Einstellungen ins Leere, aber die aktuellen Einstellungen sieht man natürlich trotzdem nicht.) Gruß Tom
Hallo Frank, Frank M. schrieb: > Gut, dann mache ich das mit der Programmierung, das Suchen der MP3s und > Test machst dann Du. Okay... vielleicht hole ich mir auch so ein Modul, > damit ich es auch selbst testen kann. Alles klar, da ich die nächsten 2 Wochen eh nicht zum Testen komm, werd ich die Module einfach beim Chinamann bestellen, da in DE schwer günstig zu bekommen. Bei einem Preis von ca 2€, werd gleich ein paar mehr bestellen, dann fällt für dich sicher auch noch eins ab... BTW: Evtl. krieg ichs auch noch irgendwie gebacken, die grundlegende Ansteuerung über UART zu testen, mal sehen. Kommt Zeit, kommt Rat... ;) Auf jeden Fall, danke schon mal für die Unterstützung! Frank M. schrieb: > Nein. Auch jetzt werden die Daten bereits per DMA übertragen. Das oben > beschriebene Double-Buffer-Verfahren spart nur RAM - sonst nichts. Schade, aber danke für die ausführliche Antwort! PS: Hätte da noch 2 Punkte, die evtl. noch Optimierungspotenzial bieten.. Das eine wäre die automatische Helligkeitssteuerung. Ist hier von dir noch eine Bedämpfung geplant? Wie gesagt, nach Austauschen des Widerstands ist es schon viel besser geworden, teilweise springt die Helligkeit aber immer noch. Evtl. wäre es ganz simpel möglich, wenn man die Helligkeit erst ändert wenn die ermittelte Helligkeitsstufe (nicht der gemessene Wert, dieser schwankt zu stark) für ca. 5s konstant ist. (oder halt der FIR Regler) (Was macht eigtl. die automatische Ermittlung vom Min. und Max. Wert, die mal hinzugefügt wurde, wenn man die Werte übers Webportal festlegt?) Wenns dann nicht mehr springt, wäre noch die schon angesprochene Erweiterung fürs Ambilight ganz nett. (unabhängig von "Use Display-Colors") ;) Außerdem noch ein Bug, der von Nils schon mal erwähnt wurde: Bei der neuen Schrift der WC12h (nach Problem mit Umlauten) stimmt die Laufweite der Buchstaben am Ende von langen Texten nicht mehr. Beitrag "Re: WordClock mit WS2812" Gruß Tom
Bernhard S. schrieb: > Thomas B. schrieb: >> Wie fändest du es, noch ein kleines Soundmodul zu integrieren? > > Und wem das dann noch nicht reicht, der kann ja dann die > Bedienmöglichkeiten um eine Spracheingabe, > http://www.veear.eu/products/easyvr3/, erweitern ;-)), dann braucht man > wenigstens nicht ständig nach einem Tablet/Smartphone oder der > Fernbedienung zu suchen. Seine Stimme hat man ja erfahrungsgemäß > meistens dabei. Hallo Bernhard, außerdem erhöhen wir noch die ppi (der Trend dahin ist mit der WC24h ja schon klar zu erkennen), machen das Ganze etwas kleiner, verpassen dem Ding noch ein 3G/LTE-Modul und die Spracherkennung hört auf den Namen "SIRI"... Irgendwie so, oder so ähnlich, muss es bei Mapple wohl auch abgelaufen sein.... ;) > Seine Stimme hat man ja erfahrungsgemäß meistens dabei. Solange man sie nicht verloren hat... ;) Gruß Tom
:
Bearbeitet durch User
Thomas B. schrieb:
> ..., teilweise springt die Helligkeit aber immer noch.
Bei meiner WC12h (STM32F103, "quasi" LDR07 mit 1k im Spannungsteiler)
hatte ich dieses "Springen" der Helligkeit zeitweise auch.
Das lag in meinem Fall aber wohl daran, dass ich die minimale Helligkeit
tagsüber nach bestmöglichem Verdunkeln abgespeichert hatte, am Abend
dann aber der gemessene Helligkeitswert doch noch kleiner war als der
gespeicherte Minimalwert. Unter diesen Bedingungen änderte sich bei
meiner Uhr die Helligkeit sprunghaft. Nach erneutem Abspeichern der min.
Helligkeit war das System dann stabil.
Die von Frank vorgeschlagene Anpassung von "Array dimmed_color_array[]"
zur Anpassung der Gesamthelligkeit konnte ich mangels Zugriff auf die
Hardware noch nicht testen.
Gruß
Günter
Günter H. schrieb: > Das lag in meinem Fall aber wohl daran, dass ich die minimale Helligkeit > tagsüber nach bestmöglichem Verdunkeln abgespeichert hatte, am Abend > dann aber der gemessene Helligkeitswert doch noch kleiner war als der > gespeicherte Minimalwert. Unter diesen Bedingungen änderte sich bei > meiner Uhr die Helligkeit sprunghaft. Ja, das konnte ich bereits auch einmal beobachten. > Nach erneutem Abspeichern der min. > Helligkeit war das System dann stabil. Genauso war es bei mir auch... und danach dann natürlich nicht mehr reproduzierbar. Ich werde mir diesen Fall, dass der gemessene Wert den abgespeicherten Min-Wert unterschreitet, wohl nochmal genauer anschauen müssen.
Hallo Frank, ich habe die SW mit folgenden Array angepasst:
1 | dimmed_color_array[MAX_BRIGHTNESS] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 14, 14, 15 }; |
somit ist die Uhr Abends nun merklich dunkler. Tagsüber sehe ich eigentlich keine Veränderung. Passt erstmal für mich. Werde das ganze in den nächsten Tagen mal beobachten und schauen was die Uhr bei wechselnder Sonneeinstrahlung macht.
Frank M. schrieb: >> Nach erneutem Abspeichern der min. >> Helligkeit war das System dann stabil. > > Genauso war es bei mir auch... und danach dann natürlich nicht mehr > reproduzierbar. Hallo Zusammen, kann ich auch aus meiner Erfahrung bestätigen, dass das reduzieren des Min Wertes eine starke Verbesserung bringt. Hab meinen Min Wert deshalb durch Abdeckend des LDR auf 3 eingestellt und der Max Wert liegt bei mir bei 400. (LDR A906032 mit 10k Widerstand hinter Buchstabe "K"; Nucleo Shield V1, STM32f411re ) Trotzdem springt die Helligkeit zeitweise... (in dem Moment sollte der gemessene Wert, aufgrund der Umgebungshelligkeit, nicht unter dem Min Wert liegen) Wie schon mal berichtet, schwankt bei mir der gemessene Wert um ca. +-10 (oder sogar noch etwas mehr). Meine Vermutung, dass es mit Störungen in der 3,3V Versorgungsspannung zu tun hat, ist darin begründet, dass die Helligkeitssprünge meist syncron zur umlaufenden Sekunde sind. (Oder trügt hier der Schein, da die Helligkeit immer nur syncron zur Sekunde aktualisiert wird?) Dann wäre meine Vermutung, dass die Sprünge nur auftreten, wenn sich der gemessene Wert in der Nähe einer Schwelle zur nächsten Helligkeitsstufe befindet. Aufgrund der festgestellten Schwankungen im Messwert, ist man dann halt kurz mal über der Schwelle und anschließend gleich wieder drunter... Deshalb der Vorschlag mit der Verzögerung um 5s. Welche Min und Max Werte habt ihr eigtl. eingestellt und wo ist der LDR montiert? Gruß Tom
:
Bearbeitet durch User
Min ist bei mir 320, max bei 1590. Die Helligkeitsregelung klappt soweit einwandfrei. Wenn ich mit einer Taschenlampe direkt auf den LDR leuchte, komme ich auf Messwerte von bis zu 2000. Auch damit klappt die Regelung. Das hier müsste die Stelle im Quelltext sein, wo die eigentliche Berechnung erfolgt.
1 | if (rtc) |
2 | 49 { |
3 | 50 ldr.ldr_value = (32 * (ldr.ldr_raw_value - ldr.ldr_min_value)) / (ldr.ldr_max_value - ldr.ldr_min_value); |
4 | 51
|
5 | 52 if (ldr.ldr_value > 31) |
6 | 53 { |
7 | 54 ldr.ldr_value = 31; |
8 | 55 } |
9 | 56 } |
10 | 57 return rtc; |
wir sehen, Frank hat eine Beschränkung der LDR Werte nach oben hin drin. Nach unten kann es kritisch werden, wenn der gemessene LDR Wert unter dem Min Wert liegt, dann wird das Ergebnis negativ, bzw. bei usinged Variablen entsprechend umschlagen. Mit meinen beschränkten Programmierkentnissen würde ich daher noch eine Abfrage auf valide Messwerte vorschlagen.
1 | if (rtc) |
2 | {
|
3 | if(ldr.ldr_raw_value < ldr.ldr_min_value) ldr.ldr_raw_value = ldr.ldr_min_value; |
4 | if(ldr.ldr_raw_value > ldr.ldr_may_value) ldr.ldr_raw_value = ldr.ldr_max_value; |
5 | ldr.ldr_value = (32 * (ldr.ldr_raw_value - ldr.ldr_min_value)) / (ldr.ldr_max_value - ldr.ldr_min_value); |
6 | |
7 | if (ldr.ldr_value > 31) |
8 | {
|
9 | ldr.ldr_value = 31; |
10 | }
|
11 | }
|
12 | return rtc; |
wobei Frank das bestimmt auch in schön mit der halben Codegröße könnte ;) Gruß Chris
Chris K. schrieb: > wir sehen, Frank hat eine Beschränkung der LDR Werte nach oben hin drin. Gut erkannt. > Nach unten kann es kritisch werden, wenn der gemessene LDR Wert unter > dem Min Wert liegt, Ja, die Prüfung nach unten habe ich verschlampt. :-( > dann wird das Ergebnis negativ, bzw. bei usinged > Variablen entsprechend umschlagen. Genau das ist der Grund für den "Flash" der LEDs, welcher dann passiert. > Mit meinen beschränkten > Programmierkentnissen würde ich daher noch eine Abfrage auf valide > Messwerte vorschlagen. Danke, werde ich so übernehmen. > wobei Frank das bestimmt auch in schön mit der halben Codegröße könnte Das glaube ich nicht. Im Gegenteil: Ich werde die if-Statements noch mit geschweiften Klammern versehen. Das ist bei mir Prinzip: Ich klammere grundsätzlich - egal, ob ein oder mehrere Statements folgen. Ist einfach lesbarer und einfacher, um später weitere Statements einzufügen. EDIT: Doch: Das letzte if (ldr.ldr_value > 31) kann jetzt komplett entfallen, da die Korrektur des max-Wertes nun schon vorher geschieht. Gruß und Dank, Frank
:
Bearbeitet durch Moderator
Hallo Frank, ich glaube die letzte Abfrage brauchst du doch. Wenn du genau den Max Wert hast, steht in der Rechnung 32*(Max-Min)/(Max-Min) Ergibt 32 und wäre somit größer als die 31, die du momentan als Max Wert zulässt.
Chris K. schrieb: > Ergibt 32 und wäre somit größer als die 31, die du momentan als Max Wert > zulässt. Stimmt, also lass ich das drin. Außerdem habe ich eben noch eine Prüfung für den (unwahrscheinlichen) Fall Min=Max eingebaut, damit keine Division durch Null stattfindet. Dann passt das :-)
Perfekt! Frank M. schrieb: > Außerdem habe ich eben noch eine Prüfung > für den (unwahrscheinlichen) Fall Min=Max eingebaut, damit keine > Division durch Null stattfindet. Dann passt das :-)
Eigentlich wäre es richtig für die Umrechnung diese Formel zu verwenden: 32*(wert-min)/(max-min+1) 1) division duch 0 kommt nicht vor 2) die (max-min+1) Ausgangswerte min...max werden gleichmäßig auf die 32 Zielwerte 0..31 abgebildet 3) das dritte if kann weg, 32 kommt nicht vor Im übrigen klasse Arbeit! Habe gestern alles zusammengestöpselt, geflasht und lief auf Anhieb! Eine Frage bleibt aber: Hat schon wer die Firmware unter Linux gebaut? Ich habe kein Windoof und wollte nur hierfür nicht damit anfangen... Flashen ging auch Problemlos mit den open-source tools. Anpassen müsste ich display.c da meine Matrix (16*16) anders verdrahtet ist. Auch sind meine ws2812 'richtigrum' also rgb und nicht grb.
0xef schrieb: > Eigentlich wäre es richtig für die Umrechnung diese Formel zu > verwenden: > > 32*(wert-min)/(max-min+1) Ja, Du hast vollkommen recht, das +1 schoss mir bei der Anpassung auch direkt durch den Kopf. Richtiger ist das schon. Ich werde das so korrigieren. > Im übrigen klasse Arbeit! > Habe gestern alles zusammengestöpselt, geflasht und lief auf Anhieb! Freut micht :-) > Hat schon wer die Firmware unter Linux gebaut? Leider nein. Sollte aber prinzipiell gehen, da die ST-Bibliotheken ja im Source im Projekt-Ordner vorliegen. Du brauchst halt die entsprechende gcc-Toolchain. Dann noch flugs ein Makefile gebaut oder ein einfaches Shell-Script zum Compilieren und Linken und Du bist fertig. Ob es so geht, kann ich natürlich nicht garantieren, aber einen Versuch wäre es wert. > Anpassen müsste ich display.c da meine Matrix (16*16) anders verdrahtet > ist. Warum ist die anders? > Auch sind meine ws2812 'richtigrum' also rgb und nicht grb. Sowas gibts? Ist mir jetzt nur bei den SK6812 in der RGBW-Variante aufgefallen. Ich muss aber zugeben, dass ich die SK6812-RGB, die es auch geben soll, noch nicht in den Fingern hatte.
Frank M. schrieb: > Leider nein. Sollte aber prinzipiell gehen, da die ST-Bibliotheken ja im > Source im Projekt-Ordner vorliegen. Du brauchst halt die entsprechende > gcc-Toolchain. Dann noch flugs ein Makefile gebaut oder ein einfaches > Shell-Script zum Compilieren und Linken und Du bist fertig. Ob es so > geht, kann ich natürlich nicht garantieren, aber einen Versuch wäre es > wert. Bisher habe ich in meinen Projekten die libopencm3 benutzt. Da waren die nötigen Makefiles in den examples dabei. Jetzt stricke ich gerade ein Makefile, aber es klemmt noch. *.o Dateien erstellt er schon, aber die Linkereinstellungen stimmen irgendwie noch nicht, derzeit haut er mir beim linken alle sections weg und ich ende mit einer leeren .elf :( Da der F103 so extra dazugestrickt wurde ist es ein bisschen doof ein generisches Makefile für alle Platformen zu basteln. Wär das evtl möglich, das zu vereinheitlichen? Also die ST-Libs nach 'platform/f4' bzw. 'platform/f1' zu verschieben? ggfs. noch ein 'platform/platform.[hc]' welches ausgehend vom prozessor-define die richtigen Dinge includiert? Nur so'n Gedanke. Mir reichts ja erstmal für den F103. >> Anpassen müsste ich display.c da meine Matrix (16*16) anders verdrahtet >> ist. > > Warum ist die anders? Weil ich leider zu langsam war. Jetzt der Nachwuchs doch schon da und deswegen keine Zeit für komplett eigene Lösungen mehr. Auch brauch ich die Uhr ein einem anderen Format, sonst hätte ich wohl bei einer Sammelbestellung zugeschlagen. Ihr handhabt das ja ziemlich professionell! Die Matrix gabs beim Chinesen: (https://www.aliexpress.com/item/best-price-1-pcs-DC5V-16-16-Pixel-WS2812B-LED-Digital-Pixels-Panel-led-module/32433617354.html) und sie passt in mein Format. Als Minutenpunkte wollte ich die Ecken nehmen und eine 12x12 oder 12x10/10x12 (Teil-)Matrix in der Mitte für die Wörter. Als Sekundenzeiger halt die 60 äußeren LED's, die keine Minutenpunkte sind. Dafür wäre ein '2-leds' Sekundenzeiger fürs Ambilight praktisch, aber nicht notwendig. >> Auch sind meine ws2812 'richtigrum' also rgb und nicht grb. > > Sowas gibts? Ist mir jetzt nur bei den SK6812 in der RGBW-Variante > aufgefallen. Ich muss aber zugeben, dass ich die SK6812-RGB, die es auch > geben soll, noch nicht in den Fingern hatte. Waren schon so drauf ;) Ich wusste das auch erst nicht und habe fürs Testprogramm brav die Farbzuordnung aus dem Datenblatt genommen und dann waren die Farben falsch. Code angepasst und die Farben waren richtigrum, also RGB. Hat mich 2h mit dem Logikanalyser gekostet... Zwei Sachen sind mir dabei noch aufgefallen: - Wenn das Timing zu strikt an den 1250ns kratzt, flackern manche LED's und es kommen nicht immer die Daten bis zu allen. Scheinbar takten manche etwas langsamer und verschlucken dann bits. 1350ns läuft wie ein Uhrwerk. (mehr 0-Zeit eingefügt) - Wenn zuviele LED's leuchten und die Spannung einbricht, dann reicht es noch zum leuchten, aber nicht mehr dazu, neue Daten entgegenzunehmen. Man kann die LED's also nicht wieder auf Schwarz stellen. Besonders krass bei Rot. Das mit dem 'hängenbleiben' habe ich leider auch bei einer der Animationen, Ich weiss nur nicht bei welcher. Bisher ist aber auch nur eine Spannungsversorgung an der Matrix (zum testen), da kommen die anderen auch noch dran. btw. ich hab hier noch 200 WS2812 auf der Rolle (also einzel-led's). Falls jemand Interesse hat: Ich verbastel die jetzt doch nicht mehr....
Hallo Frank, ich brauche mal einen Tipp von dir zur Anpassung der angezeigten Uhrzeiten. Auch ich habe je ein eigenes Design für die Uhrenoberfläche in Verwendung. Und nachdem die Uhr bei mir schon 2 Wochen lang läuft, ist mir aufgefallen, dass ich ganz vergessen habe bestimmte Uhrzeiten zu benutzten, die meine Einteilung eigentlich kann. Genauer geht es um Uhrzeiten wie Viertel vor, Halb und Viertel nach. Für die Anpassung habe ich bislang in der Tables.c die Positionen meiner Wörter angepasst und dann den Modus
1 | MM_9, HM_5, "hh und mm (12)" |
für meine Einteilung umgestrickt. Läuft soweit, nur habe ich halt anstelle von Viertel vor jetzt in der Anzeige "und fünfzehn Minuten" drin. Wenn ich nun in diesem MM9_HM5 Modus einfach "Halb" und dergleichen Eintrage passt es natürlich nicht, denn in diesen Fällen muss ja nur die Stunde angezeigt werden und je nach Uhrzeit auch mal eine Stunde drauf addiert werden damit aus "Es ist 3 Uhr und 45 Minuten" "Es ist halb vier" wird. Mangels fehlender Matrixengröße konnte ich mir noch nicht anschauen, ob es einen Modus gibt, der generell diese Offsets schon unterstützt. Ich würde aber mal Wetten das du sowas schon eingebaut hattest. Daher nun endlich zu meiner Frage: Wie setzt du in der Software die anzuzeigenden Wörter überhaupt zusammen? Ich versuche gerade zu verstehen, was deine Funktion "display_clock" tut und bin mir noch nicht einmal sicher, dass ich überhaupt an der richtigen Stelle suche. Vielleicht geht es aber auch einfacher wenn einen anderen Modus anpassen würde??? Von daher bräuchte ich einmal dein Feedback wie ich meine Sonderlocke am schönsten umsetzen kann. Gruß und Dank, Chris Nachtrag: Vielleicht habe ich gerade sogar noch eine Unstimmigkeit im Code gefunden. Der Modus der meinen Bedürfnissen am nächsten zu scheinen kommt ist der Ossi Modus. Da sind zumindest schonmal meine Schlagwörter "Viertel Vor, Halb und Viertel nach" in der Beschreibung drin. Schaue ich in die Zuordnung vom MM Mode 3 steht da allerdings.
1 | // tbl_minutes[2][] = Mode 3 OSSI - MM MINUTEN NACH (VIERTEL NACH, HALB, VIERTEL VOR)
|
2 | .
|
3 | .
|
4 | .
|
5 | {0,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 13. Minute in Mode MM_3 |
6 | {0,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 14. Minute in Mode MM_3 |
7 | {1,{WP_VIERTEL_1}}, // 15. Minute in Mode MM_3 |
8 | {0,{WP_SECH_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 16. Minute in Mode MM_3 |
9 | |
10 | .
|
11 | .
|
12 | .
|
13 | {1,{WP_EINE_1, WP_MINUTEN_1, WP_VOR_1, WP_HALB}}, // 29. Minute in Mode MM_3 |
14 | {1,{WP_HALB}}, // 30. Minute in Mode MM_3 |
15 | {1,{WP_EINE_1, WP_MINUTE_1, WP_NACH_1, WP_HALB}}, // 31. Minute in Mode MM_3 |
16 | |
17 | .
|
18 | .
|
19 | .
|
20 | {1,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1, WP_HALB}}, // 43. Minute in Mode MM_3 |
21 | {1,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1, WP_HALB}}, // 44. Minute in Mode MM_3 |
22 | {1,{WP_DREIVIERTEL}}, // 45. Minute in Mode MM_3 |
23 | {1,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_VOR_1}}, // 46. Minute in Mode MM_3 |
24 | {1,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_VOR_1}}, |
müsst das nicht nach der Logik dann eigentlich heißen
1 | // tbl_minutes[2][] = Mode 3 OSSI - MM MINUTEN NACH (VIERTEL NACH, HALB, VIERTEL VOR)
|
2 | .
|
3 | .
|
4 | .
|
5 | {0,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 13. Minute in Mode MM_3 |
6 | {0,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 14. Minute in Mode MM_3 |
7 | {1,{WP_VIERTEL_1,WP_NACH_1}}, // 15. Minute in Mode MM_3 |
8 | {0,{WP_SECH_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1}}, // 16. Minute in Mode MM_3 |
9 | |
10 | .
|
11 | .
|
12 | .
|
13 | {1,{WP_EINE_1, WP_MINUTEN_1, WP_VOR_1, WP_HALB}}, // 29. Minute in Mode MM_3 |
14 | {1,{WP_HALB}}, // 30. Minute in Mode MM_3 |
15 | {1,{WP_EINE_1, WP_MINUTE_1, WP_NACH_1, WP_HALB}}, // 31. Minute in Mode MM_3 |
16 | |
17 | .
|
18 | .
|
19 | .
|
20 | {1,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1, WP_HALB}}, // 43. Minute in Mode MM_3 |
21 | {1,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_NACH_1, WP_HALB}}, // 44. Minute in Mode MM_3 |
22 | {1,{WP_DREIVIERTEL, WP_VOR_1}}, // 45. Minute in Mode MM_3 |
23 | {1,{WP_VIER_1, WP_ZEHN_1, WP_MINUTEN_1, WP_VOR_1}}, // 46. Minute in Mode MM_3 |
24 | {1,{WP_DREI_1, WP_ZEHN_1, WP_MINUTEN_1, WP_VOR_1}}, |
sonst verstehe ich wohl einfach nicht den Trick, mit dem aus Dreiviertel in dem Modus plötzlich Viertel vor auf der Anzeige werden müsste.
Enrico F. schrieb: > Da der F103 so extra dazugestrickt wurde ist es ein bisschen doof ein > generisches Makefile für alle Platformen zu basteln. > Wär das evtl möglich, das zu vereinheitlichen? Leider nein. Ich wollte zuerst alle STM32-Varianten in ein Projekt stopfen, aber da gab es Konflikte. Mir war aufgefallen, dass die Datei SPL/misc.c für STM32-F1xx und STM32-F4xx verschieden waren. Ob es lediglich Versionsunterschiede oder tatsächlich auch prozessorspezifische Unterschiede waren, konnte ich auf den ersten Blick nicht erkennen. Ich wollte aber das Risiko nicht eingehen und habe deshalb die Projekte dafür getrennt. > Waren schon so drauf ;) Ich wusste das auch erst nicht und habe fürs > Testprogramm brav die Farbzuordnung aus dem Datenblatt genommen und dann > waren die Farben falsch. Code angepasst und die Farben waren richtigrum, > also RGB. Hat mich 2h mit dem Logikanalyser gekostet... Dann sind es aber keine WS2812. > Zwei Sachen sind mir dabei noch aufgefallen: > - Wenn das Timing zu strikt an den 1250ns kratzt, flackern manche LED's > und es kommen nicht immer die Daten bis zu allen. Scheinbar takten > manche etwas langsamer und verschlucken dann bits. 1350ns läuft wie ein > Uhrwerk. (mehr 0-Zeit eingefügt) Das hört sich ebenso nicht nach WS2812 an, sondern eher nach der RGB-Variante der SK6812. Bisher ahbe ich diese nur für die RGBW-Variante implementiert. Ich werde das SK6812-Modul noch so aufbohren, dass mit einer Preprocessor-Einstellung auch die RGB-Variante der SK6812 unterstützt wird.
Chris K. schrieb: > Genauer geht es um > Uhrzeiten wie Viertel vor, Halb und Viertel nach. Schaue Dir bitte mal http://uclock.de an, da kann man sich direkt die einzelnen Modi anschauen und auch mit herumspielen. > Läuft soweit, nur habe ich halt > anstelle von Viertel vor jetzt in der Anzeige "und fünfzehn Minuten" > drin. > Mangels fehlender Matrixengröße konnte ich mir > noch nicht anschauen, ob es einen Modus gibt, der generell diese Offsets > schon unterstützt. Sowohl der Wessi- als auch der Schwaben-Modus unterstützen: viertel nach hh, halb hh+1, viertel vor hh+1 Der Ossi-Modus machts anders: viertel hh+1, halb hh+1, dreiviertel hh+1 Ich vermute mal, dass der Wessi- oder der Rhein-/Ruhr-Modus für Dich der richtige ist. Da gibt es da folgende Unterschiede: Rhein-/Ruhr Wessi zwanzig nach hh zehn vor halb hh+1 zwanzig vor hh+1 zehn nach halb hh+1 > Ich würde aber mal Wetten das du sowas schon > eingebaut hattest. Ja, siehe oben. Lies hh als die Aktuelle Stunde und hh+1 als die Kommende Stunde. > Wie setzt du in der Software die anzuzeigenden Wörter überhaupt > zusammen? Schauen wir uns dafür mal den Rhein-Ruhr-Modus an. In tables.c findest Du das (relativ kurze) Array tbl_modes[MODES_COUNT]. Für "Rhein/Ruhr" (ohne 12+) ist darin eingetragen: MM_5 (Minute Mode) und HM_1 (Hour Mode). HM_1 bestimmt die Stunden-Wörter, MM_5 die Wahl der Minuten-Wörter. Die Tabelle für die Stunden ist relativ trivial, deshalb will ich erst gar nicht darauf eingehen. Stürzen wir uns also auf den Minute Mode: In tbl_minutes[4][] = Mode 5 RHEIN/ RUHR findest Du dann u.a.:
1 | {0,{WP_VIERTEL_1, WP_NACH_1}}, // 15. Minute in Mode MM_5 |
2 | {0,{WP_ZWANZIG_1, WP_MINUTEN_1, WP_NACH_1}}, // 20. Minute in Mode MM_5 |
3 | {1,{WP_HALB}}, // 30. Minute in Mode MM_5 |
4 | {1,{WP_ZWANZIG_1, WP_MINUTEN_1, WP_VOR_1}}, // 40. Minute in Mode MM_5 |
5 | {1,{WP_VIERTEL_1, WP_VOR_1}}, // 45. Minute in Mode MM_5 |
Für die ersten beiden Zeiten (viertel nach, zwanzig nach) muss die aktuelle Stunde gezeigt werden, für die 3 nachfolgenden Zeilen (halb, zwanzig vor, viertel vor) muss die kommende Stunde gezeigt werden. Fällt Dir der Unterschied auf? Wenn nicht: Schau auf die erste Zahl in jeder Zeile: Das ist der Offset, der zur aktuellen Stunde aufaddiert wird. > Ich versuche gerade zu verstehen, was deine Funktion > "display_clock" tut und bin mir noch nicht einmal sicher, dass ich > überhaupt an der richtigen Stelle suche. Vielleicht geht es aber auch > einfacher wenn einen anderen Modus anpassen würde??? Wie ich oben schon schrieb: Wenn Du kein Ossi bist, schaue Dir Rhein-/Ruhr oder Wessi an. > Vielleicht habe ich gerade sogar noch eine Unstimmigkeit im Code > gefunden. Der Modus der meinen Bedürfnissen am nächsten zu scheinen > kommt ist der Ossi Modus. Ist er bestimmt nicht, denn Du hast die Ossi-Zeitansage offenbar nicht richtig verstanden. Du schlägst da statt: > {1,{WP_DREIVIERTEL}}, nun: > {1,{WP_DREIVIERTEL, WP_VOR_1}}, vor. Und das ist falsch, denn der Ossi sagt um 13:15 Uhr: "Es ist viertel zwei" (also hier schon hh+1!) um 13:45 Uhr: "Es ist dreiviertel zwei" (ohne "vor"). Ich sehe da also keinen Fehler in den Ossi-Tabellen. > sonst verstehe ich wohl einfach nicht den Trick, mit dem aus Dreiviertel > in dem Modus plötzlich Viertel vor auf der Anzeige werden müsste. Ein Ossi sagt nicht "viertel vor hh+1", sondern "dreiviertel hh+1". Wie gesagt: Studiere den Rhein-/Ruhr- oder Wessi-Modus - je nachdem, aus welcher Gegend Du kommst. P.S. Der Schwaben-Modus ist ein Mischmasch aus Ossi- und Rhein-Ruhr-Modus. Die Viertelstunden sind gleich (also viertel hh+1, dreiviertel hh+1), aber um hh:20 und hh:40 sagt der Schwabe "zwanzig nach hh", "zwanzig vor hh+1" statt "zehn vor halb hh+1" und "zehn nach halb hh+1". Ich hoffe, damit sind nun alle Klarheiten beseitigt :-) P.P.S Als Kölner benutze ich natürlich den Rhein-Ruhr-Modus ;-)
:
Bearbeitet durch Moderator
Hallo Frank, vielen Dank für die schnelle Antwort. Mit den Infos kann ich mir jetzt bestimmt was zusammen basteln. Deine Software ist und bleibt einfach spitze und wie schon zuvor ziehe ich wieder meinen Hut vor deiner Arbeit. Wenn ich mal in Köln sein sollte, komme ich definitiv mit einem Kasten ordentlichen Bieres bei dir vorbei ;) Gruß Chris
Chris K. schrieb: > vielen Dank für die schnelle Antwort. Mit den Infos kann ich mir jetzt > bestimmt was zusammen basteln. Prima. > Deine Software ist und bleibt einfach > spitze und wie schon zuvor ziehe ich wieder meinen Hut vor deiner > Arbeit. Der Fairness halber muss ich dazu sagen, dass die tables-Datenstruktur nicht allein von mir entwickelt wurde, sondern durch Zusammenarbeit im Vorgänger-Thread Beitrag "Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?" entstand. Maßgeblich an der Entwicklung der Uhrzeittabellen waren Herbert P. und Torsten C. im Vorgängerprojekt beteiligt. Der Rest des Sources ist allerdings komplett von mir. > Wenn ich mal in Köln sein sollte, komme ich definitiv mit einem > Kasten ordentlichen Bieres bei dir vorbei ;) Also mit Kölsch? Jederzeit sehr gern ;)
:
Bearbeitet durch Moderator
Frank, wenn ich nicht genau wüsste das man Pipi nicht trinken soll.... ES MUSS KÖLSCH SEIN!!!! Ich sagte ich komme mit ordentlichen Bier vorbei. Zum Beispiel Augustiner Edelstoff, einem leckeren Mönchshof oder gleich was aus der Biermanufakur Riegele. Also Prost auf dich!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.