Forum: Projekte & Code WordClock mit WS2812


von Daniel K. (granturismo)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Chris K. (Gast)


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Günter H. (gnter_h534)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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.

von Daniel K. (granturismo)


Lesenswert?

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

von Niels J. (niels)


Lesenswert?

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.

von Torsten G. (wawibu)


Lesenswert?

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
von Niels J. (niels)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Torsten G. (wawibu)


Lesenswert?

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
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Torsten G. (wawibu)


Lesenswert?

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 !

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Torsten G. schrieb:
> Funktioniert !

Danke :-)

von Chris (Gast)


Lesenswert?

Ja kann ich ebenfalls bestätigen.

von roman (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Thomas H. (supergrobi)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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?

von roman (Gast)


Lesenswert?

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.

von Enrico F. (0xef)


Lesenswert?

Gibt es eigentlich noch shields für das stm32 MiniDevBoard?
Ich würde gern eins kaufen.

0xEF

von Chris (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Torsten G. (wawibu)


Lesenswert?

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

von Ovapria (Gast)


Lesenswert?

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?

von Chris K. (Gast)


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

Alles klar, kriege ich hin.

von Daniel K. (granturismo)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Daniel K. (granturismo)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

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

von Bernhard S. (b_sa)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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
von Marco (Gast)


Lesenswert?

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;
}

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Marco (Gast)


Lesenswert?

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;
}

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Werner A. (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Achim G. (achim_g)


Angehängte Dateien:

Lesenswert?

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)

von Thomas B. (dnw)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Achim G. (achim_g)


Lesenswert?

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
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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?

von Achim G. (achim_g)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Chris (Gast)


Lesenswert?

Danke Frank!

von Achim G. (achim_g)


Lesenswert?

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

von Martin C. (mclausen)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Marco R. (majestick)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Thomas B. (dnw)


Lesenswert?

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

von Marco R. (majestick)


Lesenswert?

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

von Achim G. (achim_g)


Lesenswert?

Karnevals-Modus ist für mich ein nice-to-have, aber auch nicht mehr.

von Gerhard B. (bana56)


Lesenswert?

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

von Nicola J. (128er)


Angehängte Dateien:

Lesenswert?

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
von Werner A. (homebrew)


Lesenswert?

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!!!

von Bernhard S. (b_sa)


Lesenswert?

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.

von Klaus H. (khilei)


Lesenswert?

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!

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

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

von Klaus H. (khilei)


Lesenswert?

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

von Chris K. (Gast)


Angehängte Dateien:

Lesenswert?

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€

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Dario C. (dario) Benutzerseite


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Dario C. schrieb:
> BTW: Wohin soll man die Fehlermeldung und Wünsche posten?

Am besten hier, dafür ist der Thread ja gedacht :-)

von Burkhard D. (burkadius)


Lesenswert?

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

von Klaus H. (khilei)


Lesenswert?

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
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Daniel K. (granturismo)


Angehängte Dateien:

Lesenswert?

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

von Chris (Gast)


Lesenswert?

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.

von X. O. (Gast)


Lesenswert?

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.

von Daniel K. (granturismo)


Lesenswert?

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

von Chris K. (Gast)


Lesenswert?

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.

von Klaus H. (khilei)


Lesenswert?

Danke dir Chris, dann werd ich mal einen bestellen!

von Dario C. (dario) Benutzerseite


Lesenswert?

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?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von X. O. (overflow)


Lesenswert?

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
von Niels J. (niels)


Angehängte Dateien:

Lesenswert?

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

von Burkhard D. (burkadius)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Burkhard D. (burkadius)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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?

von Burkhard D. (burkadius)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Bernhard S. (b_sa)


Lesenswert?

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
von Burkhard D. (burkadius)


Angehängte Dateien:

Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Burkhard D. (burkadius)


Lesenswert?

Hallo Frank, also ich benutze diese .hex Version:
WC12h Version
2.2.0 STM32F103-Board vom 17.09.
Gruß
Burkhard

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Daniel K. (granturismo)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Burkhard D. (burkadius)


Lesenswert?

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

von RCler (Gast)


Lesenswert?

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.

von Torsten G. (wawibu)


Lesenswert?

Update zur Sammelbestellung: ich bin jetzt gerade an der Mindestmenge 
angekommen und habe daher das Zeitfenster um eine Woche nach hinten 
verschoben.

Gruß,
Torsten

von Peter G. (ingrimsch)


Lesenswert?

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
von Marco R. (majestick)


Lesenswert?

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

von Werner A. (Gast)


Lesenswert?

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!

von Volker R. (pcl86)


Lesenswert?

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

von Philipp E. (boondock2010)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Chris K. (Gast)


Lesenswert?


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hallo zusammen,

Ich bin gerade für ein paar Tage unterwegs und werde mich voraussichlich 
übermorgen zu allen aufgelaufenen Fragen melden.

Gruß,

Frank

von Philipp E. (boondock2010)


Lesenswert?

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

von Chris K. (Gast)


Lesenswert?

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.

von Philipp E. (boondock2010)


Lesenswert?

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.

von Bernhard S. (b_sa)


Lesenswert?

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

von Philipp E. (boondock2010)


Lesenswert?

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

von Achim G. (achim_g)


Lesenswert?

Philipp E. schrieb:
> Nutze ich dann das USB des Miniboards für irgendwas?

Nein.

von Torsten G. (wawibu)


Lesenswert?

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

von Werner A. (Gast)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

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.

von Marco R. (majestick)


Lesenswert?

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

von Klaus H. (khilei)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Chris K. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Tom (Gast)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

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.

von Thomas B. (dnw)


Lesenswert?

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

von Chris K. (Gast)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

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

von RCler (Gast)


Lesenswert?

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.

von Günter H. (gnter_h534)


Lesenswert?

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

von Klaus H. (khilei)


Lesenswert?

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

von Torsten G. (wawibu)


Lesenswert?

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

von Lindwurm (Gast)


Lesenswert?

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)

von Günter H. (gnter_h534)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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
von Thomas B. (dnw)


Lesenswert?

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

von Lindwurm (Gast)


Lesenswert?

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)

von Günter H. (gnter_h534)


Lesenswert?

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

von Michael K. (damichl)


Lesenswert?

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

von Klaus H. (khilei)


Lesenswert?

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

von Thomas B. (dnw)


Angehängte Dateien:

Lesenswert?

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
von Thomas B. (dnw)


Lesenswert?

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
von Lindwurm (Gast)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Torsten G. (wawibu)


Angehängte Dateien:

Lesenswert?

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

von Christian S. (lindwurm)


Lesenswert?

Danke Thomas!
lg
Christian

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Christian S. (lindwurm)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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
von Thomas B. (dnw)


Angehängte Dateien:

Lesenswert?

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
von Dario C. (dario) Benutzerseite


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Michael K. (damichl)


Lesenswert?

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!

von Günter H. (gnter_h534)


Lesenswert?

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

von Daniel K. (granturismo)


Lesenswert?

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
von Thomas B. (dnw)


Lesenswert?

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
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Michael K. (damichl)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

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.

von Werner A. (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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?

von Bernhard S. (b_sa)


Lesenswert?

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.

von Bernhard S. (b_sa)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Bernhard S. (b_sa)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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

von Thomas B. (dnw)


Lesenswert?

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
von Günter H. (gnter_h534)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Chris (Gast)


Lesenswert?

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.

von Thomas B. (dnw)


Lesenswert?

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
von Chris K. (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Chris (Gast)


Lesenswert?

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

von 0xef (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Enrico F. (0xef)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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
von Chris (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.