Typischer Fall von zu früh gefreut. Das Bier muss noch warten. Bei genauerer Betrachtung scheint es meine Art der Zeitangabe in der Wortuhr überhaupt noch nicht zu geben. Die meisten Uhrzeiten setzten sich nach folgenden Schema zusammen: Es ist Drei Uhr und Sechs und Vizerig Minuten Zur vollen Stunde ist es - na klar - Ein Uhr, Zwei Uhr usw. 15 Minuten später sollte die Anzeige lauten Es ist viertel nach Drei weitere 15 Minuten drauf und wir haben Es ist halb Vier nochmal 15 Minuten später ist es dann Es ist viertel vor Vier Sprich bei 30 und 45 Minuten muss die aktuelle Stunde jeweils um 1 inkrementiert werden. Das klappt mit dem Flag vorne in der Tabelle. Problem, für die 3 Spezialfälle darf das "Uhr" nach der Stundenangabe nicht angezeigt werden. Sonst hieße es ja plötzlich "Es ist viertel nach Drei Uhr". Klingt irgendwie nicht richtig. Das zweite Problem ist in meiner Aufteilung. Die Stundenenzeige gibt es quasi zwei mal. Einmal vor den Textzeilen mit viertel, halb, nach und einmal danach. Bei den drei Sonderfällen muss, damit die Leseart wieder stimmt, also eigentlich die Stunde aus der zweiten Hälfe dargestellt werden, denn sonst ließt man "Es ist drei Uhr halb". Argh. Nun knobel ich an der Umsetzung. Der erste Gedanke war die Tabellen um ein weiteres Flag zu ergänzen, dass mir anzeigt ob ich denn "Uhr" nun ausblenden soll oder nicht. Dann bin ich drauf gekommen, dass es vielleicht besser sein könnte gleich auf die Minuten zu prüfen und bei 15 || 30 || 45 das "Uhr" auszublenden und dabei auch gleich die Stundenanzeige aus einer anderen Tabelle zu laden. Knackpunkt ich krige nicht genau raus wie der letzten Endes anzuzeigende Text zusammen gesetzt wird. Die einzige Funktion die ich momentan dafür in betracht ziehe ist die display_clock Funktion. Nur setzt es da bei mir aus zu verstehen, wie die Uhrzeit konkret zusammengesetzt wird. Wenn ich das auch nur halbwegs richtig verstehe gibt es innerhalb der Funktion zwei Schleifen. Die erste läuft durch die Tabelle für die Minuten die zweite durch die Tabelle für die Stunden, die dem aktuell eingestellten Modus entsprechen. Dabei wird scheinbar auf ein Flag geprüft und falls dieses gesetzt ist, wird dann ein Flag im Array Words gesetzt. Was dann wiederrum dargestellt wird. Help please °_°
Chris K. schrieb: > Es ist Drei Uhr und Sechs und Vizerig Minuten > Es ist viertel vor Vier Ist das Dein Ernst? Du willst lediglich die Viertelstunden anders ausgeben und sonst immer die voll "ausgesprochenen" Minuten? Wer spricht denn so? Entweder lese ich alles "digital" vor (also fünf und vierzig) oder ich kürze ab: "viertel vor", "zehn vor", "fünf vor". Dein Vorhaben klingt etwas inkonsequent. Und deshalb bekommst Du Probleme mit den hour-Tabellen, denn diese setzen eine konsequente "Sprechweise" voraus. Aber okay: Bis auf die Viertelstunden entspricht Dein Vorhaben dem Mode 2 (hh und mm (12)), siehe auch: http://uclock.de/?x=2&h=6&m=32 (06:32) http://uclock.de/?x=2&h=6&m=50 (06:50) Aber: http://uclock.de/?x=2&h=6&m=45 (06:45) Hier (und für xx:15 und xx:30) müsste dann die Viertel-Anzeige rein. Dann passt der hour-Mode aber nicht und Du müsstest den in display_clock() ad hoc wechseln für diese Spezialfälle. Igitt. ;-) > Problem, für die 3 Spezialfälle darf das "Uhr" nach der Stundenangabe > nicht angezeigt werden. Sonst hieße es ja plötzlich "Es ist viertel nach > Drei Uhr". Klingt irgendwie nicht richtig. Jepp. Dieses Problem gibt es tatsächlich, wenn das "Uhr" an bestimmten Stellen unterdrückt werden soll aber sonst immer gezeigt werden muss. Du könntest im Source an diesen Stellen das Wort UHR wieder wegblenden, indem Du das Flag wieder zurücksetzt. Oder die Hour-Tabelle wechseln, siehe oben. Eine weitere (und vermutlich die beste) Möglichkeit wäre vielleicht, die Steuerung des Wortes "UHR" in die Minute-Tabellen zu verlagern. Habe ich aber aus Faulheit nie getestet, sollte aber klappen und wäre absolut sauber formuliert. Also "WP_UHR_x" raus aus tbl_hours[] und rein in tbl_minutes[]. > Das zweite Problem ist in > meiner Aufteilung. Die Stundenenzeige gibt es quasi zwei mal. Einmal vor > den Textzeilen mit viertel, halb, nach und einmal danach. Bei den drei > Sonderfällen muss, damit die Leseart wieder stimmt, also eigentlich die > Stunde aus der zweiten Hälfe dargestellt werden, denn sonst ließt man > "Es ist drei Uhr halb". Argh. Ja, deshalb haben die doppelt vorkommenden Wörter auch einen Index, wie z.B. WP_FUENF_2 als zweite Fünf auf dem Display. Die erste Fünf heisst WP_FUENF_1. Diese Indices findest Du dann auch wieder in den entsprechenden Tabellen. > Nun knobel ich an der Umsetzung. Meine erste Frage an Dich wäre: Kann Dein exotisches Display mit 16x16-Matrix das überhaupt? Hast Du für alle erdenklichen Kombinationen auch die erforderlichen Wortzusammensetzungen? Immerhin fehlen Dir gegenüber der 16x18-Standard-Matrix 32 Buchstaben. Und bei letzterer ist das System schon ziemlich ausgetüftelt. Da wurde monatelang dran rumgeschraubt, bis das alles passte. Wenn Dein 16x16-Display das auch alles kann, dann gibt es auch eine Lösung dafür. > Der erste Gedanke war die Tabellen um > ein weiteres Flag zu ergänzen, dass mir anzeigt ob ich denn "Uhr" nun > ausblenden soll oder nicht. Dann bin ich drauf gekommen, dass es > vielleicht besser sein könnte gleich auf die Minuten zu prüfen und bei > 15 || 30 || 45 das "Uhr" auszublenden und dabei auch gleich die > Stundenanzeige aus einer anderen Tabelle zu laden. Entweder so, oder das Wort "Uhr" wieder wegzublenden durch Zurücksetzen des Flags siehe oben. > Knackpunkt ich krige nicht genau raus wie der letzten Endes anzuzeigende > Text zusammen gesetzt wird. Die einzige Funktion die ich momentan dafür > in betracht ziehe ist die display_clock Funktion. Die reicht auch. > Nur setzt es da bei > mir aus zu verstehen, wie die Uhrzeit konkret zusammengesetzt wird. Es werden anhand der hour- und der minute-Tabellen einfach die entsprechenden Flags gesetzt, welches Wort leuchten soll. Die Reihenfolge, ob "Uhr" hinten oder vorne gezeigt werden soll, ergibt sich aus der Wahl des Indices, also WP_UHR_1, WP_UHR_2 usw. Wenn Du das Wort "UHR" aber nur einmal auf dem Display hast, bist Du aufgeschmissen. > Wenn > ich das auch nur halbwegs richtig verstehe gibt es innerhalb der > Funktion zwei Schleifen. Die erste läuft durch die Tabelle für die > Minuten die zweite durch die Tabelle für die Stunden, die dem aktuell > eingestellten Modus entsprechen. Dabei wird scheinbar auf ein Flag > geprüft und falls dieses gesetzt ist, wird dann ein Flag im Array Words > gesetzt. Was dann wiederrum dargestellt wird. Das ist soweit korrekt. Wahrscheinlich hast Du aber übersehen, dass viele Wörter doppelt existieren und da gezielt die Zahlen über den Index gewählt werden, um sie vorne oder hinten in der "Uhrzeitansage" einzutragen.
:
Bearbeitet durch Moderator
Hallo Frank, alles schon gelöst. Uhr läuft jetzt so wie sie soll. Ist zwar keine schöne Umsetztung, aber für meine Spezialmatrix reicht es. Die ganzen Sprachbesonderheiten kann ich sowieso nicht abbilden, von daher konnte ich daran ordentlich rumfuschen. Lösung ist jetzt wie folgt. Den Stunden Offset für die Fälle "halb" und "viertel vor" gab es ja schon. Blieb noch das Problem mit dem überschüssigen Uhr und der Tatsache, dass man halt die zweite Position von Drei, Fünf usw. braucht. Nach einer Nacht drüber schlafen ist mir aufgefallen, dass sich diese beiden Probleme ja kombinieren lassen. Im Wessi Modus steht in der Tabelle für alle "normalen" Uhrzeiten die Stunde + das Wort Uhr in der Tabelle. Ich habe jetzt noch eine Tabelle mit neuen Stunden ergänzt wo einfach die zweite Position der Stundenangaben ohne das zusätzliche Uhr drin steht. Danach musste ich für meine 3 Sonderfälle die Ausgabe der Uhrzeit nur auf diese neue Tabelle umrouten. Dazu folgende Ergänzung in der display_clock Funktion
1 | if(((hour_mode == 1 && minute_mode ==7) && (minute == 15 || minute == 30 || minute ==45)) hour_mode = indexneuetabelle; |
damit wir in meinen Sonderfälle die Lookup Table für die Stundenanzeige umgemappt und die Anzeige passt zu unserer Art der Uhrzeitansage. Durch die zusätzliche Abfrage auf den Wessi Modus und die zusätzliche Tabelle sind die anderen Modi davon sogar unberührt. Gruß Chris
Hallo Frank, ein großes Lob an dich und vielen Dank für deine Arbeit! Das ist ein super Projekt. Meine Uhr ist zwar leider immer noch nicht fertig, da vieles dazwischen gekommen ist, aber ich verfolge diesen Thread und freue mich über die ganzen Erweiterungen. Ich hätte einen Vorschlag für eine Erweiterung und zwar die Integration in SmartHome Projekte als Anzeige/Ambilight/Uhr. Konkret kommt bei mir bald eine HomeMatic Zentrale CCU2 zum Einsatz, OpenHAB wäre aber auch denkbar, da vielleicht universeller. Vermutlich können aber viele/alle Systeme einen Link aufrufen und vielleicht könnte man das darüber realisieren. Also z.B. für einen Lauftext einen Linkaufruf an die Uhr schicken mit dem Text und weiteren Parametern wie Größe, Farbe, Scrollgeschwindigkeit, Anzeigedauer. Das ließe sich für viele Funktionen einbauen. Piktogramme anzeigen, zwischen verschiedenen Animationen wechseln, das Wetter anzeigen, das Ambilight oder das ganze Display in ein Beleuchtungskonzept einbinden. Interessant wäre die Matrix als Anzeige/Beleuchtung, das Ambilight als Beleuchtung und bestimmte Konfigurationsvariablen der Uhr von außen kontrollieren. Zusammen mit einem Tongeber wäre die Uhr so eine super Anzeige für ein SmartHome System. Das ist alles vermutlich viel Aufwand, aber könnte ganz interessant sein und ließe sich ja auch schrittweise erweitern. Z.B. zuerst nur Texte anzeigen und Ambilight/Uhrfarbe steuern, sowie die Zeitsteuerung mit einer Leaving Home Variable übersteuern und mit Coming Home wieder aktivieren. Das wäre eine super Erweiterung meiner Meinung nach. Was meinst du dazu? Gruß Bernd
Hallo WordClock Freunde, Ich habe mir vor einigen Jahren mit eurer Hilfe die erste Version der WordClock gebaut und ich habe sie heute noch. Sie funktioniert bis jetzt tadellos und ich muss sagen ich liebe sie. Vielen Dank nochmal an das gesamte Forum! Durch Zufall bin ich nun im Netz auf eine andere, sehr beeindruckende Uhr gestoßen welche es nicht zu kaufen gibt. Da ist mir natürlich sofort das Microcontroller Forum eingefallen und ich wollte euch hier mal fragen, ob die folgende Uhr hier in einem Gemeinschaftsprojekt, wie es bei der bei der WordClock der Fall ist, machbar wäre. Link: https://youtu.be/FNxiFOUKpZ4 Was meint ihr? Sorry, ich weiß, dass dieser Post in diesem Thread etwas off topic ist, aber dieser Thread ist der aktuellste Uhrenthread und ich wollte keinen neuen aufmachen. Liebe Grüße Roland
Hallo Roland, die Uhr wurde hier schon diskutiert: Beitrag "Uhr wie im Ham Yard Hotel in London" mfg bana
Hallo Gerhard, Vielen Dank für den Link und nochmal sorry für den off-topic post. LG Roland
Hi Frank I have a request to you. As you will have some free time, insert a piece of code to display the temperature digital clock in the 24h (my matrix is 18x18) as it is in the clock 12h.
Hallo Zusammen Da ich nun schon sehr lange hier mitlese, möchte ich mich auch mal in die Diskussion einbringen. Zuallerst möchte ich mich bei allen bedanken die hier mithelfen dieses coole Projekt so voranzutreiben,vorallem Frank der sehr viele Stunden investiert. Ich habe schon länger so eine Wortuhr mit den WS2812 Stripes gebaut, auf die ich damals in deutschen Arduino-Forum gestossen bin. Alles hat nach meiner Zufriedenheit funktioniert und sah auch gut aus. Da aber dieses Projekt nicht mal Ansatzweise konnte was dieses Projekt kann machte ich mich an ein Update. Ich möchte jetzt euch schnell meine Ideen mitgeben ,vielleicht kann Sie jemand auch gebrauchen. Grundplatte: bei meine Uhr habe ich alle Stripes (30 Led per m) auf eine grosse Aluplatte aufgeklebt. Auf meiner CNC habe ich dafür die Positionen der Stripes und Kabel eingeritzt und somit kann ich sichergehen dass auch bei voller Lichtausbeute genügend Wärme abgeführt wird. Zwischenplatte: Die Zwischenplatte habe ich wiederum auf der CNC beidseitig gefräst.Hinten sind alle Stripes und Kabel geordnet und Vorne sind die Buchstabenlöcher. Die Aluplatte wird einfach draufgeschraubt. Ambilight: Als ich von dem Ambilight gelesen habe war ich sofort begeistert. Leider hatte war es aber so das die Stripes-Längen natürlich nicht passten.Da ich meine Uhr mit Kantenlänge 450mm aussen (Plexi) und 410mm Zwischenboden angefertig habe, galt es auf den Umfang von 4 mal 410mm also 1640 mm 60 Leds schön geometrisch zu verteilen.Da ich kein Freund von Sonderanfertigungen bin konnte ich den Umfang durch abrunden der Ecken auf genau 1600mm reduzieren.Nun war es also möglich mit diese 1600mm Umfang in 4 Stripes a 300mm mit 30 Led per m (9 Leds) und nochmals 4 Stripes a 100mm mit 60 Leds per m (6 Leds) aufzuteilen.So hatte ich 60 Led auf 1600mm und an den Ecken sehen die engeren Abstände erst noch gut aus da der Sektor den sie Beleuchten aufgrund des Radius grösser ist.Einwenig schwierig geschrieben aber das Fotos sagt alles aus.Auch die Ambilights sind auf einem Alustreifen appliziert um die Wärme zu verteilen. Frontplatte: Als Frontplatte hatte ich mir Plexiglas vorgestellt.Da ich eine ganz edle Uhr bauen wollte die Vorne ganz flach ist habe ich eine schwarze und eine opal-weisse Plexiglas-Platte aufeindergeklebt.Die Buchstaben habe ich dann von hinten durch die schwarze Platte durchgefräst.Warscheinlich wird es die einzige solche Frontplatte bleiben da der Aufwand enorm ist und die Leuchtkraft nur mässig.Auch die Konturen leiden bei nahem Betrachten was ich aber schon vorher wusste.Die Befestigung erfolgte mit 5 kleinen Magneten welche jeweils in den Ecken und einer in der Mitte ist.Als Magnete habe ich 10mm Durchmesser bei 2mm Dicke genommen was sich gut bewärt hat.Die Minutenpunkete sind alle Oben in einer Reihe angeordnet. Geschrieben ist die Uhr in Schweizer Mundart was alle total der Brüller finden.Das Programm musste ich dafür anpassen. Steuerung: Ich habe die Steuerung auf eine einseitige Platine aufgebaut. Auf der Oberseite braucht es etwa 6 Drahtbrücken und somit kann ich alles was Ich brauche auf 160x25mm unterbringen.Ich habe die Datei als DXF angehängt falls auch jemand sich eine Platine fräsen möchte. Auf der Platine habe den Temperatursensor und den LDR nach aussen geführt.Die jeweiligen Wiederstände müssten sich aber am Kabel befinden das ich keinen Platz mer hatte auf der Platine.Für die 3.3 V habe ich einen Mini360 Stepdown Regler eingesetzt. Freundliche Grüsse Thomas
Hallo Frank, ich habe heute festgestellt, dass bei mir die Auswertung des DCF-Signals nicht mehr funktioniert. Die "Störung" des DCF-Signals entsteht durch das Auslesen der Temperatur (DS18xx) in der Sekunde 50. Die DCF-Logik kommt dabei aus dem Takt und bekommt keine volle Minute mehr zusammen. Ich habe vor 3 Wochen von 2.0.2 auf 2.2.0 (WC12h / STM32F10X) gewechselt - ich gehe mal davon aus, dass der Fehler dabei rein gekommen ist. Die RTC funktioniert so gut, dass mir das bisher nicht aufgefallen ist. Erst heute mit der Zeitumstellung .... mfg Ralf
Hallo Ralf, Ralf H. schrieb: > Die "Störung" des DCF-Signals entsteht durch das Auslesen der Temperatur > (DS18xx) in der Sekunde 50. Die DCF-Logik kommt dabei aus dem Takt und > bekommt keine volle Minute mehr zusammen. Blöd. Offenbar dauert der Block
1 | if (ds18xx.is_up) |
2 | {
|
3 | short_isr = 1; |
4 | ds18xx_temperature_index = temp_read_temp_index (); |
5 | short_isr = 0; |
6 | log_printf ("DS18xxx temperature: %d%s\r\n", ds18xx_temperature_index / 2, (ds18xx_temperature_index % 2) ? ".5" : ""); |
7 | var_send_ds18xx_temp_index (); |
8 | }
|
in main.c zu lange, so dass der Aufruf von dcf77_tick() alle 10msec jittert. Ich hätte da folgende Idee, die Du mal ausprobieren könntest: 1. dcf77_tick() direkt aus TIM2_IRQHandler() - main.c - aufrufen Alt:
1 | if (dcf77_cnt == F_INTERRUPTS / 100) // set dcf77_flag every 1/100 of a second |
2 | {
|
3 | dcf77_flag = 1; |
4 | dcf77_cnt = 0; |
5 | }
|
Neu:
1 | if (dcf77_cnt == F_INTERRUPTS / 100) // set dcf77_flag every 1/100 of a second |
2 | {
|
3 | dcf77_tick(); // call dcf77_tick() directly |
4 | dcf77_cnt = 0; |
5 | }
|
2. In dcf77.c die globalen static-Variablen auf volatile umstellen:
1 | static volatile uint_fast8_t time_is_valid = 0; |
2 | ...
|
3 | static volatile uint_fast8_t isdst; |
4 | static volatile uint_fast8_t minute; |
5 | static volatile uint_fast8_t hour; |
6 | static volatile uint_fast8_t wday; |
7 | static volatile uint_fast8_t mday; |
8 | static volatile uint_fast8_t month; |
9 | static volatile uint_fast16_t year; |
Man kann in main.c noch den Block
1 | if (dcf77_flag) |
2 | {
|
3 | dcf77_flag = 0; |
4 | dcf77_tick (); |
5 | }
|
auskommentieren. Ist aber für den Test nicht notwendig, da dcf77_flag nicht mehr gesetzt und damit dieser Block nicht mehr ausgeführt wird. Sollte die Änderung funktionieren, werde ich sie so fürs nächste Release übernehmen. Wenn das aber immer noch nicht reicht, dann kommentiere mal die Zeile
1 | short_isr = 1; |
vor
1 | ds18xx_temperature_index = temp_read_temp_index (); |
aus. Es könnte dann aber passieren, dass ab und zu mal das Lesen der Temperatur über OneWire fehlschlägt, wenn die ISR (in Langform) dazwischenhaut. Halte ich aber für nicht sooo tragisch.
:
Bearbeitet durch Moderator
Hallo Bei meiner Uhr (12 Stunden Version mit STM32F103-Board) macht die Temperaturanzeige Probleme.In der Web-Oberfläche sehe Ich die korrekte Temperatur von der DS3231 RTC.Ein DS18B20 ist nicht angeschlossen. Wenn ich dann den Button get Temperatur drücke zeigt mir die Uhr einfach eine 12 an welche sich dann wieder ausblendet.Ich habe es auch schon mit einem Offset Wert versucht was aber keine Abhilfe bringt. Entsteht der Fehler dadurch dass es gar nicht Vorgesehen ist nur die Temperatur der RTC anzuzeigen?Der DS18B20 wird korrekt als offline angezeigt. Freundliche Grüsse
Thomas G. schrieb: > Wenn ich dann den Button get Temperatur drücke zeigt mir die Uhr einfach > eine 12 an welche sich dann wieder ausblendet. Ja, der Fehler ist bekannt. Wird mit der nächsten Version (höchstwahrscheinlich kommt die morgen) behoben sein.
Hallo Frank, > Ich hätte da folgende Idee, die Du mal ausprobieren könntest: ... Die Änderung waren erfolgreich, allerdings war auch das erforderlich: > .., dann kommentiere mal die Zeile
1 | short_isr = 1; |
> aus. ...
Alternativ zu dieser Änderung könnte man aber auch den Block
1 | dcf77_cnt++; |
2 | |
3 | if (dcf77_cnt == F_INTERRUPTS / 100) // set dcf77_flag every 1/100 of a second |
4 | {
|
5 | dcf77_tick(); // call dcf77_tick() directly |
6 | dcf77_cnt = 0; |
7 | }
|
nochmal in "if (short_isr)" aufnehmen. So lasse ich das erstmal bei mir laufen. mfg Ralf
Bernd schrieb: > Das ist alles vermutlich viel Aufwand, aber könnte ganz interessant sein > und ließe sich ja auch schrittweise erweitern. Z.B. zuerst nur Texte > anzeigen und Ambilight/Uhrfarbe steuern, sowie die Zeitsteuerung mit > einer Leaving Home Variable übersteuern und mit Coming Home wieder > aktivieren. Das wäre eine super Erweiterung meiner Meinung nach. > Was meinst du dazu? Hallo Frank, es gab so gar keine Reaktion auf meine Idee in Beitrag "Re: WordClock mit WS2812". Ist ja vollkommen OK, wenn das nicht in Frage kommt. Dachte nur ich frage noch mal nach, ob das andere auch interessieren könnte und für dich umsetzbar wäre. Im Prinzip wäre die Ansteuerung ja unabhängig vom SmartHome System. Die Uhr müsste sich nur in bestimmten Dingen per Weblink ansteuern/konfigurieren lassen. Evtl. geht das für deine App sogar schon. Ob sich die Ansteuerung per Homemativ CCU dann so realisieren läßt, weiß ich aber ehrlich gesagt noch gar nicht. Für die CCu gibt es zumindest eine XML-API die die CCU per Weblink abfrag- und steuerbar macht. Gruß Bernd
Hallo Bernd, > es gab so gar keine Reaktion auf meine Idee in > Beitrag "Re: WordClock mit WS2812". Ist ja > vollkommen OK, wenn das nicht in Frage kommt. Es gibt 2 Erklärungen, wenn ich auf einen Beitrag nicht (sofort) reagiere: a) Ich habe ihn übersehen - kommt vor. b) Die Antwort erfordert wegen der Komplexität bzw. Themenvielfalt einen längeren Text, der Nachdenken & Zeit erfordert. Auf Deine Anfrage trifft der Teil b) zu. Ich habe im Moment dazu noch keine Meinung und muss mir das dafür notwendige Konzept erstmal auf der Zunge zergehen lassen. Ich stehe Deiner Anregung aber durchaus aufgeschlossen gegenüber. Einiges - wie die Anzeige des Lauftextes - geht jetzt schon über den entsprechenden Link. Die Anzeige eines speziellen Piktogramms, welches lediglich allein für Dich nur sinnvoll zusammen mit Deiner HomeMatic ist, klingt aber für mich zunächst einmal sehr exotisch. Ich nehme mal an, dass Du der einzige bist, der so eine "Zusammenarbeit" konkret zwischen Homematic und WordClock wünscht. Damit habe ich schon ein Problem: Eine Spezialarbeit für einen einzelnen Anwender werde ich gewiss nicht einfach so just for Fun für lau hinlegen. Denn davon habe ich und 99,9% aller anderen Anwender gar nichts. Daher überlege ich schon länger , wie man solche Möglichkeiten möglichst allgemein realisiert, also wie man z.B. diese speziellen Piktogramme ermöglicht, ohne sie fest in den Code zu integrieren. Sie benötigen nämlich Platz im Flash (Daten und Programmcode), den alle Anwender außer Dir zukünftig lieber für allgemeinere Dinge nutzen wollen. Man könnte es aber durchaus so realisieren, dass man z.B. solche speziellen Piktogramme at Runtime (d.h. nach dem Flash) auf die WordClock nachladen kann. Dafür muss aber ein allgemeines Konzept her. Dann können auch evtl. andere Anwender mit so einer Möglichkeit etwas anfangen - auch wenn sie keine Homematic haben. Aber vielleicht haben sie etwas anderes - oder bekommen dadurch Anregungen, etwas ganz neues zu entwickeln, wo die WordClock als Display dann eingesetzt wird. Dieses allgemeine Konzept habe ich aber zur Zeit nicht. Und es widerstrebt mir, eine "spezielle Auftragsarbeit" in die WordClock zu integrieren, von der ich (und andere) überhaupt nichts habe. Aber deshalb ist diese Sache trotzdem noch nicht vom Tisch. Ich sag mal so: Sie muss noch etwas reifen. Bist Du mit dieser Antwort erst einmal zufrieden? Lass mich bitte erstmal die Piktogramme für das Wetter einbauen. Dann können wir über spezielle Piktogramme ja gern reden. Aber bitte einen Schritt nach dem anderen. Wenn die Todo-Liste schneller wächst als die Liste der realisierten Punkte, dann wächst mir die Sache über den Kopf. Und das will ich nicht.
Hallo Frank, vielen Dank für die ausfürhliche Antwort. Ich wollte nicht drängeln, die Erklärung ist absolut nachvollziehbar für mich und es soll auch nicht in einem "Spezialauftrag" nur für mich enden. Piktogramme sind nicht so wichtig. Die Lauftexte sind universell und viel interessanter. Und die Lichtgeschichten (Dimmen, Farbwahl, Ambilight) sind halt vor allem im Zusammenhang mit Lichtszenarien interessant und dafür bietet sich eine Integration an. Die Ansteuerung sollte allgemein und systemunabhängig sein. Ich denke eine Link mit Parametern kann man von vielen Systemen aus aufrufen und es würde sogar ganz normal aus dem Browser funktionieren. Und wenn es niemanden sonst interessiert, dann vergiss es einfach. Also danke nochmal und weiter so! Thumbs Up! Gruß Bernd
Bernd schrieb: > Piktogramme sind nicht so wichtig. Wie gesagt: Wenn ich ein allgemeines Konzept dafür habe, beliebige Piktogramme anzeigen zu lassen, dann wirds auch interessant für dieses Projekt. Die sind also nicht vom Tisch. > Die Lauftexte sind universell und viel interessanter. Das sollte mit http://ip-der-wordclock/?action=saveticker&ticker=TEXT gehen, wobei TEXT der anzuzeigende Text ist. Leerstellen müssen evtl. mit %20 statt mit Blank eingefügt werden. Das musst Du mal ausprobieren, ob beide Varianten oder nur die mit %20 gehen. > Und die > Lichtgeschichten (Dimmen, Farbwahl, Ambilight) sind halt vor allem im > Zusammenhang mit Lichtszenarien interessant und dafür bietet sich eine > Integration an. Die Ansteuerung sollte allgemein und systemunabhängig > sein. Eigentlich kann man alles, was man per Webinterface einstellen kann, auch mit einer konkreten URL aufrufen. Sag einfach, was Du brauchst, dann nenne ich Dir den Direktlink dazu. > Ich denke eine Link mit Parametern kann man von vielen Systemen aus > aufrufen und es würde sogar ganz normal aus dem Browser funktionieren. Jepp. Gruß, Frank
Ja super, nochmal vielen Dank. Meine Uhr ist ja leider noch nicht fertig. Aber da komme ich später gerne drauf zurück. Gruß Bernd
Hallo zuerst einmal und vielen Dank für die super Anleitung. Soweit hat alles geklappt. Ich hab das Shield V1 mit dem STMxxx103er im Einsatz + DS3232 + DCF + AMS1117. Ich hab einen 3,3V USB UART Adapter + ST-Link V2. Das aufspielen der Firmware für den STMxxxx103 funktioniert reibungslos. Leider bekomme ich das aufspielen der angepassten ESPWordclock.bin nicht hin. Ich hab das kleine ESP8266 Flasher Tool und das von Espress If ausprobiert. bei dem Espress If Tool steht als Fehler "Chip sync error". Was kann da falsch laufen? Ich schliesse das Shield an mein 5V Pollin Netzteil an. Danach drücke ich die RESET Taste auf dem STMxxxx103 Board, dann brücke ich die beiden mit FLASH gekennzeichneten PINS (ist ja letztlich GND + PA6). Dann stecke ich den USB UART Adapter am Laptop an (angeschlossen ist:) USB UART GND -> GND USB UART RX -> TX USB UART TX -> RX Dabei handelt es sich ja um die PINS neben Flash..... Der USB UART Adapter ist auf 3,3v Pegel eingestellt und wird sauber als COM7 CH340 erkannt. Habt ihr ne Idee? Bin leider kein Elektroniker... :-(
Moin Martin, beim 103er shield V1 ist die Beschriftung RX TX vertauscht (steht auch irgendwo im Thread), Du musst also TX --> TX und RX--> RX verbinden. Ist bei der V2 geändert. Gruss Peter
Tx + rx habe ich einmal vertauscht ohne Erfolg... Aber vielleicht sollt ich mal einen anderen esp8266 einsetzen....
Martin M. schrieb: > Danach drücke ich die RESET Taste auf dem STMxxxx103 Board, dann brücke > ich die beiden mit FLASH gekennzeichneten PINS (ist ja letztlich GND + > PA6). Nur noch mal zur Klarheit den Text aus dem Artikel: - Reset-Taste drücken und festhalten, - beim STM32F103-Mini-Development Board PA6 mit einem Taster mit Masse verbinden und festhalten, - Reset-Taste loslassen, - Brücke PA6-Masse nach 2 Sekunden entfernen. Aus deiner Beschreibung geht nicht eindeutig hervor, ob du die RESET-Taste gedrückt hältst, während PA6 auf Masse gelegt wird. Vielleicht hilft ja diese Vorgehensweise. Gruß Günter
Günter H. schrieb: > Martin M. schrieb: >> Danach drücke ich die RESET Taste auf dem STMxxxx103 Board, dann brücke >> ich die beiden mit FLASH gekennzeichneten PINS (ist ja letztlich GND + >> PA6). > > Nur noch mal zur Klarheit den Text aus dem Artikel: > - Reset-Taste drücken und festhalten, > - beim STM32F103-Mini-Development Board PA6 mit einem Taster mit Masse > verbinden und festhalten, > - Reset-Taste loslassen, > - Brücke PA6-Masse nach 2 Sekunden entfernen. > > Aus deiner Beschreibung geht nicht eindeutig hervor, ob du die > RESET-Taste gedrückt hältst, während PA6 auf Masse gelegt wird. > > Vielleicht hilft ja diese Vorgehensweise. > > Gruß > Günter Einen Taster habe ich keinen. Da ich das shield v1 habe nehme ich einen "Jumper" für die Pins mit der Beschriftung Flash. Die sind letzlich PA6 / GND. D.h. ich überbrücke diese und zieh die dann nach dem Loslassen der Reset Taste 2 Sekunden später wieder ab.... Bisher ohne Erfolg... Nun ja ich warte jetzt auf einen esp8266 Programmer mit int. Taste ;-) ich probiers dann darüber...
Chris K. schrieb: > 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, |
2 | > 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. Hallo, nachdem ich übers Wochenende auch dazu gekommen bin, die Uhr zusammenzubauen ein paar Punkte die mir aufgefallen sind. Muss sagen, dass mir meine Wordclock auch viel zu hell ist. Bei meinen bisherigen Arduino Uhren hatte ich das noch deutlich weiter runterschrauben können. Mein Vorschlag wäre im Webserver Reiter unter Display noch 2 Felder für minimale und maximale Helligkeit einzufügen. Dann kann sich jeder seine Helligkeit einstellen wie er mag oder auch einfach auf einen konstanten Wert stellen. Helligkeit springt bei mir auch. Habe aber noch einen falschen LDR drinn. Nichtsdestotrotz, denke auch hier könnte man mit einem einfachen FIR Filter nachbessern und/oder bei der nächsten Platinenrevision ein RC Filter mit entsprechend hoher Zeitkonstante einplanen. Warum lassen sich die RGB Werte eigentlich nur in Bereichen von 0-63 verstellen und nicht 0-255. Persönlich fände ich das Besser. Im Webserver könnte man zu den einzelnen Feldern ein paar Infos ergänzen. z.B. Link wo man die Adressen für den Timeserver findet. Ansonsten wirklich alles sehr gut gemacht.
Der Regelbereich von 0 bis 63 kommt durch die linearisierung der Leuchtstärke.
LDR schrieb: > Muss sagen, dass mir meine Wordclock auch viel zu hell ist. Also ist es wohl eine WC12h, denn die WC24h kann wegen der schmaleren bzw. kleineren Buchstaben gar nicht so hell werden. > Mein Vorschlag wäre im Webserver Reiter unter Display noch 2 Felder für > minimale und maximale Helligkeit einzufügen. Dann kann sich jeder seine > Helligkeit einstellen wie er mag oder auch einfach auf einen konstanten > Wert stellen. Ja, ist sinnvoll. Eventuell sollte man die 16 Helligkeitswerte auch selbst im Web-Browser anpassen können. Kommt auf die TODO-Liste. > Helligkeit springt bei mir auch. Habe aber noch einen falschen LDR > drinn. Nichtsdestotrotz, denke auch hier könnte man mit einem einfachen > FIR Filter nachbessern und/oder bei der nächsten Platinenrevision ein RC > Filter mit entsprechend hoher Zeitkonstante einplanen. Das Springen sollte mit der nächsten Version erledigt sein. Kommt noch heute. Der FIR-Filter steht schon auf der TODO-Liste. > Warum lassen sich die RGB Werte eigentlich nur in Bereichen von 0-63 > verstellen und nicht 0-255. Persönlich fände ich das Besser. Wie Chris schon schrieb: Weil die Helligkeit an die Kennlinie des menschlichen Auges angepasst ist, siehe LED-Fading. > Im Webserver könnte man zu den einzelnen Feldern ein paar Infos > ergänzen. z.B. Link wo man die Adressen für den Timeserver findet. Gute Idee. Ist notiert.
Die Version 2.2.1 ist nun über den Artikel WordClock mit WS2812 verfügbar. Änderungen: - Bugfix: Wenn ausschließlich das RTC-Modul zur Temperaturmessung dient, wurde auf dem Display immer fälschlicherweise 12°C ausgegeben. - Bugfix: Korrekturwert für DS18XX geht nach Reboot verloren. - SK6812 wird nun auch in der RGB-Variante unterstützt - nicht nur RGBW. - Verbesserung der automatischen Helligkeitsregelung (Sprungverhalten bei Unterschreiten der Helligkeits-Mindestwerts). - DCF77-Empfänger-Problem bei Sekunde = 50 (gleichzeitige DS18xx- Temperaturmessung) behoben. Viel Spaß, Frank
Hallo Frank, ich habe mir gerade eine zweite Wordclock mit SK6812 anstelle von WS2812 gebaut. Das Ändern des Quellcodes und anschließende compilieren und hochladen hat einwandfrei funktioniert. Die LEDs funktionieren jetzt auch einwandfrei. Leider kann ich aber in der Weboberfläche die weiße LED nicht regeln. Sobald ich eine Farbe auswähle wird diese zusammen mit der Weißen angezeigt. Ist das ein bekanntes Problem? Gruß Leif
Nein das Problem kenne ich nicht. Wenn ich Rot auswähle bekomme ich rot Wenn ich Weiß auswähle bekomme ich weiß Stelle ich zum Beispiel Blau mit Weiß ein kommt die entsprechende Mischung raus.
Leif schrieb: > Das Ändern des Quellcodes und anschließende compilieren und hochladen > hat einwandfrei funktioniert. Was hast Du geändert? Zeige bitte den entsprechenden Ausschnitt aus display-config.h. > Leider kann ich aber in der Weboberfläche die weiße LED nicht regeln. Fehlt der Regler für die weiße LED in der Weboberfläche? Oder bewirkt er nichts? > Sobald ich eine Farbe auswähle wird diese zusammen mit der Weißen > angezeigt. Das habe ich nicht verstanden. Chris K. schrieb: > Nein das Problem kenne ich nicht. Mit der neuen 2.2.1? Ich habe in der aktuellen Version noch den Support für SK6812-RGB - also ohne W - eingebaut. Deshalb gibt es nun zwei Einstellungen in display-config.h:
1 | #define DSP_USE_SK6812_RGB 0 // use SK6812 RGB LEDs
|
2 | #define DSP_USE_SK6812_RGBW 0 // use SK6812 RGBW LEDs
|
Eine davon muss auf 1, wenn man SK6812 verwendet
Leif schrieb: > Leider kann ich aber in der Weboberfläche die weiße LED nicht regeln. Ich habe den Grund dafür gefunden, Ursache ist in in V2.2.1 der zusätzliche Support der SK6812-LEDs ohne weiße LEDs. Ersetze in vars.c
1 | #if DSP_USE_SK6812 == 1
|
durch
1 | #if DSP_USE_SK6812_RGBW == 1
|
Das kommt in vars.c zweimal vor. Ich habe die Änderung als V2.2.2 ins SVN eingecheckt.
:
Bearbeitet durch Moderator
Martin M. schrieb: > Günter H. schrieb: >> Martin M. schrieb: >>> Danach drücke ich die RESET Taste auf dem STMxxxx103 Board, dann brücke >>> ich die beiden mit FLASH gekennzeichneten PINS (ist ja letztlich GND + >>> PA6). >> >> Nur noch mal zur Klarheit den Text aus dem Artikel: >> - Reset-Taste drücken und festhalten, >> - beim STM32F103-Mini-Development Board PA6 mit einem Taster mit Masse >> verbinden und festhalten, >> - Reset-Taste loslassen, >> - Brücke PA6-Masse nach 2 Sekunden entfernen. >> >> Aus deiner Beschreibung geht nicht eindeutig hervor, ob du die >> RESET-Taste gedrückt hältst, während PA6 auf Masse gelegt wird. >> >> Vielleicht hilft ja diese Vorgehensweise. >> >> Gruß >> Günter > Einen Taster habe ich keinen. Da ich das shield v1 habe nehme ich einen > "Jumper" für die Pins mit der Beschriftung Flash. Die sind letzlich PA6 > / GND. D.h. ich überbrücke diese und zieh die dann nach dem Loslassen > der Reset Taste 2 Sekunden später wieder ab.... > Bisher ohne Erfolg... > Nun ja ich warte jetzt auf einen esp8266 Programmer mit int. Taste ;-) > ich probiers dann darüber... Der ESP8266-01 Programmer mit integriertem Taster ist angekommen. Damit funktioniert das Flashen einwandfrei... Einfach bei Ebay mal nach "ESP8266 ESP-01 Flasher mod.prog" suchen. Für 8,5€ aus Deutschland innerhalb von wenigen Tagen. Für 2 - 3 € auch aus China erhältlich wenn man Zeit hat :-)
Hallo Erst mal einen Grossen Dank für das neue Update!Ich habs zwar noch nicht draufgespielt aber ich freue mich jetzt schon auf weitere Funktionen. Ich habe noch grosse Probleme mit der Energieversorgung der Uhr. Wie löst Ihr dass oder was mache ich falsch? In meiner Werkstatt läuft die Wordclock am Labornetzgerät und auch an einem umgebauten Computernetzteil ohne Probleme.Die Uhr zieht maximal so um die 200mA (ausser bei grossen Animationen oder Displaytest). Da ich die Uhr aber im Wohnzimmer aufhängen möchte habe ich schon verschiedene Netzteile ohne Erfolg probiert. Probiert habe ich zwei Steckernetzteilen mit 5 Volt und einmal mit 2A und einmal mit 3A Leistung.Ich dachte mir jeweils dass die Leistung nicht ausreicht und habe mir ein Netzteil mit 5 Volt und 8 A Leistung bestellt.Leider läuft die Uhr aber auch mit diesem Netzeil nicht.Der Steuerung habe ich schon zwei Elkos von 220nF verpasst.Auf dem Oszi sieht die Spannungskurve auch nicht schlimm aus und es gibt keine Spannungseinbrüche oder dergleichen. Links der verwendeten Netzteile: https://de.aliexpress.com/item/High-Power-AC-DC-Adapter-AC-100-240V-to-DC-5V-12V-24V-1A-2A-3A/32479352044.html?spm=2114.13010608.0.0.6OiNrH&detailNewVersion=&categoryId=200001051 https://de.aliexpress.com/item/1PCS-5V2A-New-AC-100V-240V-Converter-Adapter-DC-5V-2A-2000mA-Power-Supply-EU-Plug/32277477479.html?spm=2114.13010608.0.0.DgZdCy&detailNewVersion=&categoryId=14191101 https://de.aliexpress.com/item/1PCS-5V-3000mA-3A-Mains-Micro-USB-AC-DC-Adaptor-Power-Supply-Charger-4-Raspberry-PI/32642533063.html?spm=2114.010208.3.9.tvbkFx&ws_ab_test=searchweb0_0,searchweb201602_2_10091_10090_10088_10089,searchweb201603_1&btsid=cf52d6f7-77a1-4de1-8b92-28ebdbfabdd6 Weis jemand Rat in meiner Sache? Grüsse
:
Bearbeitet durch User
Ist den das empfohlene Pollin 5v 2A Steckernetzteil dabei?(müsste eins von Meanwell sein)
Ich hab mir bei Ali die 12V/3A Netzteile gekauft und setze davor noch einen StepDown LM2596 und regel auf 5V.
Thomas G. schrieb: > Leider läuft die Uhr aber auch mit diesem Netzeil nicht. 5 V/8 A müssen auch für eine WordClock 24h "locker" ausreichen. Meine WordClock 12h läuft auch mit einem 1 A-Netzsteil. Aber was heißt denn: "Die Uhr läuft nicht?". Spannung (wie hoch an der Uhr?) scheint ja anzuliegen. Wie hoch ist die Stromaufnahme mit dem Netzteil im Wohnzimmer? Leuchten die LEDs von z. B. Board, RTC oder WLAN-Modul? Wenn ja, ist die Uhr über das Web-Interface erreichbar? Vielleicht lässt sich mit Klärung dieser Fragen der Fehler eingrenzen. Gruß Günter
:
Bearbeitet durch User
Hallo Thomas H. schrieb: > Ich hab mir bei Ali die 12V/3A Netzteile gekauft und setze davor noch > einen StepDown LM2596 und regel auf 5V. Der Tipp mit einem Netzteil mit 12 Volt und anschliessendem LM2596 hat bei mir auch funktioniert.Leider habe ich in der Uhr keinen Platz mehr für ein solches Bauteil, und ein kleines Zwischengehäuse im Kabel sieht auch wieder nach gebastel aus. Günter H. schrieb: > Aber was heißt denn: "Die Uhr läuft nicht?". Die Uhr läuft am Labornetzteil ohne Probleme:Anzeige,Weboberfläche alles Gut. Am Steckernetzteil:Einige Leds leuchten in undefinierten Farben.Spannung an Led Stripes 4.95 Volt.Power Leds auf STM,ESP und RTC alle an aber per Web Interface nicht erreichbar. Ich glaube es liegt an meiner 3.3 V Versorgung welche nicht sauber arbeitet. Ich setze dort einen Mini 360 Stepdown Wandler ein. Wie ich jetzt nachgelesen habe hat dieser eine minimale Eingansspannung von 4.75 Volt was eventuell knapp ist. https://de.aliexpress.com/item/RC-Airplane-Module-Mini-360-DC-Buck-Converter-Step-Down-Module-4-75V-23V-to-1V/32685367474.html?spm=2114.010208.3.12.OlGmtU&ws_ab_test=searchweb0_0,searchweb201602_2_10091_10090_10088_10089,searchweb201603_1&btsid=54aaea9d-8809-457c-8326-4b1f64c7a82b Die Stripes werden direkt vom Netzteil mit 5 Volt versorgt und alle andere Elektronik wird via diesem Step-Down mit 3.3 Volt versorgt. Wie generiert Ihr die 3.3 Volt bei euren Uhren? Gruss
Thomas G. schrieb: > Wie generiert Ihr die 3.3 Volt bei euren Uhren? AMS1117 3,3 V Drop Down Spannungsregler auf Mini-Platine Steht auch im Artikel unter https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Anschlusstabelle und https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Shield_f.C3.BCr_STM32_MiniDevBoard mit Bezugsquellen.
Thomas G. schrieb: > Die Stripes werden direkt vom Netzteil mit 5 Volt versorgt und alle > andere Elektronik wird via diesem Step-Down mit 3.3 Volt versorgt. Das STM32F103C8T6 Mini-Development Board ist bei mir wie die Stripes auch an 5 V angeschlossen, die 3,3 V für den Mikrocontroller selbst kommen vom 3,3V-Spannungsregler auf dem Board. Die restliche Elektronik wird über einen LF 33 CV Low Drop Festspannungsregler (+ zwei Kondensatoren, entspricht letztlich dem AMS1117-Baustein) mit 3,3 V versorgt. Gruß Günter
Inzwischen bin ich mit dem Mini Dev-Board v1 und dem Aufbau komplett fertig. ESP8266 ist geflasht, STM32...103 Board geflasht.... Vielen dank nochmals für die super anleitungen und beschreibungen - und vor allem für die investierte Zeit!. Da ich von einem Bauvorschlag von Ulrich Radig auf das Projekt hier umgestiegen bin, habe ich leider "ein anderes" Buchstabenlayout meiner Frontplatten. Daher die Frage, wenn ich den Programmcode anfasse (wie ja beschrieben) - gibt es eine kurze Notiz zu den Umsetzungen (d.h. wie geschalten wird) Es ist x Uhr, Es ist halb fünf.... Gibts zufällig ne Mappingtabelle... (z.B. ES -> Pin 1,2, IST Pin 4,5,6....) Das wäre klasse.... und schon mal vielen dank. P.S. Leider habe ich die Frontplatten schon machen lassen (1x Edelstahl, 1x Rost-Stahl).... Aufgrund des Preises möchte ich das nicht nochmals machen lassen.... Bei ner Folie wäre das eher machbar.....
Martin M. schrieb: > Gibts zufällig ne Mappingtabelle... (z.B. ES -> Pin 1,2, IST Pin > 4,5,6....) display/tables.h & display/tables.c für WC24h, display/tables12h.h & display/tables12h.c für WC12h.
Frank M. schrieb: > Martin M. schrieb: >> Gibts zufällig ne Mappingtabelle... (z.B. ES -> Pin 1,2, IST Pin >> 4,5,6....) > > display/tables.h & display/tables.c für WC24h, > display/tables12h.h & display/tables12h.c für WC12h. Danke für die schnelle Antwort. wollte mich gerade an die arbeit machen... leider finde ich für meine WC12h keine passende Version. Unter https://www.mikrocontroller.net/svnbrowser/wordclock24h/wclock24h-F103/ gibts ne wclock24h-F103.ebp in Version 2.1. Ist in dieser die "WC12h-Variante" enthalten? Eigentlich wollte ich auf die 2.2.0 bzw. 2.2.1 gehen (ESP + STM...103board) Auch im Hauptverzeichnis finde ich nichts neueres.... Oder gibts den Weg auch rückwärts (HEX File nehmen) und dekompilieren? Und gibt es das EM::Blocks noch irgendwo zum download? Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen Unterschied?
:
Bearbeitet durch User
Martin M. schrieb: > Unter > https://www.mikrocontroller.net/svnbrowser/wordclock24h/wclock24h-F103/ > gibts ne wclock24h-F103.ebp in Version 2.1. Das sagt nur aus, dass die Datei sich seit 2.1 nicht mehr geändert hat. Alles, was Du im SVN findest, ist auf dem aktuellen Stand. Am besten lädst Du Dir den kompletten Tarball. Der Link ist unter Download im Artikel.
Martin M. schrieb: > Frank M. schrieb: >> Martin M. schrieb: >>> Gibts zufällig ne Mappingtabelle... (z.B. ES -> Pin 1,2, IST Pin >>> 4,5,6....) >> >> display/tables.h & display/tables.c für WC24h, >> display/tables12h.h & display/tables12h.c für WC12h. > > > Danke für die schnelle Antwort. > wollte mich gerade an die arbeit machen... leider finde ich für meine > WC12h keine passende Version. > > Unter > https://www.mikrocontroller.net/svnbrowser/wordclock24h/wclock24h-F103/ > gibts ne wclock24h-F103.ebp in Version 2.1. > Ist in dieser die "WC12h-Variante" enthalten? > > Eigentlich wollte ich auf die 2.2.0 bzw. 2.2.1 gehen (ESP + > STM...103board) > > Auch im Hauptverzeichnis finde ich nichts neueres.... Oder gibts den Weg > auch rückwärts (HEX File nehmen) und dekompilieren? > > Und gibt es das EM::Blocks noch irgendwo zum download? > Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen > Unterschied? Hallo Martin ist eigentlich recht einfach. Du musst einfach in tables12h.c die Einträge unter const struct WordIllu illumination[WP_COUNT] anpassen. Ich habe diese beiden Files recht stark angepasst und so eine komplette Schweizer - Frontplatte nagesteuert. PS: In dieser Tabelle sind immer die Zeilennummer, Anfangsposition und Länge (Anzahl LED) anzupassen :-) Gruess Daniel
Martin M. schrieb: > Und gibt es das EM::Blocks noch irgendwo zum download? > Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen > Unterschied? EM::Blitz ist der Nachfolger und sollte damit auch gehen.
Hallo Frank ich wollte gestern mal auf komplette Mehrsprachigkeit umstellen. Dies ist zwar eigentlich relativ einfach, da alle Tabellen nahezu mehrspachenfähig sind (aufgrund der verschieden DE - Versionen). Ich möchte aber nun neben den deutschen Versionen auch Englisch einbauen. Dies wäre rel. einfach möglich, wenn du mir allenfalls "const uint8_t it_is[2] = { WP_ES, WP_IST };" mit den MODES_COUNT koppeln könntest. Somit wie folgt: const uint8_t it_is[MODES_COUNT][2] = { { WP_ES, WP_IST }, { WP_IT, WP_IS } }; Wäre das was für die nächste Version? Gruss Daniel
Frank M. schrieb: > Martin M. schrieb: >> Und gibt es das EM::Blocks noch irgendwo zum download? >> Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen >> Unterschied? > > EM::Blitz ist der Nachfolger und sollte damit auch gehen. Liess sich importieren mit em::Blitz Aber ne wordclock12h version für das stm23.. 103 board, hab ich nicht finden können. Stell mich wohl dämlich an?
Martin M. schrieb: > Frank M. schrieb: >> Martin M. schrieb: >>> Und gibt es das EM::Blocks noch irgendwo zum download? >>> Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen >>> Unterschied? >> >> EM::Blitz ist der Nachfolger und sollte damit auch gehen. > > Liess sich importieren mit em::Blitz > Aber ne wordclock12h version für das stm23.. 103 board, hab ich nicht > finden können. > Stell mich wohl dämlich an? Hoi Martin du solltest alle nötigen Files unter svn://mikrocontroller.net/wordclock24h/ finden und download können. Da befinden sich auch die Files, welche Frank erwähnt hat. Ich bilde jeweils mit dieser Version unter dem SVN für meine 12h - Variante. Gruss Daniel
Daniel K. schrieb: > Martin M. schrieb: >> Frank M. schrieb: >>> Martin M. schrieb: >>>> Und gibt es das EM::Blocks noch irgendwo zum download? >>>> Beim Hersteller gibts jetzt das "EM::Blitz". Macht das einen >>>> Unterschied? >>> >>> EM::Blitz ist der Nachfolger und sollte damit auch gehen. >> >> Liess sich importieren mit em::Blitz >> Aber ne wordclock12h version für das stm23.. 103 board, hab ich nicht >> finden können. >> Stell mich wohl dämlich an? > > Hoi Martin > > du solltest alle nötigen Files unter > svn://mikrocontroller.net/wordclock24h/ finden und download können. Da > befinden sich auch die Files, welche Frank erwähnt hat. Ich bilde > jeweils mit dieser Version unter dem SVN für meine 12h - Variante. > > Gruss Daniel Hallo Daniel, Danke für den Hinweis - jetzt kapiert.... Wie gesagt: ich stell mich dämlich an.... ;-)
Für andere die zum ersten mal mit EM::BLITZ arbeiten... Das Projektfile "wclock24h-F103" öffnen. Import umwandlungsdialog von EM::BLOCKS in EM:Blitz bestätigen mit der "Rechten Maustaste" auf wclock24h-F103 klicken und auf WC12h-STM32F103-Release wechseln.... Da muss man erstmal drauf kommen ? :-) Da gehört dann dazu: -DSTM32F10X -DSTM32F103 -DSTM32F103C8 -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DWCLOCK24H=0 -fno-strict-aliasing und bei WORDCLOCK24h -DSTM32F10X -DSTM32F103 -DSTM32F103C8 -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DWCLOCK24H=1 -fno-strict-aliasing
:
Bearbeitet durch User
Hallo Martin du hast etwas von einem eigenen Buchstabenlayout deiner Frontplatten geschrieben. Wie hast du diese gelayoutet und woher hast du diese beschafft? Möchte allenfalls auch noch etwas in Chromstahl machen... Gruss Daniel
Daniel K. schrieb: > du hast etwas von einem eigenen Buchstabenlayout deiner > Frontplatten geschrieben. Wie hast du diese gelayoutet und woher hast du > diese beschafft? Möchte allenfalls auch noch etwas in Chromstahl > machen... Ich würde Dir raten, beim Layout der WC12h zu bleiben, denn dann ist keine Software-Änderung notwendig. Es werden nämlich auch Edelstahvarianten der WC12h als Frontplatten in Sammelbestellungen vom Benutzer hansa angeboten. Und zwar im (frontplatten-kompatiblen) früheren ATmega-Projekt: https://www.mikrocontroller.net/articles/Word_Clock#Sammelbestellung_.28Edelstahl.29
Ich würde das auch empfehlen. Hätte ich auch so gemacht, wenn ich nicht von einem anderen Projekt gekommen wäre. D.h bei jeder Firmware Erneuerung die man möchte, muss man die tables... Austauschen... Ich habs gestern Abend gemacht. Ausgedruckt, durchgezählt, und die Zahlungen angepasst. Auch das Kompilieren hat einwandfrei geklappt... Aber den Aufwand könnte man sich natürlich sparen wenn man die richtige Frontplatte nimmt.
Frank M. schrieb: > Daniel K. schrieb: >> du hast etwas von einem eigenen Buchstabenlayout deiner >> Frontplatten geschrieben. Wie hast du diese gelayoutet und woher hast du >> diese beschafft? Möchte allenfalls auch noch etwas in Chromstahl >> machen... > > Ich würde Dir raten, beim Layout der WC12h zu bleiben, denn dann ist > keine Software-Änderung notwendig. Es werden nämlich auch > Edelstahvarianten der WC12h als Frontplatten in Sammelbestellungen vom > Benutzer hansa angeboten. Und zwar im (frontplatten-kompatiblen) > früheren ATmega-Projekt: > > https://www.mikrocontroller.net/articles/Word_Clock#Sammelbestellung_.28Edelstahl.29 Jungs, grundsätzlich stimme ich euch ja zu. Jedoch habe ich die Software längst geändert und eine Schweizerdeutsche Glasfront drauf. Nun möchte ich aber auf eine Stahlvariante und brauchte da im Layouting und bei den Herstellern etwas Hilfe :-)
Daniel K. schrieb: > Frank M. schrieb: >> Daniel K. schrieb: >>> du hast etwas von einem eigenen Buchstabenlayout deiner >>> Frontplatten geschrieben. Wie hast du diese gelayoutet und woher hast du >>> diese beschafft? Möchte allenfalls auch noch etwas in Chromstahl >>> machen... >> >> Ich würde Dir raten, beim Layout der WC12h zu bleiben, denn dann ist >> keine Software-Änderung notwendig. Es werden nämlich auch >> Edelstahvarianten der WC12h als Frontplatten in Sammelbestellungen vom >> Benutzer hansa angeboten. Und zwar im (frontplatten-kompatiblen) >> früheren ATmega-Projekt: >> >> > https://www.mikrocontroller.net/articles/Word_Clock#Sammelbestellung_.28Edelstahl.29 > > Jungs, grundsätzlich stimme ich euch ja zu. Jedoch habe ich die Software > längst geändert und eine Schweizerdeutsche Glasfront drauf. Nun möchte > ich aber auf eine Stahlvariante und brauchte da im Layouting und bei den > Herstellern etwas Hilfe :-) Ich habe die Vorlage 1zu1 von: http://blog.bubux.de/wortuhr-frontplatte-i/ Da diese in 50x50cm Layout ist und vor allem für Stahl/Edelstahl gedacht ist. Desweitern entspricht das Textlayout - nach meiner Recherche - dem ORIGINAL. Dort gibt es die .DXF Cad Datei zum Download Als Programm zur Bearbeitung wird dort QCAD empfohlen. Die beiden Platten hat mir eine Firma (die Laser + Wasserstrahltechnik hat) in der Nähe erstellt. Preis etwa für die Stahlvariante 70€, Edelstahl 85€. Als ich dort ein Angebot angefragt habe, hat der Vertriebler nur gemeint, sowas ähnliches haben Sie vor kurzem schon mal gemacht :-) Preislich war es günstiger als die Onlineanbieter wie "geerscutting".... Und da vor der Türe, konnte ich es dort abholen und hatte somit auch kein Transportrisiko....
:
Bearbeitet durch User
Hallo Frank, ich habe da mal drei Fragen. 1) Wie bekomme ich die Wordclock dazu, sich eine neue IP-Adresse zu holen? Ich habe in der FritzBox die Adresse geändert, aber die Uhr holt sich keine neue IP. Nach einem Kaltstart: Alte IP. Selbst, wenn ich eine andere SSID (ich habe mehrere APs) wähle, behält die Uhr die alte IP. (ESP8266 firmware 2.1.0b) Könnte man einen "DHCP-Renew" Button einbauen? 2) Wäre es möglich ein SSID-Search zu implementieren? Insbesondere wenn man die Uhr neu konfiguriert, nutzt man ja oft ein Smartphone um sich zur Uhr zu verbinden. Es wäre eine große Hilfe, wenn man zumindest die SSID nicht abtippen müsste. <Kleiner Scherz> Praktisch wäre es, wenn die Uhr das Passwort selber knacken könnte. ;-) </Kleiner Scherz> 3) Wäre es möglich einen "Reboot" Button einbauen? Obwohl mir Ad-Hoc kein richtiger Grund dafür einfällt :-) Grüße Dario
Dario C. schrieb: > 1) Wie bekomme ich die Wordclock dazu, sich eine neue IP-Adresse zu > holen? Du musst die IP selber einstellen. Dazu erst als Accesspoint starten https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Start_als_Access-Point Dann eine neue IP über das Web Interface einstellen https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Start_als_WLAN-Client > Könnte man einen "DHCP-Renew" Button einbauen? Wozu? > 2) Wäre es möglich ein SSID-Search zu implementieren? Wozu, du stellst die IP Adresse doch selber ein. > 3) Wäre es möglich einen "Reboot" Button einbauen? Du kannst den Reset Button drücken...
Dario C. schrieb: > 1) Wie bekomme ich die Wordclock dazu, sich eine neue IP-Adresse zu > holen? Der ESP8266 holt sich im Client-Modus immer eine IP-Adresse. Die meisten Router merken sich die MAC-Adresse zusammen mit der IP-Adresse, damit diese möglichst lange immer dieselbe bleibt. Gerade die Fritzbox beherrscht das bis zur Perfektion. Der Grund ist einfach: Definiert man per Portforwarding einen Zugang von draußen auf das Gerät drinnen, ist die interne IP-Adresse Dreh- und Angelpunkt für die Portforwarding-Tabelle. Diese würde ins Leere greifen, wenn die IP-Adressen sich dauernd ändern würden. > Ich habe in der FritzBox die Adresse geändert, aber die Uhr holt sich > keine neue IP. Das habe ich noch nie getestet. Was macht die Fritzbox denn, wenn man die IP-Adresse irgendeines Geräts in der Fritzbox ändert? Das Gerät bekommt ja mit der per DHCP ausgelieferten IP-Adresse auch eine Lease-Time mitgeteilt, also eine Zeit, wie lange diese IP-Adresse gültig ist. Ich weiß nicht, welche Lease-Time die Fritzbox da wählt. Wenn es sich um mehrere Tage handelt, besteht kein Grund für den ESP, sich sofort eine neue IP-Adresse zu holen, erst bei einem Reset. Aber den hast Du ja gemacht: > Nach einem Kaltstart: Alte IP. Dann hat das Ändern der IP-Adresse in der Fritzbox nichts bewirkt. Sei Dir gewiss: Der ESP bekommt die IP-Adresse vom AP zugewiesen. Der ESP kann sich da keine einfach so aussuchen. > Selbst, wenn ich eine andere SSID (ich habe mehrere APs) wähle, > behält die Uhr die alte IP. Deine APs verwenden alle denselben IP-Adressbereich?!? Wie lautet denn diese mysteriöse IP-Adresse? Ich nehme mal an, dass die IP-Adressänderung entweder in der Fritzbox fehlerhaft implementiert ist oder Du einen Fehler gemacht hast, nämlich z.B. eine IP-Adresse vergeben, die außerhalb des eingestellten DHCP-Adressbereichs liegt. Eine andere Erklärung habe ich nicht. Mach doch mal folgendes: Man kann in der Fritzbox den IP-Adressbereich für DHCP einstellen. Stell den mal so ein, dass die alte IP-Adresse nicht mehr in diesen Bereich fällt. Dann machst Du einen Reset vom ESP. Dann muss eine neue IP-Adresse zugewiesen werden. Aber mal eine Frage: Warum willst Du dem ESP überhaupt eine andere IP-Adresse als die automatisch per DHCP vergebene aufzwingen? Sind bestimmte Adressen "schöner" als andere? Ich sehe das so: Du willst dem ESP eine Adresse geben, die außerhalb des DHCP-Bereichs liegt. Das funktioniert aber nicht. Die Adresse muss innerhalb des DHCP-Bereichs liegen, sonst kann der DHCP-Server in der FritzBox diese Adresse nicht vergeben und der ESP behält so die zuletzt vergebene Adresse. Die außerhalb des DHCP-Bereichs noch freien Adressen sind für statische IP-Adressen gedacht. Der ESP erhält aber keine statische Adresse, sondern holt sich immer per DHCP eine neue. Für weitere Hilfe brauche ich folgende Infos: 1. Eingestellter IP-Adressbereich im WLAN 2. Eingestellter DHCP IP-Adressbereich für das WLAN 3. Ist-IP-Adresse des ESP 4. Wunsch-IP-Adresse des ESP
:
Bearbeitet durch Moderator
Hallo, ich hätte mal noch einen kleinen Verbesserungsvorschlag für das Webfrontend der Uhr. Ich nutze das Webfrontend der Uhr unter iOS in Safari. Wenn ich die Uhr mal manuell mit poweroff abgeschaltet habe passiert es immer wieder das die Uhr sich abschaltet sobald ich safari aufrufe. Anscheinend ruft safari die Urls immer wieder mal ab um eine vorschau der offenen tabs zu generieren. Ich denke es wäre ganz sinnvoll wenn man nach einer aktion nochmal einen redirect auf die "neutrale" Url macht. Also bei Aufruf von /display?action=poweron redirect auf /display Gruß Dirk
Hi Frank, ich muss mich leider noch einmal wegen dem Problem mit den weißen LEDs vom 08.11. melden. Du hast ja bereits Änderungen in den Lines 165 und 316 der vars.c vorgenommen. Leider gibt es immer noch ein Problem. Der Regler zum Anpassen der Helligkeit für die weiße LED erscheint jetzt zwar in der Weboberfläche, aber die Regelung funktioniert nur 1x! D.h. man kann nach dem booten einmalig die Helligkeit verändern. Wenn ein zweites Mal der Reglerwert geändert wird und gespeichert wird, verändert sich die Helligkeit der LED nicht. Auch wenn der Regler auf 0 gesetzt wird, bleibt die LED mit gleicher Helligkeit an. Die RGB Leds lassen sich jedoch mehrmals verstellen.
Hallo zusammen, ich habe ein kleines Problem mit der Uhr. Die Läuft nicht :-( Hier das komplette Logfile:
1 | power_init() called |
2 | switching power |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.2.1 |
7 | rtc is online |
8 | eeprom is online |
9 | current eeprom version: 0x00020200 |
10 | ESP8266 LOGGER |
11 | read rtc: Su 2000-01-01 01:07:35 |
12 | read rtc: Su 2000-01-01 01:07:45 |
13 | RTC temperature: 19 |
Und dann ist stille :-( Mein Aufbau: - STM32F103 MiniBoard - DS3231 RTC + EEPROM - "fliegende" Verkabelung per Stiftleisten und Steckerchen. - LEDs und STM hängen an getrennten 5V, sind aber an GND verbunden. kein ESP, DCF. LDR oder sonst was. Habe ich irgendwo überlesen, dass man das Programm noch gesondert konfigurieren muss? Oder mache ich was anderes falsch? Gruß Joachim
Guten Morgen! @Joachim: Dadurch das Du kein ESP dran hast kann es nicht funktionieren. Der ESP ist jetzt Pflicht, weil ein Teil des Programms auf dem ESP ausgelagert wird.
Guten Morgen, ist das tatsächlich so? Im Artikel steht: "Optional: ESP8266 ESP-01: WLAN Modul" Dann wäre es ganz gut, wenn das Wort "Optional" verschwindet. Werden eigentlich auch PullUps für das I2C benötigt? Die habe ich auch noch nicht verbaut. Gruß Joachim
Joachim J. schrieb: > Im Artikel steht: "Optional: ESP8266 ESP-01: WLAN Modul" > Dann wäre es ganz gut, wenn das Wort "Optional" verschwindet. Ab der Version 2.1 ist das so. Weil der Speicher vom Miniboard erschöpft ist. Ursprünglich wurde mal gesagt das Miniboard wird bis zum erschöpfen des Speicherplatz unterstützt. Deswegen sollte man das Nucleo-board nehmen. Jetzt ist es leider so das man das W-Lan Modul und Board updaten muss. Und alle nicht angeschlossenen Komponenten wollen ein Pull-up Widerstand.
Dirk L. schrieb: > Anscheinend ruft > safari die Urls immer wieder mal ab um eine vorschau der offenen tabs zu > generieren. Blödes Verhalten von Safari, ehrlich gesagt. > Ich denke es wäre ganz sinnvoll wenn man nach einer aktion nochmal einen > redirect auf die "neutrale" Url macht. > > Also bei Aufruf von /display?action=poweron redirect auf /display Danke, kommt auf die TODO-Liste. Joachim J. schrieb: > Im Artikel steht: "Optional: ESP8266 ESP-01: WLAN Modul" > Dann wäre es ganz gut, wenn das Wort "Optional" verschwindet. Ja, stimmt, sorry. Werde ich entfernen.
Beitrag #4791096 wurde vom Autor gelöscht.
Frank M. schrieb: >> Ich habe in der FritzBox die Adresse geändert, aber die Uhr holt sich >> keine neue IP. > Das habe ich noch nie getestet. Was macht die Fritzbox denn, wenn man > die IP-Adresse irgendeines Geräts in der Fritzbox ändert? Ja, das war mein Fehler: Bei der Fritzbox (FRITZ!OS:06.51) kann man zwar die IP-Adresse ändern, aber nur wenn das Gerät gerade offline ist. Ansonsten läuft die Änderung ins Leere. > Aber mal eine Frage: Warum willst Du dem ESP überhaupt eine andere > IP-Adresse als die automatisch per DHCP vergebene aufzwingen? Ich möchte dass gleichen Geräte, IPs aus den selben Bereichen haben:
1 | x.x.x.1-9 # Infrastruktur (Router & Switche) |
2 | x.x.x.1x # Arduinos und ESP |
3 | x.x.x.2x # PCs |
4 | x.x.x.3x-49 # VMs aus Host xxxx |
5 | x.x.x.5x # WLAN-PCs |
6 | x.x.x.60-79 # iDingens |
7 | x.x.x.8x # Drucker |
8 | x.x.x.9x # Server |
9 | x.x.x.1xx # neue Geräte per DHCP |
> Sind bestimmte Adressen "schöner" als andere? Nicht schöner, aber ich möchte neue Geräte schnell sehen. Beim Basteln habe ich dann oft neue Geräte, die 100er Adressen bekommen. Wenn die dann dauerhaft hier bleiben, bekommen die feste Adressen. Wenn ich mich von außen über VPN einwähle, funktioniert oft das DNS nicht, dann ist es nützlich, wenn man die IPs auswendig weiß und mit System ist das einfacher. Das Problem hat sich also erledigt und für alle, die auch mal die IP ändern wollen: Vorher das Gerät ausschalten, dann in der Fritzbox die neue IP eintragen. Aber Du hast nicht auf meine zweite Frage geantwortet: >> 2) Wäre es möglich ein SSID-Search zu implementieren? Das wäre eine echte Erleichterung. Dario
Dario C. schrieb: > Aber Du hast nicht auf meine zweite Frage geantwortet: > >>> 2) Wäre es möglich ein SSID-Search zu implementieren? > > Das wäre eine echte Erleichterung. Die Frage hatte ich tatsächlich überlesen. Ja, das wäre möglich. Ich setze das mal auf die TODO-Liste.
Daniel K. schrieb: > Hallo Frank > ich wollte gestern mal auf komplette Mehrsprachigkeit umstellen. Dies > ist zwar eigentlich relativ einfach, da alle Tabellen nahezu > mehrspachenfähig sind (aufgrund der verschieden DE - Versionen). > Ich möchte aber nun neben den deutschen Versionen auch Englisch > einbauen. > Dies wäre rel. einfach möglich, wenn du mir allenfalls "const uint8_t > it_is[2] = { WP_ES, WP_IST };" mit den MODES_COUNT koppeln könntest. > Somit wie folgt: > const uint8_t it_is[MODES_COUNT][2] = { > { WP_ES, WP_IST }, > { WP_IT, WP_IS } > }; > Wäre das was für die nächste Version? > Gruss Daniel Hallo Frank allenfalls ist meine Anfrage in der Blogflut untergegangen. Somit hier nochmals die Anfrage :-) Gruss Daniel
Daniel K. schrieb: > allenfalls ist meine Anfrage in der Blogflut untergegangen. Somit hier > nochmals die Anfrage :-) Sorry. Ja, ist untergegangen. Daniel K. schrieb: > Dies wäre rel. einfach möglich, wenn du mir allenfalls "const uint8_t > it_is[2] = { WP_ES, WP_IST };" mit den MODES_COUNT koppeln könntest. > Somit wie folgt: > const uint8_t it_is[MODES_COUNT][2] = { > { WP_ES, WP_IST }, > { WP_IT, WP_IS } > }; Das kann ich aber nur, wenn ich auch eine Definition von WP_IT und WP_IS habe. Sonst ist das nicht mehr compilierbar. Und da stellt sich mir die Frage, warum Du eine gesonderte Definition von WP_IT und WP_IS überhaupt brauchst. Kannst Du da nicht einfach die Konstanten von WP_ES und WP_IST verwenden? Ich nehme mal an, dass sie dieselben Werte haben, nämlich 1 und 2. Oder hast Du die WP_XXX-Konstanten hinten an die enum-Liste wc12h_words angehängt?
:
Bearbeitet durch Moderator
Frank M. schrieb: > Daniel K. schrieb: >> allenfalls ist meine Anfrage in der Blogflut untergegangen. Somit hier >> nochmals die Anfrage :-) > > Sorry. Ja, ist untergegangen. > > Daniel K. schrieb: >> Dies wäre rel. einfach möglich, wenn du mir allenfalls "const uint8_t >> it_is[2] = { WP_ES, WP_IST };" mit den MODES_COUNT koppeln könntest. >> Somit wie folgt: >> const uint8_t it_is[MODES_COUNT][2] = { >> { WP_ES, WP_IST }, >> { WP_IT, WP_IS } >> }; > > Das kann ich aber nur, wenn ich auch eine Definition von WP_IT und WP_IS > habe. Sonst ist das nicht mehr compilierbar. > > Und da stellt sich mir die Frage, warum Du eine gesonderte Definition > von WP_IT und WP_IS überhaupt brauchst. Kannst Du da nicht einfach die > Konstanten von WP_ES und WP_IST verwenden? Ich nehme mal an, dass sie > dieselben Werte haben, nämlich 1 und 2. Oder hast Du die > WP_XXX-Konstanten hinten an die enum-Liste wc12h_words angehängt? Gute Frage. Es ist natürlich so, dass ich zwischen Englisch und Deutsch umschalten möchte und somit wäre diese Definition hilfreich. Was mir auch schon helfen würde ist, wenn du const uint8_t it_is[MODES_COUNT][2] in ein Zweidimensionales Array umbaust, also etwa so: const uint8_t it_is[1][2]. Das bedingt aber leicht Anpassungen am display.c, dass dieses für ein mehrdimensionales Array fähig ist. Somit könnte ich dann jeweils nur meine Definitionen in den tables anpassen. Andere Variante wäre, dass du das Array immer mit den gleichen Werten füllst: const uint8_t it_is[MODES_COUNT][2] = { { WP_ES, WP_IST }, { WP_ES, WP_IST } }; Somit könnte ich dann auf meine Einträge wenn nötig abändern.
Daniel K. schrieb: > Gute Frage. Es ist natürlich so, dass ich zwischen Englisch und Deutsch > umschalten möchte Ich hatte so etwas schon vermutet. Aber genau das verstehe ich nicht. Ein Umschalten bedingt das Auswechseln der Frontplatte. Die wechselt man aber nicht dynamisch, sondern man entscheidet sich von vornherein für deutsch oder englisch. Ist es da nicht einfacher, den Source einmal für deutsch und einmal für englisch zu kompilieren und dann - je nach Modell - die richtige Firmware zu flashen?
Frank M. schrieb: > Daniel K. schrieb: >> Gute Frage. Es ist natürlich so, dass ich zwischen Englisch und Deutsch >> umschalten möchte > > Ich hatte so etwas schon vermutet. Aber genau das verstehe ich nicht. > Ein Umschalten bedingt das Auswechseln der Frontplatte. Die wechselt man > aber nicht dynamisch, sondern man entscheidet sich von vornherein für > deutsch oder englisch. > > Ist es da nicht einfacher, den Source einmal für deutsch und einmal für > englisch zu kompilieren und dann - je nach Modell - die richtige > Firmware zu flashen? Frank, dies ist durchaus auch eine Variante, auch wenn ich das mehrdimensionale Array schätzen würde :-) So könnte ich einfach die Controller und gesamte Elektronik vorbereiten und dann kann die bestellende Person dann noch kurzfristig die Frontplattenversion / -sprache wählen.
Wenn, dann würde ich eine englische Variante in die Software komplett einbauen wollen. Lediglich WP_IT und WP_IS zu definieren ohne jeglichen Mehrwert halte ich nicht für zielführend. Ich schlage vor, dass Du mich mal per E-Mail kontaktierst. Dann kann man dafür ein sinnvolles Konzept entwickeln.
Daniel K. schrieb: > Frank, dies ist durchaus auch eine Variante, auch wenn ich das > mehrdimensionale Array schätzen würde :-) So könnte ich einfach die > Controller und gesamte Elektronik vorbereiten und dann kann die > bestellende Person dann noch kurzfristig die Frontplattenversion / > -sprache wählen. HASt du vor damit in Serie zu gehen?
X. O. schrieb: > Daniel K. schrieb: > >> Frank, dies ist durchaus auch eine Variante, auch wenn ich das >> mehrdimensionale Array schätzen würde :-) So könnte ich einfach die >> Controller und gesamte Elektronik vorbereiten und dann kann die >> bestellende Person dann noch kurzfristig die Frontplattenversion / >> -sprache wählen. > > HASt du vor damit in Serie zu gehen? Nein, ich baue hier zusammen mit drei Kollegen diese Uhr. Einer dieser Kollegen möchte jedoch die Uhr in Englisch haben und es wäre für mich einfacher, wenn es im Layout auch schon englisch gäbe. So könnte ich für alle die gleiche SW aufspielen und nachträglich umschalten.
Meiner Meinung nach kann jeder die englische Version innerhalb von 15 Minuten selbst kompilieren. Einfach die layout Datei mit em::Blitz anpassen. Ich hab es ja selbst gemacht da meine Deutsche front das original Layout hat. Und das ist anders als das hier verwendete . Und da auch jeder für die englische Version wahrscheinlich ein anderes layout hat, würde ich den Aufwand nicht machen, das zentral zu integrieren...
Martin M. schrieb: > Meiner Meinung nach kann jeder die englische Version innerhalb von 15 > Minuten selbst kompilieren. Einfach die layout Datei mit em::Blitz > anpassen. > > Ich hab es ja selbst gemacht da meine Deutsche front das original Layout > hat. Und das ist anders als das hier verwendete . > Und da auch jeder für die englische Version wahrscheinlich ein anderes > layout hat, würde ich den Aufwand nicht machen, das zentral zu > integrieren... Martin, sehe ich etwas anders. Das mit dem Umbau stimme ich dir zu, da ich das ja auch gemacht habe und das relativ easy ist. Wenn wir aber davon ausgehen, dass das Layout im Englisch vorgegeben ist, wie dies jetzt in Deutsch ist, wäre dies eine Option für eine Umschaltung. Allenfalls ist dies ja sogar für eine Sammelbestellung von Interesse:-)
Hallo zusammen, ich hab ein Problem mit dem ESP8266. Ich habe alles recht fliegend auf einem Steckbrett verkabelt. Den ESP konnte ich nicht mit dem STM32F103-Mini-Development-Board dazwischen flashen. Also habe ich RX und TX direkt an den ESP gehängt und das STM Board nur dazu benutzt um den ESP in den Programmiermodus zu bringen. Damit gings. Jetzt habe ich aber kein WLAN namens "Wordclock" sondern "ESP8266" zu dem ich keine Verbindung mit meinem Handy aufbauen kann. :-( "Authentifizierungsproblem" Der ESP wird über einen AMS1117 mit 3,3 V / 800mA versorgt. Hier kurz ein Auszug aus dem 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.2.1<\r><\n> |
7 | rtc is online<\r><\n> |
8 | eeprom is online<\r><\n> |
9 | current eeprom version: 0x00020200<\r><\n> |
10 | DCF77 Error: High pulse >= 25<\r><\n> |
11 | ESP8266 LOGGER<\r><\n> |
12 | DCF77 Error: High pulse <= 5<\r><\n> |
13 | DCF77 Error: High pulse >= 25<\r><\n> |
14 | esp8266 now up<\r><\n> |
15 | (- setup UDP)<\r><\n> |
16 | (- local port: 2421)<\r><\n> |
17 | (- setup server UDP)<\r><\n> |
18 | (- local port: 2424)<\r><\n> |
19 | (FIRMWARE 2.2.0)<\r><\n> |
20 | (- working as AP)<\r><\n> |
21 | (MODE ap)<\r><\n> |
22 | (IPADDRESS 192.168.4.1)<\r><\n> |
23 | info: ip address = 192.168.4.1<\r><\n> |
24 | esp8266 now online<\r><\n> |
25 | --> time "192.53.103.103"<0d><0a><\r><\n> |
26 | (OK time)<\r><\n> |
Woran kanns liegen? Gruß Joachim
Ich habe ebenfalls ein Problem mit drei getesteten ESP8266-01. Wenn ich diese per Arduino IDE mit einem 0815 ESP WIFI Sketch bespiele, dann erzeugt der ESP nach einem neustart ein WLAN und wird von Handy + Notebook gefunden. Wenn ich die "ESP_Wordclock.bin" (2.2.0) per "esp8266_flasher.exe" oder auch "Flash_Download_Tools_v.2.4" auf die ESPs hochlade, erscheint mir nach einem ESP Neustart überhaupt kein WLAN. Hat mir einer eine Idee, was ich da falsch machen könnte?
Joachim J. schrieb: > Jetzt habe ich aber kein WLAN namens "Wordclock" sondern "ESP8266" zu > dem ich keine Verbindung mit meinem Handy aufbauen kann. :-( > "Authentifizierungsproblem" Wenn Du im laufenden Betrieb den User-Button drückst bzw. die entsprechende Brücke am MiniBoard herstellst, sollte der ESP in den AP-Mode gehen mit der SSID "wordclock" und dem im Artikel genannten Password. > Hier kurz ein Auszug aus dem Log:power_init() called<\r><\n> > switching power on<\r><\n> > <\r><\n> > Welcome to WordClock Logger!<\r><\n> > ----------------------------<\r><\n> > Version: 2.2.1<\r><\n> > rtc is online<\r><\n> > eeprom is online<\r><\n> > current eeprom version: 0x00020200<\r><\n> > DCF77 Error: High pulse >= 25<\r><\n> Du solltest den DCF-Eingangpin per Pullup auf definierten Pegel legen, wenn Du kein DCF benutzt - so wie im Artikel beschrieben. > (- working as AP)<\r><\n> > (MODE ap)<\r><\n> > (IPADDRESS 192.168.4.1)<\r><\n> Okay, Dein ESP geht in den AP-Modus. Aber noch mit der vom Hersteller eingestellten SSID "ESPxxxxx". Ein Drücken des User-Buttons (blaue User-Taste auf dem Nucleo-Board, alternativ beim STM32F103-Mini-Development-Board PA6 mittels Taster mit Masse verbinden) hast Du aber offenbar vergessen, denn das würde ebenso im Log protokolliert werden. Davon ist hier aber nichts zu lesen. Hier ist es im Artikel beschrieben: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Start_als_Access-Point
Martin M. schrieb: > Wenn ich die "ESP_Wordclock.bin" (2.2.0) per > "esp8266_flasher.exe" oder auch "Flash_Download_Tools_v.2.4" auf die > ESPs hochlade, erscheint mir nach einem ESP Neustart überhaupt kein > WLAN. Kannst Du das Protokoll (Log), was auf dem UART nach dem Boot erscheint, hier mal reinschreiben?
Hallo Frank, danke für die ausführliche Antwort! - Ein DCF Modul von Pollin ist angeschlossen. Das sind vermutlich nur "Frame-Error". Ein DCF Signal bekommt die Uhr irgendwann. - PA6 auf Masse ziehen habe ich auch schon versucht. Ob ich es in dem Log versucht habe, weiß ich gerade nicht mehr. Aber passiert ist da nichts. Ich schau später nochmal. Muss PA6 per PullUp auch auf 3,3V gezogen werden, wenn er nicht gerade kurz an Masse hängt? Gruß Joachim
Joachim schrieb: > - Ein DCF Modul von Pollin ist angeschlossen. Ah, okay. > Das sind vermutlich nur "Frame-Error". Ja. > Muss PA6 per PullUp auch auf 3,3V gezogen werden, wenn er nicht gerade > kurz an Masse hängt? Nein, hier wird der interne Pullup eingeschaltet. Beim DCF77-Input kann ich das nicht machen, weil die DCF-Module einfach zu schwach sind, bei eingeschaltetem internen Pullup den Pin noch auf Masse zu ziehen.
Joachim schrieb: > - PA6 auf Masse ziehen habe ich auch schon versucht. Ob ich es in dem > Log versucht habe, weiß ich gerade nicht mehr. Ich habe gerade nochmal in den Source geschaut. Blöderweise bewirkt der User-Button (bzw. PA6) nur eine Umschaltung in den AP-Mode, wenn das ESP-Modul nicht bereits im AP-Mode ist. Bisher ging das wohl immer gut, aber bei den neueren Modulen scheinen die Reseller die ESP-Module bereits so auszuliefern, dass der AP-Mode jetzt Standard ist. Die Folge ist, dass der ESP nicht auf die SSID "wordclock" umgeschaltet wird, weil der ESP ja bereits im AP-Mode steckt. Eigentlich nicht so schlimm, dann müsste der Zugriff über die SSID "ESPxxx" mit leerem Passwort funktionieren, falls der Reseller nicht auch schon ein Standard-Passwort hinterlegt hat. Aber das ist unschön. Und deshalb werde ich die Software derart ändern, dass der User-Button (bzw. PA6) immer eine Aktivierung des AP-Modes mit SSID "wordclock" bewirkt - egal, ob der ESP bereits im AP-Mode ist oder nicht. Dann sollte es immer nach Anleitung funktionieren. Update kommt heute abend.
Frank M. schrieb: > Ich habe gerade nochmal in den Source geschaut. Blöderweise bewirkt der > User-Button (bzw. PA6) nur eine Umschaltung in den AP-Mode, wenn das > ESP-Modul nicht bereits im AP-Mode ist. Bisher ging das wohl immer gut, > aber bei den neueren Modulen scheinen die Reseller die ESP-Module > bereits so auszuliefern, dass der AP-Mode jetzt Standard ist. > > Die Folge ist, dass der ESP nicht auf die SSID "wordclock" umgeschaltet > wird, weil der ESP ja bereits im AP-Mode steckt. Eigentlich nicht so > schlimm, dann müsste der Zugriff über die SSID "ESPxxx" mit leerem > Passwort funktionieren, falls der Reseller nicht auch schon ein > Standard-Passwort hinterlegt hat. > Kann ich bestätigen, bei mir wars auch so. Ich konnte mich aber ohne Probleme verbinden, da kein Password gesetzt war und anschließend die SSID geändert. Also habe ich mir nicht lange Gedanken dazu gemacht.
Frank M. schrieb: > Martin M. schrieb: >> Wenn ich die "ESP_Wordclock.bin" (2.2.0) per >> "esp8266_flasher.exe" oder auch "Flash_Download_Tools_v.2.4" auf die >> ESPs hochlade, erscheint mir nach einem ESP Neustart überhaupt kein >> WLAN. > > Kannst Du das Protokoll (Log), was auf dem UART nach dem Boot erscheint, > hier mal reinschreiben? Beim Anschluss des ESP8266 am USB UART erscheint das WLAN, und ich kann mich auf die Webseite einloggen. Dein Image ist also in Ordnung! Ich hab nun mein Shield V1 mal mit den Bildern und der Beschreibung verglichen. In der Anlage habe ich ein Foto meines zweiten Shileds gemacht. Am getesteten Shield V1 ist ein DCF von Pollin angeschlossen. Ich nütze nicht: LDR (Lichtsensor) Infrarot 1-Wire Tempsensor DS18B20 Kann es sein, dass ich bei den rot markierten Bereichen was vergessen habe. 10,0k Widerstand 100Ohm Widerstand 4,7uF Elko Ich denke es fehlt nur der 10,0k Widerstand? Den ESP8266-01 habe ich fürs Foto weggelassen.... Danke schon mal fürs Feedback an einen Nichtelektroniker :-)
Frank M. schrieb: > Und deshalb werde ich die Software derart ändern, > dass der User-Button (bzw. PA6) immer eine Aktivierung des AP-Modes > mit SSID "wordclock" bewirkt - egal, ob der ESP bereits im AP-Mode ist > oder nicht. Dann sollte es immer nach Anleitung funktionieren. Das Upddate ist eingespielt als Version 2.2.3. Das SVN und sämtliche Hex-Dateien sind nun auf dem aktuellen Stand. Einzige Änderung gegenüber 2.2.2: - Bugfix: Unbedingtes Aktivieren des AP-Modus durch User-Button, auch wenn der ESP wegen Hersteller-Einstellungen bereits im AP-Modus ist.
Guten Morgen! Läuft! Super! Dankeschön! AP "wordclock" ist aufgetaucht und ich konnte mich problemlos verbinden. Gruß Joachim
@Frank Vielen Dank für die neue Version. @Martin M. ja der 10 K Widerstand fehlt noch, der wird für das ESP benötigt. Der 100 Ohm Widerstand und der Kondensator werden für den Infrarot Empfänger benötigt @All die Probleme mit dem 220 Ohm Widerstand haben bzw. sporadisches LED flackern, falsche Farben oder ein merkwürdiges verhalten der Matrix feststellen. Meine LEDs scheinen den 3,3V Eingangspegel nicht sonderlich gut zu verkraften, hier kann es helfen einen LVL Shifter zu benutzen, zumindest hat dies bei mir wahre Wunder bewirkt, nun läuft alles einwandfrei. Habe so einen verwendet: https://de.aliexpress.com/item/5pcs-lot-Logic-Level-Shifter-Bi-Directional-Four-way-two-way-logic-level-transformation-module/32690305593.html? zwar ein paar Kanäle Zuviel, aber hatte nichts anderes da. Gruß Marco
Hallo, ich habe eine WordClock WC12H mit dem STM32F411 Nucleo laut Anleitung gebaut und sie funktionierte auch einwandfrei, bis ich das ST-Link absägte... - R35, R37, SB62, SB63 sind geschlossen - SB16, SB50, SB54, SB55 sind offen - C33, C34 mit 22pf bestückt - X3 bestückt (habe hier X1 vom ST-Link verwendet) Beim Booten bzw. Drücken des Resttasters leuchtet nach ca. 1 Sekunde die Led LD2 grün. Woran könnte es liegen? Danke! Gruß Didi
Die Uhr funktioniert wieder! Ich hab sie ca. 5 Minuten am Strom gehabt, dann erst Reset gedrückt - seltsam ... Didi
Marco R. schrieb: > Meine LEDs scheinen den 3,3V Eingangspegel nicht sonderlich gut zu > verkraften, hier kann es helfen einen LVL Shifter zu benutzen, zumindest > hat dies bei mir wahre Wunder bewirkt, nun läuft alles einwandfrei. Ich habe mir das Datenblatt von WS2812B nochmals bezüglich der Daten-Eingangsspannung angesehen: Danach ist die minimale Eingangsspannung für den H-Pegel (V IH) 0,7*V DD, also 3,5 V. Bei mir läuft das System MIT 220 Ohm-Widerstand und OHNE Pegelwandler einwandfrei. Da aber die erste WS2812B letztlich außerhalb der Spezifikation betrieben wird, ist aus meiner Sicht nachvollziehbar, dass einige Mitstreiter hier im Forum über Schwierigkeiten bei der Ansteuerung der Stripes berichten. Einen Schaltplan für eine solchen "Logic-Level-Shifter" habe ich angehängt. Gruß Günter
Günter H. schrieb: > Marco R. schrieb: >> Meine LEDs scheinen den 3,3V Eingangspegel nicht sonderlich gut zu >> verkraften, hier kann es helfen einen LVL Shifter zu benutzen, zumindest >> hat dies bei mir wahre Wunder bewirkt, nun läuft alles einwandfrei. > > Ich habe mir das Datenblatt von WS2812B nochmals bezüglich der > Daten-Eingangsspannung angesehen: Danach ist die minimale > Eingangsspannung für den H-Pegel (V IH) 0,7*V DD, also 3,5 V. > > Bei mir läuft das System MIT 220 Ohm-Widerstand und OHNE Pegelwandler > einwandfrei. Da aber die erste WS2812B letztlich außerhalb der > Spezifikation betrieben wird, ist aus meiner Sicht nachvollziehbar, dass > einige Mitstreiter hier im Forum über Schwierigkeiten bei der > Ansteuerung der Stripes berichten. > > Einen Schaltplan für eine solchen "Logic-Level-Shifter" habe ich > angehängt. > > Gruß > Günter Ich habe z.b. Anzeigeprobleme mit den ersten beiden Buchstaben LEDs (ES) - kurzfristig leuchten sie korrekt, aber spätestens nach einem Uhrzeitwechsel leuchtet das E gelb, das S weiss obwohl rot definiert ist. Reicht es aus, diesen " logic Level shifter "ab den ersten Buchstaben LEDs vorzuschalten, oder sollten da idealerweise alle drüber versorgt werden? Ich selbst habe das Mini Dev shield v1 mit dem stm...103 im Einsatz. Die Stromversorgung wird da ja mittels des flachbandkabels realisiert.
Martin M. schrieb: > Reicht es aus, diesen " logic Level shifter "ab den ersten Buchstaben > LEDs vorzuschalten, oder sollten da idealerweise alle drüber versorgt > werden? > > Ich selbst habe das Mini Dev shield v1 mit dem stm...103 im Einsatz. > Die Stromversorgung wird da ja mittels des flachbandkabels realisiert. Hallo Martin, zwischen Board und erster LED, somit alle Leds. wichtig ist ja das das Signal welches vom Board kommt auf den 5V Level erhöht wird damit es schon in der ersten LED korrekt verarbeitet werden kann und dann korrekt weiter zur nächsten geht. Wenn du ihn erst später einbaust bringt es nicht viel, ist ja wie bei einem Verstärker, kommt Müll an hast du den Müll verstärkt :) Bisher hat der Shifter wunderbar bei mehreren Uhren funktioniert, bei einer war dann allerdings doch mal eine LED defekt und musste getauscht werden. Gruss Marco
Marco R. schrieb: > Martin M. schrieb: >> Reicht es aus, diesen " logic Level shifter "ab den ersten Buchstaben >> LEDs vorzuschalten, oder sollten da idealerweise alle drüber versorgt >> werden? >> >> Ich selbst habe das Mini Dev shield v1 mit dem stm...103 im Einsatz. >> Die Stromversorgung wird da ja mittels des flachbandkabels realisiert. > > Hallo Martin, > zwischen Board und erster LED, somit alle Leds. > > wichtig ist ja das das Signal welches vom Board kommt auf den 5V Level > erhöht wird damit es schon in der ersten LED korrekt verarbeitet werden > kann und dann korrekt weiter zur nächsten geht. > > Wenn du ihn erst später einbaust bringt es nicht viel, ist ja wie bei > einem Verstärker, kommt Müll an hast du den Müll verstärkt :) > > Bisher hat der Shifter wunderbar bei mehreren Uhren funktioniert, bei > einer war dann allerdings doch mal eine LED defekt und musste getauscht Hmm.... Ich speisse mehrere Streifen(Reihen) parallel mit Strom. Ich habe die WC12h mit 4 minuten punkte. D.h. die Data Leitung fängt durchläuft alle Minutenpunkte und erst dann gehts zu "ES IST".... Für was ist eigentlich diese WS2812 Schutzschaltung geeignet: http://www.led-studien.de/2014/06/24/schutzschaltung-fuer-ws2812-pixel/ > werden. > > Gruss > Marco
Martin M. schrieb: > Ich habe die WC12h mit 4 minuten punkte. > D.h. die Data Leitung fängt durchläuft alle Minutenpunkte und erst dann > gehts zu "ES IST".... > > Für was ist eigentlich diese WS2812 Schutzschaltung geeignet: > http://www.led-studien.de/2014/06/24/schutzschaltung-fuer-ws2812-pixel/ Richtig deswegen muss der Shifter ja auch direkt nach dem Board vor der ersten Minuten LED, und sogar am besten noch VOR dem 220 Ohm Widerstand, damit dieser weiterhin seine Schutzwirkung hat. Sprich auf dem Board den Widerstand durch eine Drahtbrücke ersetzen und nach dem Shifter einbauen. Die Schutzschaltung kannte ich noch nicht. Schaden kann es nicht. Dann kannst die den 220 Ohm Widerstand schenken (sitzt ja schon auf dem Board) und dein LED Strip ist noch vor Spannungsspitzen geschützt. Aber da kann vielleicht jemand anderes noch mehr zu sagen. Gruss Marco
Martin M. schrieb: > Für was ist eigentlich diese WS2812 Schutzschaltung geeignet: > http://www.led-studien.de/2014/06/24/schutzschaltung-fuer-ws2812-pixel/ Diese Schutzschaltung sorgt dafür, dass die Spannung am Dateneingang (V I) max. 0,5 V größer oder kleiner werden kann als die Versorgungsspannung (V DD) der WS2812B. Bei diesem Projekt werden beim (optionalen) Abschalten der Versorgungsspannung für die WS2812B auch die Daten per Software "abgeschaltet", Masse wird gar nicht geschaltet. Somit ist diese Schaltung der "Gürtel zum Hosenträger". Ich habe sie bei mir trotzdem eingebaut - auch bei den V 2-Versionen der Shields kann zumindest die Diode zwischen Versorgungsspannung und Dateneingang bestückt werden. Günter H. schrieb: > Bei mir läuft das System MIT 220 Ohm-Widerstand und OHNE Pegelwandler > einwandfrei. Das änderte sich schlagartig, als ein anderes 5 V-Netzteil einsetzte: LEDs an STM32-Board, DS3231 und ESP8266 leuchten, sonst bleibt alles dunkel! Das zunächst eingesetzte Netzteil lieferte 4,95 V, das andere 5,28 V und damit ging zunächst nichts mehr. (Zwischen)-Lösung bis zum Einbau eines "Logik Level Shifters": Einbau einer SB550-Diode (5 A Schottky, war gerade "da") in die Spannungsversorgung für die gesamte WordClock; bei der 12h-Version fallen ca. 0,3 V ab und die Uhr kann auch mit diesem Netzteil betrieben werden. Gruß Günter
Ich hätte noch einen sehr einfachen Alternativvorschlag, um das Level-Problem zu lösen: - Pullup-Widerstand 4k7 an den WS2812-Eingang "DI" - Den entsprechenden Ausgang des STM32 auf Open-Drain umstellen. Den Pullup-Widerstand könnte man sehr einfach zwischen den Schraubklemmen 5V und dem Data-Signal anbringen. Die Umstellung auf Open-Drain geschieht in ws2812.c, Funktion ws2812_init() an zwei Stellen, nämlich einmal für STM32F4XX: Alt:
1 | gpio.GPIO_OType = GPIO_OType_PP; |
Neu:
1 | gpio.GPIO_OType = GPIO_OType_OD; |
Und dann nochmal für STM32F10X: Alt:
1 | gpio.GPIO_Mode = GPIO_Mode_AF_PP; |
Neu:
1 | gpio.GPIO_Mode = GPIO_Mode_AF_OD; |
Ich werde das heute mal testen. Der Charme dieser Lösung: sie ist einfach und billig, weil sie nur einen zusätzlichen Widerstand braucht. Wie wäre es, wenn ich das im Web-Interface konfigurierbar mache? Für den Großteil der Anwender funktioniert die aktuelle Lösung ja "out-of-the-box", so dass das Problem offenbar nur vereinzelt auftritt.
:
Bearbeitet durch Moderator
Bei mir hat sich dasled Problem erledigt, nachdem ich die Stromversorgung der Minuten Led bei "Es ist" seperat mit Strom versorgt habe. Ursprünglich habe ich es gemacht wie in dem Beispielfoto in der Doku. Da wird die Minutenled strommässig von "ES ISt" angezapft. Mein Netzteil (Pollin 4A) liefert 4.97v
Martin M. schrieb: > Bei mir hat sich dasled Problem erledigt, nachdem ich die > Stromversorgung der Minuten Led bei "Es ist" seperat mit Strom versorgt > habe. Was auch wieder zeigt, dass der Level an DIN bei manchen WS2812 auf Messers Schneide steht. Offenbar hast Du durch die separate Stromversorgung einen minimal größeren Spannungsabfall, der schon ausgereicht hat.
Frank M. schrieb: > Ich hätte noch einen sehr einfachen Alternativvorschlag, um das > Level-Problem zu lösen: > > - Pullup-Widerstand 4k7 an den WS2812-Eingang "DI" > - Den entsprechenden Ausgang des STM32 auf Open-Drain umstellen. Einverstanden, einfacher geht es wohl nicht. Und wenn die Option 4,7k-Widerstand/Open-Drain-Ausgang im Web-Interface konfigurierbar ist, kann jeder seine Option auswählen. > Was auch wieder zeigt, dass der Level an D IN bei manchen WS2812 auf > Messers Schneide steht. Das habe ich ja auch gerade hautnah erlebt. Gruß Günter
Frank M. schrieb: > - Pullup-Widerstand 4k7 an den WS2812-Eingang "DI" > - Den entsprechenden Ausgang des STM32 auf Open-Drain umstellen. > [...] > Ich werde das heute mal testen. Getestet und für gut befunden. Funktioniert. Ich habe lediglich einen Pullup an die Schraubklemmen gehängt und den STM32-Output auf Open-Drain umgestellt. Ohne Pullup reagieren die LEDs nun gar nicht mehr, mit Pullup an 5V ist alles okay. (Das Foto zeigt den entsprechenden Ausschnitt an meinem Nucleo-Prototyp-Shield, mit dem ich damals das STM32-Projekt begonnen habe) Damit sollte das Pegel-Problem gelöst sein. Jetzt die finale Frage: Soll ich das konfigurierbar machen oder sollen wir prinzipiell auf Pullup/Open-Drain umstellen? Dann muss aber jeder, der ein Software-Update einspielt, den Pullup-Widerstand einlöten/anklemmen.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Jetzt die finale Frage: > > Soll ich das konfigurierbar machen oder sollen wir prinzipiell auf > Pullup/Open-Drain umstellen? Wenn der Aufwand für "konfigurierbar machen" überschaubar ist, würde ich diesen Weg vorschlagen: Bei vielen klappt es mit dem 3,3 V-Pegel ja problemlos - die müssten dann nach einem Software-Update noch einmal zum Lötkolben greifen, weil es bei den Shields dafür keine Schraubklemmen gibt. Mal schauen, was sonst noch an Rückmeldungen kommt. Gruß Günter
Günter H. schrieb: > Wenn der Aufwand für "konfigurierbar machen" überschaubar ist, würde ich > diesen Weg vorschlagen Naja, ist natürlich etwas Aufwand. Zumal braucht es dann eine neue ESP-Firmware-Version, ein neues Flag, eine neue EEPROM-Speicherstelle und und und... Mir ist da gerade eine komplett andere Idee durch den Kopf geschossen: Ich schalte den Pin erstmal mit internem Pulldown auf Input - ja der STM32 hat sowas. Dann messe ich, ob trotzdem ein High-Pegel anliegt. Wenn ja, ist der externe Pullup angeschlossen (weil mit 4k7 niederohmiger) und ich schalte anschließend den Output auf Open-Drain. Wenn nein, schalte ich den Pin wie bisher auf Push-Pull. Das klingt erstmal genial, ich werde das mal testen. Aber ich bin mir sicher, dass das klappen wird :-)
:
Bearbeitet durch Moderator
Funktioniert perfekt! Der externe Pullup wird korrekt erkannt, wenn er angeschlossen ist. Es erscheint dann im Log: ws2812: external pullup detected Oder wenn er nicht angeschlossen ist: ws2812: no external pullup detected Somit kann ich den Pin automatisch in den open-drain- oder push-pull-Modus schalten. Damit muss der Anwender nichts konfigurieren, er braucht nur den Pullup anzuschließen, wenn die WS2812 Probleme mit dem Level haben. Die Änderung kommt im nächsten Release - heute oder morgen.
:
Bearbeitet durch Moderator
Nach dem heutigen Samstgseinkauf kann ich als diffusor für eine Stahlblech Front folgendes empfehlen: Toppits Butterbrotpapier weiss Ich hab sie einlagig im Einsatz und bin mit der streuwirkung sehr zufrieden. Evtl. Zweilagig wennan eine Uhr hat bei der man ganz nah davor steht.
Hallo Martin zu deinem Beitrag habe ich eine Anfängerfrage, da ich auch ein Display für eine 12Std.Uhr "anpassen " möchte: Martin M. schrieb: > Meiner Meinung nach kann jeder die englische Version innerhalb von 15 > Minuten selbst kompilieren. Einfach die layout Datei mit em::Blitz > anpassen. > > Ich hab es ja selbst gemacht da meine Deutsche front das original Layout > hat. Und das ist anders als das hier verwendete . reicht es aus, in der Layout datei "display.c -> *tables12h.c bei " const struct WordIiiu Illumination (WP_COUNT) und const char * display(WC_ROWS) die entsprechenden Anpassungen für eine 12h Uhr vorzunehmen oder gibt es noch andere "Orte" ? Gruß Burkhard
Ich habe gestern nachmittag bereits die Version 2.2.4 hochgeladen, bin aber nicht mehr dazu gekommen, sie hier anzukündigen. Einziger Punkt: Automatische Umschaltung auf Open-Drain-Betrieb des Led-Ausgangs bei Anbringung eines 4k7 Pullups am WS2812-Eingang zur Erhöhung und Stabilisierung des Eingangspegels von 3,3V auf 5V. Dasselbe gilt für SK6812. Ich werde das heute noch im Artikel dokumentieren. Damit sollte das Pegel-Problem, das einige wenige Leute hatten, behoben sein.
Burkhard D. schrieb: > Hallo Martin > zu deinem Beitrag habe ich eine Anfängerfrage, da ich auch ein Display > für eine 12Std.Uhr "anpassen " möchte: > > Martin M. schrieb: >> Meiner Meinung nach kann jeder die englische Version innerhalb von 15 >> Minuten selbst kompilieren. Einfach die layout Datei mit em::Blitz >> anpassen. >> >> Ich hab es ja selbst gemacht da meine Deutsche front das original Layout >> hat. Und das ist anders als das hier verwendete . > > reicht es aus, in der Layout datei "display.c -> *tables12h.c bei " > const struct WordIiiu Illumination (WP_COUNT) und const char * > display(WC_ROWS) die entsprechenden Anpassungen für eine 12h Uhr > vorzunehmen oder gibt es noch andere "Orte" ? > Gruß > Burkhard ist echt recht schnell und einfach gemacht. für die WC12h - hab ich mir notiert: Mit der Software "EmBlitz" die "wclock24h-F103.ebp" öffnen Umschalten auf "WC12h-STM32F103-Release" Dann in der Baumstruktur: Sources -> .. -> src -> display -> tables12h.c die LEDS anpassen. Passend durchzählen "Wortzeile 1 = 0,x,x". "Wortzeile 2 = 1,x,x" usw. Erzeugen des HEX FILES: Build >> Compile >> danach befindet sich das HEXFILE dann im Projektverzeichnis >> bin>>Release>> Das ist alles :-)
Hallo Martin Super und danke für die schnelle Antwort. Ich denke mit der Anleitung sollte ich es schaffen. Gruß Burkhard
Frank M. schrieb: > Ich habe gestern nachmittag bereits die Version 2.2.4 hochgeladen... Kann das sein, dass die Änderungen in der apa102.c nicht enthalten sind?
Ich bin mit der ersten wc12h mit dem shield v1 und dem stm.... fertig - der Hingucker schlecht hin. Eine Frage noch, wo müsste ich hinlangen, wenn ich eine weitere Animation einbauen möchte (einerseits in das ESP8266 image per arduino ide und andererseits in dem stm.....edb File) Ich möchte an dem Geburtstag meiner Frau stündlich ein herzchen einblenden lassen. Ähnlich der Temperatur ansichtseinstellung. Das könnte ich am Geburtstag aktivieren mit der zeitintervall einstellung - fertig. Das ganze würde dann vermutlich automatisiert per smarthome (ip-symcon) triggern.....
ItsMe schrieb: > Frank M. schrieb: >> Ich habe gestern nachmittag bereits die Version 2.2.4 hochgeladen... > > Kann das sein, dass die Änderungen in der apa102.c nicht enthalten sind? Korrekt. Bisher hat auch niemand bei den APA102 keine Probleme mit dem Daten-Pegel gemeldet. Desweiteren müsste man bei den APA102 auch zwei Pullups benutzen, nämlich für Clock und für Data. Theoretisch müsste ich da dann auch zwei unabhängige Messungen vornehmen. Meine eigenen APA102-Stripes funktionierten von Anfang an einwandfrei. Wenn man davon ausgeht, dass CMOS-ICs ihre Schaltschwelle in der Regel bei U/2, also 2,5V haben, sollten da auch eigentlich keine Probleme auftreten. Bei den WS2812 hat sich die Notwendigkeit erst durch die Praxis ergeben. Da bei den SK6812 die Software sehr ähnlich ist, habe ich die Änderung auch direkt für die SK6812-LEDs eingebaut. Auch wenns dort bisher nicht notwendig war: es schadet hier auch nicht. Fazit: Im Moment sehe ich für die APA102 keinen Handlungsbedarf.
:
Bearbeitet durch Moderator
Niels J. schrieb: > Mir ist allerdings aufgefallen, dass die Buchstaben bei der Laufschrift > nach links hin zusammenrutschen. Den Fehler habe ich gefunden und behoben. Der Bugfix kommt mit dem nächsten Release.
Martin M. schrieb: > Eine Frage noch, wo müsste ich hinlangen, wenn ich eine weitere > Animation einbauen möchte (einerseits in das ESP8266 image per arduino > ide und andererseits in dem stm.....edb File) Auf dem ESP8266 ist dafür keine Änderung notwendig. Die Liste der Animationen wird vom STM32 zum ESP8266 nach dem Start übertragen. > Ich möchte an dem Geburtstag meiner Frau stündlich ein herzchen > einblenden lassen. Auf dem STM32 ist eine zusätzliche Animation vorwiegend Handarbeit. Wann ist denn der Geburtstag Deiner Frau? Ein Tannenbaum und ein Herz steht sowieso auf der TODO-Liste. Diesen Punkt wollte ich noch kurzfristig anpacken, da ja Weihnachten bald vor der Tür steht. P.S. Die Einblendung von Piktogrammen zu einer festen Zeit passt nicht ins Animations-Konzept. Die Animationen werden immer bei Uhrzeitwechseln eingeblendet. Die Anzeige der Temperatur in bestimmten Intervallen passt da besser, wird aber nicht durch eine Animation implementiert.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Martin M. schrieb: >> Eine Frage noch, wo müsste ich hinlangen, wenn ich eine weitere >> Animation einbauen möchte (einerseits in das ESP8266 image per arduino >> ide und andererseits in dem stm.....edb File) > > Auf dem ESP8266 ist dafür keine Änderung notwendig. Die Liste der > Animationen wird vom STM32 zum ESP8266 nach dem Start übertragen. > >> Ich möchte an dem Geburtstag meiner Frau stündlich ein herzchen >> einblenden lassen. > > Auf dem STM32 ist eine zusätzliche Animation vorwiegend Handarbeit. Wann > ist denn der Geburtstag Deiner Frau? Ein Tannenbaum und ein Herz steht > sowieso auf der TODO-Liste. Diesen Punkt wollte ich noch kurzfristig > anpacken, da ja Weihnachten bald vor der Tür steht. > > P.S. > Die Einblendung von Piktogrammen zu einer festen Zeit passt nicht ins > Animations-Konzept. Die Animationen werden immer bei Uhrzeitwechseln > eingeblendet. Die Anzeige der Temperatur in bestimmten Intervallen passt > da besser, wird aber nicht durch eine Animation implementiert. Danke für die weitere Planung :-) Das hört sich super an. Ja ein Weihnachtsbaum oder ein Herzchen wären perfekt. Meine Frau hat "erst" nächstes Frühjahr Geburtstag. Wie ein solches Herzchen/und wann es eingeblendet wird ist eigentlich egal. Je nachdem, was sinnvoll einbindbar ist - ohne große Verrenkungen! Ob das jetzt bei Uhrzeitwechsel passiert, oder wie bei der Temperatur mit der Intervallmaske ist Geschmackssache. Ich müsste dann nur wissen, in den welchen EMBlocks/EM-Blitz Projektfiles ich das ganze rauskopieren müsste. Ich habe ja ein anderes Frontlayout(tables12h.c), dass ich angepasst habe. Laut deiner Software-Übersicht ist die STM Version 2.3.x ja nicht mehr mit der ESP Version 2.2.1 kompatibel. Darum bin ich derzeit noch auf 2.2.x (STM) und 2.2.1 (ESP) - die 2.2.1 war das höchste BIN File was ich für den ESP gefunden habe.... STM ESP 2.3.x 2.2.1 inkompatibel Vielleicht habe ich mich auch verlesen und ich könnte bereits auf STM... Version 2.3.x gehen... Mich freut die Uhr gerade jeden ABEND wenn ich wieder daran bastle... Demnächst die Montage und dann sehe ich die "grinsenden" Gäste :-) -------------------------- Falls jemand die MDF Grundplatte an der Schnittkante weiss behandeln möchte, kann ich von Schöner Wohnen "Fenster und Türenlackgrundierung" empfehlen. 2x streichen/pinseln... zwischendrin evtl. ein wenig anschleifen, fertig. Damit erreicht man als Nicht-Lackierer schnell+dauerhaft eine tragfähige weisse Lackschicht auf MDF.
Martin M. schrieb: > Laut deiner Software-Übersicht ist die STM Version 2.3.x ja nicht mehr > mit der ESP Version 2.2.1 kompatibel. Sie wird es dann nicht mehr sein, denn im Moment ist die STM-Version bei 2.2.4. Die nächste Version wird dann aber tatsächlich 2.3.0 sein - wegen den Piktogrammen. Martin M. schrieb: > Ich müsste dann nur wissen, in den welchen EMBlocks/EM-Blitz > Projektfiles ich das ganze rauskopieren müsste. Diese Vorgehensweise halte ich nicht für zielführend. Da sich in der STM32-Software voraussichtlich mehr ändern wird als Du je selbst daran geändert hast, ist es eher sinnvoll, dass Du Deine Änderungen wieder in eine zukünftige Version einbaust.
Martin M. schrieb: > Falls jemand die MDF Grundplatte an der Schnittkante weiss behandeln > möchte, kann ich von Schöner Wohnen "Fenster und Türenlackgrundierung" > empfehlen. > 2x streichen/pinseln... zwischendrin evtl. ein wenig anschleifen, > fertig. Ich habe auf die Kanten einer Grundplatte (Multiplex-Holzplatte) Kantenumleimer aufgebügelt. Die gibt es im Baumarkt in großer Auswahl, sind auch schnell aufgebracht und haben eine sehr saubere Oberfläche.
Frank M. schrieb: > Ich habe gestern nachmittag bereits die Version 2.2.4 hochgeladen. bin > > Einziger Punkt: > > Automatische Umschaltung auf Open-Drain-Betrieb des Led-Ausgangs bei > Anbringung eines 4k7 Pullups am WS2812-Eingang zur Erhöhung und > Stabilisierung des Eingangspegels von 3,3V auf 5V. Heute habe die Version 2.2.4 geflashed und zunächst den 4k7 Pullup-Widerstand noch nicht eingelötet. Wie zu erwarten gab es mit meinem "Problemnetzteil" (Ausgangsspannung knapp 5,3 V) keine LED-Anzeige. Nach Einbau des Pullup-Widerstandes ist alles perfekt! Danke für diese "genial einfache" Lösung. Gruß Günter
Günter H. schrieb: > Martin M. schrieb: >> Falls jemand die MDF Grundplatte an der Schnittkante weiss behandeln >> möchte, kann ich von Schöner Wohnen "Fenster und Türenlackgrundierung" >> empfehlen. >> 2x streichen/pinseln... zwischendrin evtl. ein wenig anschleifen, >> fertig. > > Ich habe auf die Kanten einer Grundplatte (Multiplex-Holzplatte) > Kantenumleimer aufgebügelt. Die gibt es im Baumarkt in großer Auswahl, > sind auch schnell aufgebracht und haben eine sehr saubere Oberfläche. Das ist natürlich auch ne gute Idee - vor allem günstiger als meine Farbe.... Die Farbe kostet stolze 19€ bei 0,75liter...
Hallo, könntet ihr mir eine Bezugsquelle für die SK6812 RGBW LEDs mit 28,1mm Abstand nennen? Bzw. wo ihr diese fertigen lasst. Danke und Grüße
:
Bearbeitet durch User
Ich fürchte da wirst du nichts "fertiges" mit dem richtigen Abstand finden. Ich hatte mir mal ein paar Streifenplatinen gebastelt (bzw. von einem Kollegen basteln lassen), wie Torsten sie früher beim alten Wordclock Projekt angeboten hat und diese auf der Arbeit auf ein paar Sammelnutzen geschummelt. Für eine einzelne Uhr Streifen zu bestellen dürfte aber kostentechnisch eher unattraktiv sein und Jakob hier aus dem Forum (http://www.platinensammler.de) ist aus privaten Gründen schon länger inaktiv. Eine günstigere Alternative, die allerdings mit ein wenig Bastelarbeit verbunden ist, wären die LEDs, die man schon auf kleinen Boards fertig aufgelötet bekommt. Die könntest du frei Platzieren, musst dich dann aber halt selbst um die Verkabelung und Befestigung kümmern (im Gegensatz zu Platine oder LED Strip, die man einfach aufkleben kann). Hier ein Link zu einem Händler bei Aliexpress, kann aber durchaus sein, dass es die noch günstiger gibt... ich hab jetzt nicht wirklich intensiv gesucht und den ersten Treffer genommen: https://www.aliexpress.com/item/addressable-SK6812-RGBW-warm-white-led-with-alu-base-DC5V-input-5050-SMD-RGBW-with-SK6812/32664750448.html Und achte genau drauf, dass du nicht versehentlich die RGB Version erwischst, sondern eine der RGBW Varianten. Ein Bekannter ist im "Sparwahn" mal drauf reingefallen. ;-) Ich wollte ggf. kommendes Jahr nochmal ein paar von den Streifenplatinen fertigen lassen, wird aber wohl vermutlich wegen akutem Zeitmangel erst irgendwo im Zeitraum März/April/Mai sein. Und das sind dann nätürlich nur die Platinen ohne LEDs. Die LEDs müsstest du dann noch zusätzlich selbst beschaffen und auflöten müsstest du sie dann ja auch noch...
Hallo zusammen, ich fange seit zwei Tagen an den Bau einer 24h Wordclock zu planen. Ich würde aber gerne eine Front aus Metall haben, welche hier bisher nicht angeboten wird. Allerdings kann ich weder im zugehörigen Artikel noch hier im Forum eine entsprechende Layout / 3d /CAD Datei finden, mit der ich eine Frontplatte herstellen lassen könnte. Ist diese im Gegensatz zu den alten Projekten hier bewusst nicht verlinkt?
Hi Simon, schau mal in den ursprünglichen Thread der WordClock24h, da gibt es die Front der 24h als SVG und DXF, ich glaube es war sogar ein Stencil Font (ein muss wenn du die Front aus Edelstahl fertigen willst). Damit sollte sich doch was machen lassen: https://www.mikrocontroller.net/articles/Datei:WC24h18x16_V3_Stencil_Allround.dxf.zip https://www.mikrocontroller.net/articles/Datei:WC24h18x16_V3_Stencil_Allround.svg.zip https://www.mikrocontroller.net/articles/WordClock24h
Hi Peter, vielen Dank schon Mal. Ich hatte in dem anderen Thread gar nicht geschaut, da ich hier herausgelesen habe, dass das Layout (die Abstände) leicht geändert wurden. Besteht diese Anpassung nicht zu der von dir geposteten Version?
Peter G. schrieb: > Eine günstigere Alternative, die allerdings mit ein wenig Bastelarbeit > verbunden ist, wären die LEDs, die man schon auf kleinen Boards fertig > aufgelötet bekommt. Die könntest du frei Platzieren, musst dich dann > aber halt selbst um die Verkabelung und Befestigung kümmern (im > Gegensatz zu Platine oder LED Strip, die man einfach aufkleben kann). > > Hier ein Link zu einem Händler bei Aliexpress, kann aber durchaus sein, > dass es die noch günstiger gibt... ich hab jetzt nicht wirklich intensiv > gesucht und den ersten Treffer genommen: > https://www.aliexpress.com/item/addressable-SK6812-RGBW-warm-white-led-with-alu-base-DC5V-input-5050-SMD-RGBW-with-SK6812/32664750448.html Mal angenommen ich befestige die LEDs auf einer Trägerplatte aus Kunststoff o.ä., wäre es da nicht einfacher anstatt dieser kleinen Boards einfach einen LED Streifen zu kaufen und nach jeder LED zu trennen? Bei den Boards befinden sich nämlich die Kontakte auf der Rückseite, diese müsste ich ja auch auf die Trägerplatte kleben. Da ist es doch einfacher wenn ich die einzelnen LED eines Streifens aufklebe und dann verkabel, da hier die Kontakte auf der Vorderseite sind. Oder sehe ich das falsch?
:
Bearbeitet durch User
Hallo zusammen, erstmal großen Respekt an den oder die Ersteller des Projekts! Saubere Arbeit! Ich habe Interesse an einer 12h oder 24h, komme allerdings derzeit nicht dazu dieses Projekt umzusetzen. Daher meine Frage: Verkauft hier jemand seine Uhr (neuwertig), oder würde jemand sie für mich gegen Endgeld herstellen? Gruß
@Simon, puh, da bin ich ehrlich gesagt überfragt... vielleicht erinnert sich ja Frank daran was genau geändert wurde. Aber ich habe gerade mal auf die schnelle das SVG mit dem Foto der roten 24h Front verglichen und bin dabei nicht über Ungereimtheiten gestolpert. Kannst du ja vielleicht nochmal genau Buchstabe für Buchstabe vergleichen, aber ich glaube die passt. An den horizontalen Abständen kann sich ja nicht wirklich groß was verändert haben, es werden ja immernoch 60 LED/m Streifen benutzt und da lassen sich die Abstände zwischen den Buchstaben ja einfach ausrechnen: 1000 / 60 = 16,66mm. Ich habe leider noch keinen Zwischenboden der 24h, daher kann ich dir zum Zeilenabstand in Y nichts genaues sagen und X auch nicht kontrollieren/nachmessen... vielleicht kann die Infos ja jemand ergänzen. @Lu Ke Klar, so kannst du das natürlich auch machen! :) Ich persönlich löte nicht so gerne an den fitzeligen Lötpunkten der Strips, aber du kannst natürlich auch jede LED vom Streifen trennen und aufkleben. Wenn du die LEDs auf eine Aluplatte klebst müsstest du dir aber ggf. Gedanken um Isolation der Lötpunkte machen und damit rechnen, dass die Aluplatte ja ein recht großer Kühlkörper ist und du dir etwas mehr Mühe geben musst die einzelnen Lötpunkte heiß zu bekommen. Oder halt erst löten und danach auf die Aluplatte kleben. Mit einer Trägerplatte aus Kunststoff umgehst du beide Punkte und solltest da keine Probleme haben.
@ Simon Im Artikel der "alten" WordClock24h https://www.mikrocontroller.net/articles/WordClock24h ist der Zeilenabstand mit 18,75 mm definiert. Das passt zu der angestrebten quadratischen Buchstabenmatrix. @Lu Ke Ein Problem sehe ich bei der angedachten Methode: Die Kabel zwischen den LEDs verhindern, dass die Trägerplatte mit den LEDs plan aufliegt und es kann zu Überstrahlungen kommen, es sei denn, Du passt alle Stege zwischen den Bohrungen entsprechend an. Ich habe mir Gedanken für den Einsatz von SK6812 RGBW LEDs gemacht. Da ich meine Zwischenböden selbst aus Multiplex-Platten herstelle, würde ich die Löcher auf der Rückseite mit 8 mm bohren - vorne mit 25 mm und 3 mm von der Plattendicke "stehen lassen". Die SK6812 RGBW LEDs auf kleinen Boards liegen dann plan auf der Rückseite auf und können wie hier im Forum schon beschrieben mit Cu-Draht verlötet werden. Ist auch viel Arbeit...
Danke für eure Antworten. Freut mich dass die Version passt. :) Meine Annahme basierte aus dem folgenden Teil des ersten Posts hier:
1 | Die bisherigen WordClock-Frontplatten müssen wegen des LED-Abstands |
2 | der WS2812 ein wenig angepasst werden: Die Buchstaben werden etwas größer, |
3 | damit der Abstand von 30 LEDs/m eingehalten wird. Die 4 Minutenpunkte |
4 | bleiben jedoch. Auch die bisherigen Zwischenplatten müssen auf das neue |
5 | Rastermaß angepasst werden. |
Für mich als kompletten Neueinsteiger in das Projekt ist es insgesamt etwas schwer die wichtigen Informationen aus allen vorhandenen Artikeln zu ziehen und zu bewerten was davon korrekt ist bzw genutzt werden kann. Die alten Artikel enthalten zum Teil doch noch deutlich detaillierter Infos. Ich werde bei Interesse auch gerne selber Anpassungen vornehmen. Sollte ich weiter in das Projekt reinkommen und auf keine zu großen Probleme stoßen versteht sich. :D
:
Bearbeitet durch User
Hallo zusammen, ich baue gerade meine erste Wordclock und bin total gegeistert, was hier auf die Beine gestellt wurde! Respekt und vielen Dank für die detaillierten Erklärungen. Meine Verdrahtung steht und es geht zur Inbetriebnahme. Meine Hardware: - STM32F103C8T6 - RTC / Eeprom - ESP01 - AMS 1117 3.3 - kein TSOP31238 - kein DCF - kein LDR Verdrahtet habe ich alles (ohne Shield) nach diesem Bild https://www.mikrocontroller.net/articles/Datei:WordClock24h-an-STM32F103-C8T6.png Das STM32 habe ich mittels 3,3V UART-Adapter und dem verlinkten Demonstrator GUI programmiert. Ohne Probleme. Das ESP-Modul habe ich mit einem selbst gelötetem Adapter-Kabel auch direkt mittels UART-Adapter programmiert (Version 2.2.0). Lief 100% durch bis zur Fehlermeldung, wie im Artikel beschrieben. Beim Starten der Uhr kommen folgende Meldungen: power_init() called switching power on Welcome to WordClock Logger! ---------------------------- Version 2.2.4 rtc is online ws2812: no external pullup detected eeprom is online current eeprom version: 0x00020200 ESP8266 LOGGER read rtc: Su 2000-01-01 12:06:04 An der Stelle mit "ESP8266 LOGGER" bleibt die Uhr recht lange stehen. Ich finde jedoch kein WLAN mit der SSID "Wordclock". Auch das kurzzeitige Verbinden von A6 mit GND ändert nichts und führt zu keiner Ausgabe im Terminal. Wo wird denn der "User-Button" genauer beschrieben? Bei Betrachtung des Schaltplans des Shields ist mir aufgefallen, dass am ESP8266 noch ein 10kOhm Widerstand zwischen GPIO2 und 3,3V ist. Im Verdrahtungsbild ist GPIO2 offen. Aber auch der Widerstand hat nichts geändert. Wo kann ich ansetzten? Ich habe bereits zwei Stunden hier gelesen, finde aber keinen Ansatz mehr. Ich habe auch schon probiert parallel mit zweiten UART-Adapter auf die Rx/Tx-Leitungen am ESP zu gehen, kann hier aber keine Kommunikation mithören (115200). Über einen Tipp wäre ich sehr dankbar. Vielen Dank im Voraus. Jens
:
Bearbeitet durch User
Jens L. schrieb: > Ich habe auch schon probiert parallel mit zweiten UART-Adapter auf die > Rx/Tx-Leitungen am ESP zu gehen, kann hier aber keine Kommunikation > mithören (115200). Wie hast Du den ESP-01 geflasht? Über den STM32 - wie im Artikel beschrieben - oder direkt mit einem UART-Adapter am ESP? Vielleicht hast Du RX/TX zwischen STM32 und ESP vertauscht? EDIT: > Wo wird denn der "User-Button" genauer beschrieben? Hier wird er erwähnt: https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Flash_des_WLAN-Moduls https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Start_als_Access-Point Aber ich sehe ein, dass man den Ersatz für die blaue Taste vom Nucleo am STM32F103 besser beschreiben könnte. Hole ich nach.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Jens L. schrieb: >> Ich habe auch schon probiert parallel mit zweiten UART-Adapter auf die >> Rx/Tx-Leitungen am ESP zu gehen, kann hier aber keine Kommunikation >> mithören (115200). > > Wie hast Du den ESP-01 geflasht? Über den STM32 - wie im Artikel > beschrieben - oder direkt mit einem UART-Adapter am ESP? Den ESP habe ich direkt über UART geflasht. > Vielleicht hast Du RX/TX zwischen STM32 und ESP vertauscht? > > EDIT: >> Wo wird denn der "User-Button" genauer beschrieben? > > Hier wird er erwähnt: > > https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Flash_des_WLAN-Moduls > https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Start_als_Access-Point > > Aber ich sehe ein, dass man den Ersatz für die blaue Taste vom Nucleo am > STM32F103 besser beschreiben könnte. Hole ich nach. Vielen Dank. Schaue ich mir gleich an. Müssen die beschriebenen Widerstände beim fehlen von DCF, LDR, IR zwingend eingelötet werden? Kann es daran liegen?
Jens schrieb im Beitrag: > Müssen die beschriebenen Widerstände beim Fehlen von DCF, LDR, IR > zwingend eingelötet werden? Kann es daran liegen? Glaube ich bei dem beschriebenen Fehler eigentlich nicht. Für einen stabilen Betrieb später sollten diese Widerstände aber eingelötet sein - warum also nicht gleich?
Günter H. schrieb: > Jens schrieb im Beitrag: >> Müssen die beschriebenen Widerstände beim Fehlen von DCF, LDR, IR >> zwingend eingelötet werden? Kann es daran liegen? > > Glaube ich bei dem beschriebenen Fehler eigentlich nicht. Für einen > stabilen Betrieb später sollten diese Widerstände aber eingelötet sein - > warum also nicht gleich? Da gebe ich dir natürlich recht. Ich habe nun: - B3 mittels 10kOhm an 3,3V (auch wenn im Text 100k steht) - A5 via 10kOhm an 3,3V (der ist auch so angegeben) - bzgl. nicht vorhandenem DCF, müssen beide Ports (B8/B9) via PullUp an 3,3V? Die Widerstände haben nix geändert. Auch das Tauschen von Rx/Tx leider nicht. (Hätte mich auch gewundert, denn dann wäre das seit Feb. veröffentlichte Anschlussbild ja falsch). Ich habe bereits zweimal neu verkabelt und drei ESP-Module geflasht. Als ich dann nach 2h Suchen das auf meinem Steckboard getestet Projekt angesehen habe ist mir aufgefallen, dass dort GPIO0 nicht verbunden ist. Diesen haben ich also einfach mal von A4 getrennt und schon kann ich mittels Taster (A6->GND) in den AP-Modus des ESP wechseln und die WC geht dem Anschein nach (Verbindung via Web-Browser und Config der Uhr). Fällt euch dazu etwas ein? Was ist bei mir anders aufgrund der freien Verdrahtung? Sind beim Shield die 3,3V vom ESP mit 3,3V vom STM32 verbunden? Im Schaltplan des Shields kann ich da keinen Unterschied feststellen. Ich habe die Strips und das STM32 mit den 5V versorgt und mittels AMS1117 diese in 3,3V für das ESP gewandelt.
Jens L. schrieb: > Sind beim Shield die 3,3V vom ESP mit 3,3V vom STM32 verbunden? Im > Schaltplan des Shields kann ich da keinen Unterschied feststellen. Beim STM32-Shield V1 und bei "meinem" Shield sind 3,3 V für das ESP8266-Modul und die 3,3 V vom STM32 (natürlich) getrennt, die Massen logischerweise verbunden. > Ich habe die Strips und das STM32 mit den 5V versorgt und mittels > AMS1117 diese in 3,3V für das ESP gewandelt. Das habe ich sinngemäß so auch gemacht. Zum GPIO0: Suche mal in diesem Forum nach diesem Begriff; so Mitte Februar hatte Bernd ebenfalls Probleme beim Flashen des ESP8266. Versuchsweise wurde auch GPIO2 über 10k an die 3,3 V des ESP-Moduls angeschlossen.
Hallo alle zusammen. Ich fasse mich kurz: - die Änderung mit dem Pullup ist Klasse, seither habe ich keine Probleme mehr mit 'hängenden' LED's - Wenn ich auf SK6812 umschalte, bleibt die Matrix dunkel, mit WS2812 zeigt sie die Farben falsch an (rot und grün vertauscht). Korrektur in ws2812.c in der Interruptroutine, welche die Timing werte in den DMA buffer schreibt. - Compilieren und Linux geht mittels angehängtem Makefile. Getestet auf Ubuntu 16.04LTS (arm-none-eabi-* pakete installieren) mit gcc-4.9.3 und auf gentoo mit dem Paket von launchpad (gcc-5.3.1). Kompilat wurde auf meinem Setup getest und läuft. (in beiden Fällen) ( Gcc 5.3.1 braucht ca. 100 Byte weniger ;)) Es passt sogar die WC24h in den F103! - Das Makefile compiliert nur für den F103. Für die F4x1 ist zwar vieles vorbereitet, aber mangels Hardware ist die Motivation nicht da. Falls es wer probiert und vom linker angemeckert wird, wchar_t hätte die falsche Breite: mal das -fshort_wchar im Makefile weglassen. Im übrigen muss ich noch ein paar Files anlegen bzw. modifizieren, damit es baut. (Man bekommt es nur in den Flash mit der newlib_nano, sonst zieht einem localtime() noch den double-support mit rein (ca. 30K extra!) Die newlib_nano braucht eine Implementierung von _sbrk() für intern verwendetes malloc(). Diese schreibt das Makefile nach src/stubs/sbrk.c. Außerdem fehlen in den Linkerscripts die ENTRY(Reset_Handler) Einträge, das läuft wohl implizit in der IDE (oder über -eb-startup).) Gelöst wird dies durch erstellen weiterer Linkerscripts, welche den ENTRY deklarieren und die originalen Linkerscripte inkludieren. Dann muss man noch die richtigen Optionen zusammensammeln, make beibringen, die Sourcefiles selbst zu finden und dann gehts auch ;) @Frank: Gcc mault einige fehlende Prototypen und nicht definierte Symbole an, baut es aber korrekt zusammen. Wenn du willst schicke ich dir mal ein logfile vom bauen per PN (ich finde, das muss nicht hier ins Forum). Fazit: - Ich hab viel (u.a.) über Makefiles, Linkerscripts, Newlib und implizite Schweinereien gelernt. (explizit ist besser!) - Ich habe WS2812 RGB und nicht GRB LED's - Die Wordclock und der support hier ist Klasse. - Mit (frischem) Nachwuchs hats SEHR wenig Bastelzeit - kurz fassen gelingt mir nicht immer... 0xef
Enrico F. schrieb: > - die Änderung mit dem Pullup ist Klasse, seither habe ich keine > Probleme mehr mit 'hängenden' LED's Freut mich. > - Wenn ich auf SK6812 umschalte, bleibt die Matrix dunkel, mit WS2812 > zeigt sie die Farben falsch an (rot und grün vertauscht). Korrektur in > ws2812.c in der Interruptroutine, welche die Timing werte in den DMA > buffer schreibt. Du hast also WS2812 mit RGB statt GRB... wo hast Du die her? > - Compilieren und Linux geht mittels angehängtem Makefile. Getestet auf > Ubuntu 16.04LTS (arm-none-eabi-* pakete installieren) mit gcc-4.9.3 und > auf gentoo mit dem Paket von launchpad (gcc-5.3.1). Gefällt mir :-) > Falls es wer probiert und vom linker angemeckert wird, wchar_t hätte die > falsche Breite: mal das -fshort_wchar im Makefile weglassen. Ich benutze kein wchar_t. Aber vielleicht kommt das aus den ST-Sources. > Im übrigen muss ich noch ein paar Files anlegen bzw. modifizieren, damit > es baut. > (Man bekommt es nur in den Flash mit der newlib_nano, sonst zieht einem > localtime() noch den double-support mit rein (ca. 30K extra!) Was hat localtime() mit double zu tun? > Gcc mault einige fehlende Prototypen und nicht definierte Symbole an, > baut es aber korrekt zusammen. > Wenn du willst schicke ich dir mal ein logfile vom bauen per PN (ich > finde, das muss nicht hier ins Forum). Ja, kannst Du mir gern schicken. Ich bekomme mit EM:Blocks keine derartigen Warnungen. > - Ich habe WS2812 RGB und nicht GRB LED's Das höre ich zum ersten Mal, dass es sowas gibt. Wenn das noch jemandem passiert, könnte ich das im Web-Interface konfigurierbar machen.
Lasst dem Frank hier doch eine kleine Verschnaufpause :-) damit noch ein kleines Weihnachtsgeschenk in Form einer 2.3er Version + ESP Version drin ist. Damit auch die Wordclock auf Weihnachten eingestimmt wird ;-)
Martin M. schrieb: > Lasst dem Frank hier doch eine kleine Verschnaufpause :-) Naja, oben ging es nur um die Übersetzung des Programms unter Linux, nix wildes. :-) > damit noch ein > kleines Weihnachtsgeschenk in Form einer 2.3er Version + ESP Version > drin ist. Die kommt noch diese Woche. > Damit auch die Wordclock auf Weihnachten eingestimmt wird ;-) Bei mir wird der Tannenbaum seit gestern abend auf der schnell zusammengebauten WC12h bereits regelmäßig eingeblendet. Sieht besser aus als ich dachte. :-)
Frank M. schrieb: > Du hast also WS2812 mit RGB statt GRB... wo hast Du die her? Aliexpress >> Falls es wer probiert und vom linker angemeckert wird, wchar_t hätte die >> falsche Breite: mal das -fshort_wchar im Makefile weglassen. > Ich benutze kein wchar_t. Aber vielleicht kommt das aus den ST-Sources. Ich weiss. Ich vermute eher, dass es in der newlib_nano intern verwendet wird. scheinbar haben sie da diese Flag verwendet und jetzt muss man es beim linken angeben, wenn man irgendeine routine benutzt, welche das intern vrwendet. Da das aber intern ist, ist es vmtl. egal, aber Warnungen sollte man grundsätzlich ernst nehmen (außer man weiss genau was man tut). > Was hat localtime() mit double zu tun? Ich habe keine Ahnung! aber laut listfile zieht localtime ein localtime_r nach (die reentrante Version der newlib) und das wiederum zieht dann die double-bibliothek nach (schön zu erkennen an den lustgen prefixen). Ich hab jetzt leider kein solches listfile mehr, aber wenn es dich interessiert lässt sich das wieder erzeugen (die newlib hacks im Makefile auskommentieren sollte schon reichen). > Ja, kannst Du mir gern schicken. Ich bekomme mit EM:Blocks keine > derartigen Warnungen. kommt gleich. >> - Ich habe WS2812 RGB und nicht GRB LED's > Das höre ich zum ersten Mal, dass es sowas gibt. Wenn das noch jemandem > passiert, könnte ich das im Web-Interface konfigurierbar machen. Mir würde als option in display-config reichen. so oft wechselt man ja die Einstellung nicht. 0xef
Hey Zusammen! Ich habe mir vorgenommen als Weihnachtsgeschenk eine 24h-Wordclock zu bauen. Ich benutze dafür das Nucleo Board incl. Shield und wollte alles hinzufügen abgesehen von dem IR-Empfänger und dem DCF77-Empfänger. Inzwischen sind fast alle Teile (außer dem ESP8266 WLAN-Modul) angekommmen und ich habe nach Anleitung alles auf das Shield gelötet. (Das Nucleo Board habe ich übrigens auch bei Reichelt bestellt, da es genau so teuer war, wie bei AliExpress, ich durch die restlichen Teile sowieso Versandkosten zahlen musste und es dadurch einfach deutlich schneller da war... die Möglichkeit könnte man ja evtl in den Artikel mit aufnehmen...) Das flashen des Boardes hat funktioniert, das WLAN-Modul konnte ich natürlich noch nicht flashen, da es noch unterwegs ist... Beim einschalten hat man auch sofort etwas gesehen und in PuTTY habe ich auch die ersten log-Ausgaben gesehen. Mir ist nur aufgefallen, dass die Uhrzeit sich nicht gewechselt hat, sondern immer nur die Uhrzeit beim Einschalten gezeigt hat, aber das habe ich erst einmal auf das fehlende WLAN-Modul geschoben. Daraufhin habe ich den ST-Link Teil des Nucleos abgesägt um während der Wartezeit auf das WLAN Modul mit dem Rahmen etc. weitermachen zu können. Ab diesem Zeitpunkt hat aber leider nichts mehr funktioniert. Ich hatte erwartet, dass wenigstens die Uhr an sich noch funktioniert, aber beim Einschalten gehen manchmal (nicht immer!) alle LEDs kurz an aber dann sofort wieder aus und das wars. Es wird nichts weiteres mehr angezeigt. Ich habe dann versucht den ST-Link wieder zu verbinden, indem ich die Anschlüsse auf dem Shield nutze, aber in PuTTY werden nur unlesbare Zeichen angezeigt. Ich habe die in dem Bild https://www.mikrocontroller.net/articles/Datei:Ns-stl1a.JPG genannte Brücken hergestellt, ich habe die anderen Verbindungen aus dem Bild (Ground, TCK und TMS) hergestellt, ich habe hier https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#STM32F401RE_Nucleo_und_STM32F411RE_Nucleo genannten Brücken hergestellt bzw. entfernt, aber nichts hat funktioniert. Da ich eine C03 Revision von dem Nucleo Board habe, habe ich die beiden Kondensatoren und den Quarz aktuell NICHT eingelötet, da ich sie nicht mitbestellt habe. Ist dies evtl. das Problem? Wenn ja, kann ich den Quarz aus dem ST-Link nehmen, oder funktioniert dieser dann nicht mehr? Wenn das nicht die Lösung sein würde, hatte jemand schon einmal ein ähnliches Problem? Viele Grüße und vielen Dank im Voraus Jan
Jan R. schrieb: > Da ich eine C03 Revision von dem Nucleo Board habe, habe ich die beiden > Kondensatoren und den Quarz aktuell NICHT eingelötet, da ich sie nicht > mitbestellt habe. Ist dies evtl. das Problem? Bei der C03 kommt der Takt vom ST-Link. Spätestens, wenn Du ihn abgesägt hast, brauchst Du den Quarz und die beiden Kerkos. Steht aber auch schon seit Anfang an so im Artikel: "Es empfiehlt sich jedoch, diese Änderungen auch mit dem Board der Revision "MB1136 C02" bzw. C03 durchzuführen, da wir später für die endgültige Uhr den ST-Link-Teil der Platine absägen werden."
:
Bearbeitet durch Moderator
Günter H. schrieb: > Jens L. schrieb: >> Sind beim Shield die 3,3V vom ESP mit 3,3V vom STM32 verbunden? Im >> Schaltplan des Shields kann ich da keinen Unterschied feststellen. > > Beim STM32-Shield V1 und bei "meinem" Shield sind 3,3 V für das > ESP8266-Modul und die 3,3 V vom STM32 (natürlich) getrennt, die Massen > logischerweise verbunden. > >> Ich habe die Strips und das STM32 mit den 5V versorgt und mittels >> AMS1117 diese in 3,3V für das ESP gewandelt. > > Das habe ich sinngemäß so auch gemacht. > > Zum GPIO0: Suche mal in diesem Forum nach diesem Begriff; so Mitte > Februar hatte Bernd ebenfalls Probleme beim Flashen des ESP8266. > Versuchsweise wurde auch GPIO2 über 10k an die 3,3 V des ESP-Moduls > angeschlossen. Hallo Günther, vielen Dank für den Tipp. Ich hatte "erst" ab Mitte Seite 2 hier gelesen (was aber auch mehr als 2h waren). Da die Uhr erstmal im Wohnzimmer hängt werde ich noch bis zum Wochenende warten und dann mal ausprobieren den Pin mit Pullup auszustatten. Denn in unregelmäßigen Abständen läuft bei mir wieder die IP durch und das ESP wechselt in den AP-Modus. Irgendwas stimmt da noch nicht...
Hallo miteinander! Ich hab gerade meine wc24h auseinandergenommen, nachdem sie 3 Monate ohne irgendwelche probleme durchgelaufen ist. Seit letzten Samstag zeigt sie in den oberen fünf Zeilen den Text richtig an, ab Zeile sechs wechseln die Buchstaben und die Farben nach belieben. Ich frage mich ob mir da der Pullup- widerstand den Frank erwähnt helfen könnte? Wenn ja wo löte ich ihn ein. Einen Anschluß an 5V ist klar, den anderen an Din der Stripes, aber wo vor oder nach R6 (220 Ohm). Version 2.2.4 habe ich bereits geflasht. Kann mir da wer weiterhelfen? Bin in der Zwischenzeit etwas weiter, habe beim Displaytest festgestellt, das zumindest eine Led einen Defekt hat. Mache morgen weiter. Gibt es eine bevorzugte Seite, wo ich ein Video vom Displaytest hochladen kann? Das wars für heute, jetzt kommt meine Familie dran!
:
Bearbeitet durch User
Klaus H. schrieb: > Einen Anschluß an 5V ist klar, den anderen an Din der > Stripes, aber wo vor oder nach R6 (220 Ohm). Hallo Klaus, ich hab den Pullup 4K7 zwischen R6 und den WS2812 angeschlossen. Funzt einwandfrei. Vmtl. macht es auch keinen großen Unterschied. 0xef
Frank M. schrieb: > > Bei der C03 kommt der Takt vom ST-Link. Spätestens, wenn Du ihn abgesägt > hast, brauchst Du den Quarz und die beiden Kerkos. Steht aber auch schon > seit Anfang an so im Artikel: > > "Es empfiehlt sich jedoch, diese Änderungen auch mit dem Board der > Revision "MB1136 C02" bzw. C03 durchzuführen, da wir später für die > endgültige Uhr den ST-Link-Teil der Platine absägen werden." Hallo Frank, Ja, wer lesen kann ist klar im Vorteil, sorry! Ich habe die beiden Kondensatoren und den Quarz jetzt eingelötet, aber leider funktioniert es immer noch nicht... weder die Uhr an sich, noch der ST-Link. Ich habe nachgemsessen, dass die Lötbrücken wirklich entfernt bzw. hinzugefügt sind. Ob die Kondensatoren und der Quarz funktionieren kann ich aber glaube ich mit meinem Equipment nicht prüfen. Zumindest wüsste ich nicht wie... Hast du irgendwelche anderen Ideen woran das Problem liegen könnte?
Jan R. schrieb: > Ich habe die beiden Kondensatoren und den Quarz jetzt eingelötet, aber > leider funktioniert es immer noch nicht... Mach mal bitte ein Foto von der Vorder- und Rückseite.
Frank M. schrieb: > Mach mal bitte ein Foto von der Vorder- und Rückseite. Klar, gerne! Da die Beinchen von dem Quarz nicht in die Löcher gepasst haben, habe ich den auf der Rückseite angebracht, damit ich damit nicht das Shield berühre.
Jan R. schrieb: > Da die Beinchen von dem Quarz nicht in die Löcher gepasst haben, Komisch, die Beinchen hätten eigentlich perfekt durch die Löcher passen müssen. Ich habe da schon mehrere Nucleos genau so umgebaut. Was ist das denn für ein Lötzinn-Knubbel an der Unterseite des Quarz? Hast Du da ein Beinchen verlängert? Ist nun etwa das Gehäuse mit dem Beinchen verbunden? Normalerweise ist mindestens ein Bein vom Gehäuse isoliert. Ich würde auch an Deiner Stelle die von Dir unterbrochenen Lötbrücken mit einem Multimeter (Ohm) nachmessen, ob da wirklich die Verbindung unterbrochen ist. Kann man nicht so genau auf dem Foto erkennen. Was ist denn da mit SB61 passiert?
Frank M. schrieb: > Jan R. schrieb: >> Da die Beinchen von dem Quarz nicht in die Löcher gepasst haben, > > Komisch, die Beinchen hätten eigentlich perfekt durch die Löcher passen > müssen. Ich habe da schon mehrere Nucleos genau so umgebaut. Da der Quarz nicht mit in dem Reichelt Einkaufswagen war und ich ja bekannter maßen den Teil überlesen habe, habe ich den Quarz gestern in einem Conrad Laden bei mir in der Nähe gekauft. Die Beinchen waren aber zu breit... > Was ist das denn für ein Lötzinn-Knubbel an der Unterseite des Quarz? > Hast Du da ein Beinchen verlängert? Ist nun etwa das Gehäuse mit dem > Beinchen verbunden? Normalerweise ist mindestens ein Bein vom Gehäuse > isoliert. Da die Beinchen nicht nur zu breit waren, sondern auch noch nach innen gebogen, musste ich sie zuerst auseinander biegen. Dabei ist eins abgebrochen, sodass ich jeweils an der Stellen einen eigenen Draht angelötet habe. Beim rumbasteln ist das andere dann auch noch abgebrochen, sodass das jetzt auch ein neues Beinchen hat. Kontakt zum Gehäuse hat aber keins von beiden. Kabe ich auch mit einem Multimeter nachgemessen. > Ich würde auch an Deiner Stelle die von Dir unterbrochenen Lötbrücken > mit einem Multimeter (Ohm) nachmessen, ob da wirklich die Verbindung > unterbrochen ist. Kann man nicht so genau auf dem Foto erkennen. Habe ich! An den Stellen, an denen keine Verbindung bestehen soll ist keine und dort wo eine sein soll ist auch eine. > Was ist denn da mit SB61 passiert? Warum da auf einer Seite Lötzinn ist und auf der anderen nicht weiß ich gerade nicht genau. Jedenfalls haben die beiden Seiten untereinander keinen Kontakt, SB61 zu SB63 auf beiden Seiten auch nicht, genau so wenig, wie der Linke SB61 zu SB62. Lediglich der rechte SB61 Teil hat mit SB62 Kontakt, wobei das laut den feinen Linien auf der Platine auch gewollt aussieht.
Hallo zusammen, ich habe das STM32F103C8T6 mittels ST-Link v2 und dem St-Link Utility geflashed (an 0x08000000). Übers serielle Interface bekomme ich nur die folgende Ausgabe: power_init() called switching power on und dann passiert nichts mehr. Außer ich drücke den Reset-Button, dann komm wieder die obige Nachricht. Eigentlich wollte ich die ESP-Firmware flashen (ohne das Putty läuft), aber das Gerät wird nicht erkannt (trotz Reset-Knopf halten, Taster brücken, Reset lösen und nach 2 Sekunden Taster lösen. Hat jemand eine Idee woran es liegen könnte? Danke und Grüße Tim
Hallo Zusammen, kurze Rückmeldung für alle Interessierten zum Thema Soundmodul. Hier nochmal meine beiden Posts mit Datenblatt und Ideen zu diesem Thema: Beitrag "Re: WordClock mit WS2812" Beitrag "Re: WordClock mit WS2812" Die Boards sind mittlerweile bei mir angekommen und ich konnte sie auch schon kurz testen. Als Lautsprecher hab ich die LSM‑S30K verwendet. (https://www.conrad.de/de/miniaturlautsprecher-lsm-sk-serie-geraeusch-entwicklung-83-db-8-nennbelastbarkeit-2000-mw-350-hz-inhalt-1-st-335410.html) Die Klangqualität und Lautstärke ist über den Verstärkerausgang (wohl ein LM386-Klon) zur Wiedergabe von Sprache oder sonstiger Soundeffekte und evtl. kleiner Musikstücke definitiv mehr als ausreichend. (Kommt halt auch stark auf die Einbausituation des/der Lautsprecher(s) an.) Die Steuerung über die Schalteingänge funktioniert einwandfrei. Die serielle Schnittstelle konnte ich leider, mangels Programmierkenntnisse, nicht testen. @Frank: Leider ist von den 5 Boards nur eins voll funktionsfähig. (Eins ist komplett tot und bei den anderen 3 funktioniert der Lautsprecherausgang nicht, aber der Kopfhörerausgang ist i.O.. Naja dafür warn sie fast umsonst. ) Wenn Du nichts dagegen hast, würde ich Dir einfach eins der 3 Boards zukommen lassen, wenn Du mir eine kurze Mail oder PN mit Deiner Anschrift schickst. (An den KH-Ausgang lässt sich zur Not auch ein kleiner Lautsprecher, PC-Speaker o. Ä. anschließen) Die einzelnen MP3's, zum Testen einer Uhrzeitansage könnte ich am Wochenende mal schnell zusammenstellen und dir per Mail zuschicken. Oder Du schaust Dir das Teil so erst mal an... PS: Das Modul hätte gem. Datenblatt auch eine USB-Schnittstelle... Evtl. wär es ja auch eine Möglichkeit, auf der SD-Karte später mal benutzderdefinierbare Pictogramme abzulegen? (Nur so eine Idee...) Gruß Tom
Hallo Jan, schau dir doch auch mal die Trennstellen zum ST-Link an, evtl. hat sich da beim Absägen ein Kurzschluss zwischen den durchtrennten Leiterbahnen eingeschlichen. Einfach nochmal mit einem scharfen Messer die Trennstelle nachschneiden, so dass das Kupfer nicht "verschmiert". Gruß Tom
Thomas B. schrieb: > Hallo Jan, > > schau dir doch auch mal die Trennstellen zum ST-Link an, evtl. hat sich > da beim Absägen ein Kurzschluss zwischen den durchtrennten Leiterbahnen > eingeschlichen. Einfach nochmal mit einem scharfen Messer die > Trennstelle nachschneiden, so dass das Kupfer nicht "verschmiert". > > Gruß Tom Hallo Tom, habe ich gerade ausprobiert, hat aber leider nichts gebracht... Dennoch danke für eine Hilfe! Jan
Jan R. schrieb: > habe ich gerade ausprobiert, hat aber leider nichts gebracht... Nach dem Foto hast Du den Jumper für die Spannungsversorgung auf E5V - also auf externe Spannungsversorgung. Das ist auch richtig so. Aber hast Du an Pin E5V (dritter Pin von oben in der linken Steckerleiste rechts) auch die externe Spannungsversorgung angeschlossen?
Frank M. schrieb: > > Nach dem Foto hast Du den Jumper für die Spannungsversorgung auf E5V - > also auf externe Spannungsversorgung. Das ist auch richtig so. Aber hast > Du an Pin E5V (dritter Pin von oben in der linken Steckerleiste rechts) > auch die externe Spannungsversorgung angeschlossen? Ja, das Shield von Torsten verbindet den Pin mit der Stromversorgung. Habe ich gerade aber auch noch einmal nachgemessen um sicherzugehen. Der Pin direkt darunter ist mit Ground verbunden!
Tim schrieb: > Hallo zusammen, > > ich habe das STM32F103C8T6 mittels ST-Link v2 und dem St-Link Utility > geflashed (an 0x08000000). > > Übers serielle Interface bekomme ich nur die folgende Ausgabe: > > power_init() called > switching power on > > und dann passiert nichts mehr. Außer ich drücke den Reset-Button, dann > komm wieder die obige Nachricht. Kann mir eventuell jemand einen kompletten Dump des Speichers zukommen lassen? Hab das Gefühl, dass der ROM dieses China-Imports nicht ordentlich geflashed ist...
Frank M. schrieb: > Jan R. schrieb: >> habe ich gerade ausprobiert, hat aber leider nichts gebracht... Hallo Jan, nach der Vorgeschichte könnte ein (inzwischen) defekter Quarz eine Fehlerursache sein. Bevor Du einen neuen Quarz besorgst: Ich habe kein Nucleo-Board zuhause, aber anhand der Gerber-Daten ist das Rastermaß für den Quarz 5,08 mm. Die in Frage kommenden Quarze bei C* haben einen Abstand der Drähte von 4,88 mm – müssten also, wie Frank auch schon erwähnt hat, problemlos passen. Messe also bitte den Abstand bei deinem Nucleo-Board nach. Z. Z. hast Du den Quarz auf der „Rückseite“ des Nucleo-Boards eingelötet. Prüfe bei einer eventuellen Neubestückung des Quarzes, ob die Bauhöhe des Shields mit "Aufbauten" in den von Dir vorgesehenen Rahmen passt. Und falls Du keine Entlötlitze zuhause hast, besorge Dir für Umbau welche, um die Löcher der Lötstellen frei zu bekommen. Viel Erfolg Günter
:
Bearbeitet durch User
Günter H. schrieb: > Hallo Jan, > > nach der Vorgeschichte könnte ein (inzwischen) defekter Quarz eine > Fehlerursache sein. Hallo Günter, ja das kann natürlich gut sein. Gibt es eine Möglichkeit das ohne ein Oszilloskop (welches ich nicht habe) nachzumessen? > > Bevor Du einen neuen Quarz besorgst: Ich habe kein Nucleo-Board zuhause, > aber anhand der Gerber-Daten ist das Rastermaß für den Quarz 5,08 mm. > Die in Frage kommenden Quarze bei C* haben einen Abstand der Drähte von > 4,88 mm – müssten also, wie Frank auch schon erwähnt hat, problemlos > passen. Messe also bitte den Abstand bei deinem Nucleo-Board nach. Das Problem ist nicht der Abstand zwischen den Drähten. Das passt ganz gut. Das Problem ist die Dicke der Drähte an sich. Deren Breite (die waren nicht rund, sondern Oval-ähnlich) hat nicht durch die Löcher gepasst. Aktuell habe ich diesen Quarz: https://www.conrad.de/de/quarzkristall-445128-hc-49us-smd-8000-mhz-10-pf-115-mm-475-mm-42-mm-445128.html > Z. Z. hast Du den Quarz auf der „Rückseite“ des Nucleo-Boards > eingelötet. Prüfe bei einer eventuellen Neubestückung des Quarzes, ob > die Bauhöhe des Shields mit "Aufbauten" in den von Dir vorgesehenen > Rahmen passt. Guter Hinweis! Wobei ich wenn ich einen neuen (passenden) Quarz besorge den dann sowieso an die dafür vorgesehende Stelle packen würde. Dir auch danke für deine Hilfe! Jan
Jan R. schrieb: > Aktuell habe ich diesen Quarz: Igitt, der hat tatsächlich eckige Beinchen, damit man ihn für SMD einsetzen kann, indem man die Beinchen zur Seite biegt. Kein Wunder, dass die bei Dir abgebrochen sind. Korrekt wäre bei Reichelt der mit der Artikelnr. 8,0000-HC49U-S. Bei Conrad der mit der Bestellnr. 156453 - 62. Bei dem Reichelt-Quarz beträgt die Lastkapazität lt. Datenblatt 10 pF bis 32 pF, bei dem Conrad-Teil 18 pF. Der Reichelt-Quarz läuft mit den 22pF-Kerkos garantiert. Genau den setze ich selbst ein. Das Conrad-Teil ist mit 18pF auch recht nahe dran an den 22pF-Kerkos. Dein Quarz hat eine ziemlich niedrige Lastkapazität von 10pF. Keine Ahnung, ob der mit den 22pF-Kerkos überhaupt laufen würde. Dazu weiß ich zuwenig über Quarz-Lastkapazitäten. EDIT: Nach https://www.mikrocontroller.net/articles/Quarze_und_AVR berechnen sich die Kapazitäten für die beiden Kerkos wie folgt: C = 2·CL – (CP+CI) CP: Leiterbahnen bedingte Kapazität CI: Portbedingte Kapazität CL: Datenblatt des Quarzes CP+CI ca. 5pF wobeil gilt C = C1 = C2. Bei dem obigen Conrad-Quarz ergibt sich: C = 2 x 18 pF - 5pF = 31pF. Der sollte mit den beiden 22pF-Kerkos prima laufen. Gröere Abweichungen ergeben minimale Frequenzunterschiede, die nicht von Belang sind. Also von daher sollten eigentlich alle 3 Varianten (Reichelt, Conrad rund und Conrad eckig) laufen. Ich nehme mal an, dass Dein Quarz (mit den eckigen Beinchen) mittlerweile durch die "Reparatur" (runde Beinchen anlöten) defekt ist.
:
Bearbeitet durch Moderator
Tim schrieb: > Kann mir eventuell jemand einen kompletten Dump des Speichers zukommen > lassen? Hab das Gefühl, dass der ROM dieses China-Imports nicht > ordentlich geflashed ist... Hallo Tim, Ich hab mal die aktuelle Version aus dem SVN gebaut, geflasht und wieder gedumpt. alles ist hier zu finden: https://drive.google.com/open?id=0B4V4EIg85NURWlR1aXpUalczRms Die gebaute Version als wc12h_f1.bin und als wc12h_f1.hex, die gedumpte nur als dump.bin. Ohne angeschlossene Hardware kommt bei mir über den DEBUG-UART folgendes:
1 | power_init() called |
2 | switching power on |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.2.4 |
7 | rtc is offline |
8 | ws2812: no external pullup detected |
9 | eeprom is offline |
10 | ESP8266 LOGGER |
Danach hängt es ein weilchen (sucht den ESP, der ja fehlt). Ich hoffe, das hilft dir weiter. 0xef PS.: Da liegen auch noch ein wc12h_f1.list und ein wc12h_f1.map file, damit man weiss, was im .bin wo liegt.
:
Bearbeitet durch User
Enrico F. schrieb: > Ich hoffe, das hilft dir weiter. Vielen Dank! Leider funktioniert es irgendwie noch immer nicht. Ich erhalte weiterhin nur ein
1 | power_init() called |
2 | switching power on |
Wenn ich das DCF Modul weglasse, bekomme ich sogar noch einen [/code]DCF77 Error: High pulse >= 25 [/code]. Anscheinend ist die Firmware wohl doch richtig angekommen, Checksumme passt auch. Nur leider erscheint bei mir einfach nicht
1 | Welcome to WordClock Logger! |
, sondern es passiert einfach gar nichts mehr (bzw. weitere DCF Meldungen). Hat jemand eine Idee woran es liegen könnte? Vielen Dank und Grüße Tim
Tim schrieb: > Ich erhalte weiterhin nur ein > power_init() called > switching power on > Wenn ich das DCF Modul weglasse, bekomme ich sogar noch einen > [/code]DCF77 Error: High pulse >= 25 [/code]. Anscheinend ist die > Firmware wohl doch richtig angekommen, Checksumme passt auch. > > Nur leider erscheint bei mir einfach nicht Welcome to WordClock Logger! > , sondern es passiert einfach gar nichts mehr (bzw. weitere DCF > Meldungen). Das ist ziemlich merkwürdig. Zwischen Power-On und der Welcome-Meldung werden folgende Funktionen aufgerufen:
1 | power_init (); // initialize power port pin |
2 | power_on (); // switch power on |
3 | timer2_init (); // initialize timer2 for IRMP, DCF77, EEPROM etc. |
4 | delay_init (DELAY_RESOLUTION_1_US); // initialize delay functions with granularity of 1 us |
5 | board_led_init (); // initialize GPIO for green LED on disco or nucleo board |
6 | button_init (); // initialize GPIO for user button on disco or nucleo board |
7 | rtc_init (); // initialize I2C RTC |
8 | eeprom_init (); // initialize I2C EEPROM |
9 | |
10 | if (button_pressed ()) // set ESP8266 into flash mode |
11 | {
|
12 | board_led_on (); |
13 | esp8266_flash (); |
14 | }
|
15 | |
16 | log_message ("\r\nWelcome to WordClock Logger!"); |
Die DCF-Routinen kommen aber erst viel später. Mit welchem Tool auf dem PC protokollierst Du den Output des UARTs?
Frank M. schrieb: > Mit welchem Tool auf dem PC protokollierst Du den Output des UARTs? Mit Putty, 115200 8N1. Welche LEDs müssten denn leuchten? Eine? Beide?
Frank M. schrieb: > if (button_pressed ()) > // set ESP8266 into flash mode > { > board_led_on (); > esp8266_flash (); > } > > log_message ("\r\nWelcome to WordClock Logger!"); Kann es sein, dass dein Eingang "button_pressed" kurzgeschlossen ist?
> Kann es sein, dass dein Eingang "button_pressed" kurzgeschlossen ist?
Nein ist er leider nicht. Ich hab die Sources mal um etwas Debug-Code
erweitert und er kommt nicht über den Aufruf von delay_init hinaus.
1 | log_message ("Power init"); |
2 | power_init (); // initialize power port pin |
3 | log_message ("Power on"); |
4 | power_on (); // switch power on |
5 | log_message ("timer2 init"); |
6 | timer2_init (); // initialize timer2 for IRMP, DCF77, EEPROM etc. |
7 | log_message ("delay init"); |
8 | delay_init (DELAY_RESOLUTION_1_US); // initialize delay functions with granularity of 1 us |
9 | log_message ("boardled init"); |
ergibt bei mir die Ausgaben:
1 | Power on |
2 | switching power on |
3 | timer2 init |
4 | delay init |
5 | DCF77 Error: High pulse <= 5 |
6 | DCF77 Error: High pulse <= 5 |
7 | DCF77 Error: High pulse <= 5 |
8 | DCF77 Error: High pulse <= 5 |
9 | DCF77 Error: High pulse <= 5 |
10 | DCF77 Error: High pulse <= 5 |
Es folgt natürlich noch ein
1 | log_message ("boardled init"); |
2 | board_led_init (); |
Sonst könnte er ja auch schon weiter sein...
Tim schrieb: > Nein ist er leider nicht. Ich hab die Sources mal um etwas Debug-Code > erweitert und er kommt nicht über den Aufruf von delay_init hinaus. delay_init() ruft SysTick_Config() auf, um den STM32-Ticker-Timer zu konfigurieren. Wenn, dann hängt der µC dort, denn sonst werden lediglich Variablen gesetzt. Aber warum? Du wärest hier der erste, dem so etwas passiert. Okay, einen Fall habe über Google gefunden. Das µC hängt nach SysTick_Config(), wenn man vergisst, SysTick_Handler() auch zu definieren. Der ist aber in delay.c definiert, wenn Du daran nichts geändert hast. > DCF77 Error: High pulse <= 5 Stimmt, die DCF-Routinen werden seit der letzten WC-Version direkt aus dem Timer-Interrupt aufgerufen, daher ist die DCF77-Ausgabe möglich, obwohl er in delay_init() hängt. Fragen: a) Tritt der Fehler auch bei Einspielen der fertigen HEX-Datei auf? b) Hast Du an den Sources sonst noch etwas geändert?
:
Bearbeitet durch Moderator
Hi, ja leider tritt der Fehler auch bei der fertigen Hex-File auf. Wenn ich den DelayInit auskommentiere läuft alles soweit durch. Das Flashen des esp8266 funktioniert so aber leider auch nicht.
1 | Power init |
2 | power_init() called |
3 | Power on |
4 | switching power on |
5 | timer2 init |
6 | delay init |
7 | boardled init |
8 | button init |
9 | rtc init |
10 | eeprom init |
11 | button pressed? |
12 | |
13 | Welcome to WordClock Logger! |
14 | ---------------------------- |
15 | Version: 2.2.4 |
16 | rtc is online |
17 | ws2812: external pullup detected |
18 | eeprom is online |
19 | current eeprom version: 0x00020200 |
Hier noch n paar Infos zu meinem Board
1 | 12:14:23 : ST-LINK SN : 54FF6E064984485644341087 |
2 | 12:14:23 : ST-LINK Firmware version : V2J27S6 |
3 | 12:14:23 : Connected via SWD. |
4 | 12:14:23 : SWD Frequency = 4,0 MHz. |
5 | 12:14:23 : Connection mode : Connect Under Reset. |
6 | 12:14:23 : Debug in Low Power mode enabled. |
7 | 12:14:23 : Device ID:0x410 |
8 | 12:14:23 : Device flash Size : 64KBytes |
9 | 12:14:23 : Device family :STM32F10xx Medium-density |
Hallo Frank, also mit DELAY_RESOLUTION_10_US bootet er durch, jedoch nicht mit DELAY_RESOLUTION_1_US. Den ESP8266 konnte ich mittlerweile dank des gerade angekommenen USB-mod-prog Flasher mit der Firmware versehen. Somit sieht der Log nun
1 | power_init() called |
2 | switching power on |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.2.4 |
7 | rtc is online |
8 | ws2812: external pullup detected |
9 | eeprom is online |
10 | current eeprom version: 0x00020200 |
11 | ESP8266 LOGGER |
12 | read rtc: Sa 2000-01-07 01:46:01 |
Ich kann mich auch mit dem AI-THINKER-AP verbinden, jedoch zeigt die WebGui z.B. EEPROM offline, Temperatur und Lichtsensor sollen auch nicht vorhanden sein, obwohl Sie es sind. Ich tippe die Kommunikation zwischen den beiden Boards klappt mit dem geänderten Delay nicht? Außerdem leuchtet nur Led die erste Led (M1) der WS2812 Stripes weiß, der Rest ist aus. Kann ich das Device irgendwie sinnvoll debuggen oder so? Ich hab langsam keine Ideen mehr..
Tim M. schrieb: > also mit DELAY_RESOLUTION_10_US bootet er durch, jedoch nicht mit > DELAY_RESOLUTION_1_US. Irgendwas stimmt da nicht mit Deinem Board. Okay, mit DELAY_RESOLUTION_10_US sollte prinzipiell auch alles laufen. Delays werden dann halt mit einer geringeren Auflösung durchgeführt. Diese Genauigkeit wird aber nur bei der 1Wire-Kommunikation mit dem Temperatursensor DS18xxx benötigt. Da könnte es dann zu Timingproblemen konnen, wenn Du einen anschließt. > Ich kann mich auch mit dem AI-THINKER-AP verbinden, jedoch zeigt die > WebGui z.B. EEPROM offline, Temperatur und Lichtsensor sollen auch > nicht vorhanden sein, obwohl Sie es sind. Ich tippe die Kommunikation > zwischen den beiden Boards klappt mit dem geänderten Delay nicht? Glaube ich nicht, weder die I2C- als auch die RTC- und EEPROM-Routinen verwenden Delays. Ich gehe mit Delays wirklich sehr sparsam um. Normalerweise benutze ich für solche Sachen einen Timer. In onewire.c brauche ich aber eine gute Auflösung für den DS18xxx, daher findest Du dort Delays. Aber das wars auch schon. > Außerdem leuchtet nur Led die erste Led (M1) der WS2812 Stripes weiß, > der Rest ist aus. Wie ich schon sagte: Mit Deinem Board stimmt was nicht. Ich kann Dir gern ein fertig geflashtes Mini-Board zuschicken, ich habe genug von den Dingern rumliegen. > Kann ich das Device irgendwie sinnvoll debuggen oder so? Ich hab langsam > keine Ideen mehr.. Zum Debuggen des kompletten Programms hat der STM32F103C8T6 leider zuwenig Flash. Aber ich weiß durchaus, was ich im Source deaktivieren muss, damit das Debuggen klappt. Du könntest mir das Ding als Gegenleistung schicken. Aber ich werde da nicht viel Energie reinstecken, da Dein Board offenbar ein Einzelfall und damit höchstwahrscheinlich defekt ist. Meld Dich einfach per PM. Dann schicke ich Dir ein fertig geflashtes Modul.
Danke Frank. Morgen sollte mein neues Board ankommen. Falls es dann noch immer nicht geht, komme ich gerne darauf zurück!
@Tim für mich hört sich dein Problem an, wie wenn dein ESP nicht richtig geflasht wird. Ich hatte ähnliche Probleme. Da ich noch mehr mit den ESP8266 machen möchte, habe ich mir so ein ESP Flasher mit integriertem Knöpfchen gekauft. Ebay aus Deutschland 7 - 8€ (aus China mit Lieferzeit 2€) http://www.ebay.de/itm/ESP8266-ESP-01-Flasher-mod-prog-USB-Programmer-Uploader-fur-Arduino-IDE-IoT-/282244337731?hash=item41b712d043:g:-VQAAOSwayZXjRVS Ich hab den ESP dann damit geflasht und schon läufts :-)
Frank M. schrieb: > Ich nehme mal an, dass Dein Quarz (mit den eckigen Beinchen) > mittlerweile durch die "Reparatur" (runde Beinchen anlöten) defekt ist. Hallo zusammen, Ich habe mir inzwischen einen neuen Quarz besorgt. Leider funktioniert das System aber immernoch nicht. Wenn ich die Stromversorgung anstecken leuchten die LEDs ganz kurz auf und das wars. Danach passiert nichts mehr. Interessant ist, dass wenn ich die Stromversorgung trenne und sofort wieder herstelle, bleiben die LEDs dunkel. Wenn ich aber vor dem wiederherstellen einige Sekunden warte, leuchten sie wieder kurz auf.
Frank M. schrieb: > Zum Debuggen des kompletten Programms hat der STM32F103C8T6 leider > zuwenig Flash. Hallo Frank, Wenn ich versuche eine Debug version (-DDEBUG -g3) zu bauen, passt es nur mit -O0 nicht in den Flash vom Mini-Board. Mit -O1 oder -Os geht es gerade noch so bzw. etwas komfortabler rein. Übersehe ich was, oder klappt das debuggen nur mit -O0? 0xef
Jan R. schrieb: > Ich habe mir inzwischen einen neuen Quarz besorgt. Leider funktioniert > das System aber immernoch nicht. > > Wenn ich die Stromversorgung anstecken leuchten die LEDs ganz kurz auf > und das wars. Danach passiert nichts mehr. Ich nehme an, mit den "LEDs" sind die WS2812B-LEDs gemeint. Ist denn inzwischen das ESP8266-Modul angekommen und eingebaut? Wenn ich bei meiner WordClock (WC12h, STM32-Mini-Dev.-Board) im stromlosen Zustand das WLAN-Modul entferne und dann die Spannungsversorgung wieder anschließe, wird die "letzte verfügbare" Zeit angezeigt, die Variation der Leuchtstärke der WS2812B-LEDs in Abhängigkeit des Umgebungslichtes ist außer Funktion und die Displayfarbe bleibt auf Rot. Ist der pullup-Widerstand 4k7 zwischen "WS2812-Signal" und +5 V eingebaut (Vgl. sinngemäß https://www.mikrocontroller.net/articles/Datei:WordClock24h-an-STM32F103-C8T6.png)? Welche Informationen liefert PuTTY? Gruß Günter
:
Bearbeitet durch User
Günter H. schrieb: > Jan R. schrieb: > > Ich nehme an, mit den "LEDs" sind die WS2812B-LEDs gemeint. Ja genau. Die Status LEDs vom Board, von der RTC und vom ST-Link leuchten alle dauerhaft rot (wobei das wenn ich mich recht erinnere auch gut so ist) > Ist denn inzwischen das ESP8266-Modul angekommen und eingebaut? Nein, leider nicht. > Wenn ich bei meiner WordClock (WC12h, STM32-Mini-Dev.-Board) im > stromlosen Zustand das WLAN-Modul entferne und dann die > Spannungsversorgung wieder anschließe, wird die "letzte verfügbare" Zeit > angezeigt, die Variation der Leuchtstärke der WS2812B-LEDs in > Abhängigkeit des Umgebungslichtes ist außer Funktion und die > Displayfarbe bleibt auf Rot. Ja genau so war es bevor ich das ST-Link abgesägt habe. Jetzt zeigt er aber nichtmals mehr die "letzte verfügbare" Zeit an. > Ist der pullup-Widerstand 4k7 zwischen "WS2812-Signal" und +5 V > eingebaut Nein ist er nicht. Da es vor dem Absägen ohne funktioniert hat, habe ich es nicht für nötig gehalten. Sollte ich das mal ausprobieren? > Welche Informationen liefert PuTTY? Nichts sinnvolles: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
:
Bearbeitet durch User
Hallo zusammen, einen Teil des Problems habe ich gerade selber lösen können! Beim Absägen des ST-Link ist der Jumper JP6 auf dem Nucleo Board wohl abgefallen. Als ich diesen wieder draufgesteckt habe haben die WS2812 LEDs wieder ordnungsgemäß geleuchtet! Somit ist das Board zumindest wieder auf dem gleichen Zustand wie vor dem Absägen! Nur das ST-Link zeigt in PuTTY jetzt überhaupt nichts mehr an. Weder diese komischen Zeichen, noch irgendwas anders. Das wäre mir erst einmal egal, das Problem ist nur, dass ich ja noch das W-LAN Modul flashen muss, wofür ich den ST-Link ja meines Erachtens brauche...
Jan R. schrieb: > Nur das ST-Link zeigt in PuTTY jetzt überhaupt nichts mehr an. Weder > diese komischen Zeichen, noch irgendwas anders. Hallo Jan, nur damit da nichts übersehen wird: Unter https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Logging den Abschnitt "Wichtig für Nucleo-Board" beachtet?
Günter H. schrieb: > Unter > https://www.mikrocontroller.net/articles/WordClock_mit_WS2812#Logging > den Abschnitt "Wichtig für Nucleo-Board" beachtet? Hallo Günter, ja habe ich! Ich kann den Reset Knopf drücken, wie ich will, die Stromversorgung und das USB Kabel in beliebiger Reihenfolge anklemmen, sichtbar ist nie etwas. Mit dem ST-LINK Utility Programm kann ich mich aber interessanter Weise verbinden. Dort wird dann auch "Device family :STM32F411xC/E" etc. angezeigt. Im Windows Explorer ist auch NODE_F411RE als "Datenspeicher" sichtbar. Nur die Debug-Schnittstelle zu PuTTY gibt nichts aus. TX auf dem Shield habe ich mit TX an dem ST-Link verbunden und bei RX das gleiche. Außerdem habe ich wie hier beschrieben https://www.mikrocontroller.net/articles/Datei:Ns-stl1a.JPG TCK, TMS und GND auch verbunden . Bei eigener Fehlersuche habe ich diesen Eintrag gefunden, in welchem die anderen 3 Pins auf dem ST-Link auch noch verbunden werden: http://electronics.stackexchange.com/a/172009 1 (Gelb) ist für 3,3V Stromversorgung - brauche ich also vermutlich nicht, da ich die Stromversorgung ja über mein externes Netzteil habe. 5 und 6 (Orange und Grün) habe ich auch nicht verbunden da es hier nirgendwo erwähnt wird (oder ich die Erwähnung nicht sehe), aber ob die sinnvoll wären weiß ich nicht... Viele Grüße Jan
Moin Jan, die serielle Schnittstelle auf dem Nucleo-Shield ist erst aktiv, wenn SB62 und SB63 geschlossen sind. Ich habe hier ein USB to TTL dran, Rx auf Tx und Tx auf Rx plus GND. Gruss Peter
:
Bearbeitet durch User
Peter Z. schrieb: > Moin Jan, > die serielle Schnittstelle auf dem Nucleo-Shield ist erst aktiv, > wenn SB62 und SB63 geschlossen sind. Ich habe hier ein USB to TTL > dran, Rx auf Tx und Tx auf Rx plus GND. Hallo Peter, die beiden SBs hatte ich geschlossen, aber das Vertauschen von Rx und Tx war der Fehler! Vielen Dank an euch alle für eure Hilfen! Jetzt muss ich nur noch auf das WLAN Modul warten und dann sollte ich soweit durch sein! Viele Grüße Jan
Hi Enrico, habs auch so gemacht. funktioniert einwandfrei :) Außerdem mußte ich drei WS2812B-LEDs auswechseln, die einen Defekt hatten seitdem läuft sie wieder :D
:
Bearbeitet durch User
Klaus H. schrieb: > Außerdem > mußte ich drei WS2812B-LEDs auswechseln, die einen Defekt hatten seitdem > läuft sie wieder :D Nur aus Interesse: Wie hat sich dieser Defekt geäußert? Hat nur eine (bzw. in deinem Fall 3) LED gesponnen, oder alle nachfolgenden? N.G.
Ich hatte gestern auch einen Ausfall einer LED auf dem Custom-Streifen. Die sechste Zeile, fünfte LED (das N von eiNs) leuchtete nur noch rot und blau. Ich habe die LED ausgelötet und eine neue eingelötet. Das ging auch erstmal wieder, aber beim wieder Einsetzen des Streifens (die sind bei mir alle gelötet) habe ich vergessen vor dem Löten den Strom abzustellen. Danach ging der Streifen darunter (kDREIrhFÜNF )nicht mehr. Nach kurzer Fehlersuche stellte sich heraus, dass ich mir die letzte LED im Streifen gekillt habe. Das es die letzte war, habe ich den Streifen mit der Schere verkürzt und ein neues Stück eingelötet. Grüße Dario
Bei mir waren es in der ersten Zeile die zweite LED und in der siebten Zeile die 4. und 11. LED. Es ist bei allen drei Leds die Farbe rot ausgefallen, was man beim Displaytest super gesehen hat. Ab der 4. Led in der siebten Zeile haben dann alle nachfolgenden LEDs bis auf die 11. imer die gleichen Farben aber jeweils eine andere als vor der vierten angezeigt. Die drei defekten LEDs jeweils die gleiche Farbe ohne Rotanteil. Ich habe beim wechseln bei der zweiten LED in der ersten zeile angefangen und danach getestet, die Anzeige funktionierte aber erst nachdem ich alle drei LEDs gewechselt habe. Ich gehe daher davon aus dass auch die Controller bei den einzelnen LEDs etwas abbekommen haben weil danach die Farben nicht mehr stimmten. Jetzt hab ich noch 5 LEDs in Reserve, dann ist schluß mit Austausch! Downloadlink zum Displaytest mit defekten LEDs: http://www.filehosting.at/file/details/624921/Displaytest.mp4 khilei
:
Bearbeitet durch User
Ich warte ja schon sehnsüchtig nach ner Veröffentlichung einer 2.3er Firmware für stm103... Und esp8266... mit den Piktogrammen ;-) Zu Weihnachten sollte die Uhr an der Wand hängen (lt. Frau ;-) )
HalloHallo, Erstmal vielen Dank für dieses tolle Projekt und die hervorragende Dokumentation! Habe gestern meine erste Wordclock fertiggestellt und ich bin begeistert! Ich habe mich derweil gefragt, ob der Quellcode irgendwo online auf Github oder Bitbucket o.ä. steht, wo man ggf. zum Code beitragen kann. Ich dachte mir, ich könnte evtl. am Userinterface der Weboberfläche schrauben, sodass sie übersichtlicher und schöner aussieht, sowie mit dem Smartphone gut erreichbar ist, sodass Nicht-Android-Nutzer nicht ganz das Nachsehen haben, weil es nur eine Android-App gibt. Zumal über den Webbrowser mehr Funktionen verfügbar sind. Zudem sind mir noch ein paar Features eingefallen, die noch nicht auf der ToDo-Liste stehen und die möglicherweise einfach in der Umsetzung sind. Gibt es da eine Möglichkeit sich aktiv zu beteiligen oder bist du, Frank, da bisher alleine am tüfteln? (Vielen herzlichen Dank dafür, übrigens!!) adrian
@Chris K. Das ist mir bewusst. Ich habe auch schon Änderungen daran vorgenommen. Ich dachte nur, dass sowas evtl. per git und entsprechendem online-dienst wie Github o.ä. vereinfacht werden könnte. Aber dann beschränke ich mich eben auf die Tar Balls aus dem Wiki und wenn ich etwas bahnbrechendes programmieren sollte melde ich mich einfach bei Frank :)
Adrian G. schrieb: > Gibt es da eine Möglichkeit sich aktiv zu beteiligen oder bist du, > Frank, da bisher alleine am tüfteln? Momentan arbeite ich da noch allein am Source. Allerdings bekomme ich ab und zu Verbesserungsvorschläge von einzelnen, die ich dann gern im Source übernehme. Ich würde das auch erstmal so weiter halten, damit sich das alles nicht zu sehr zersplittert. Es gibt hier jedoch die Möglichkeit, auch andere mit Schreibzugriff aufs SVN zuzulassen. Das kann ich auch gern veranlassen, wenn ich sehe, dass da jemand ernsthaft mitarbeiten möchte. Voraussetzung ist allerdings dafür, dass derjenige nicht den Überblick aufs Ganze verliert. Irgendwelche "Spezialitäten", die zum Beispiel nur auf WC12h, aber nicht für WC24h lauffähig sind oder nur für einen einzelnen oder eine Spezialschaltung sinnvoll sind, möchte ich eigentlich nicht. Dazu ist dann auch eine regelmäßige Kommunikation unter den Entwicklern Voraussetzung. Beim alten ATmega-WordClock-Projekt gab es da eine interne Entwickler-Mailingliste. So eine kann ich auch für das STM32-Projekt einrichten.
Hallo zusammen, endlich ist das neue Board da und es bootet nun auch. Leider leuchten nur die vier Ecken + die ersten 8 LEDs im Test-Modus. Im Log finde ich auch leeider nichts. Dann ist vermutlich mittendrin der Streifen kaputt gegangen? Kann ich das irgendwie nachmessen? Die Versorgungspannung liegt an allen LEDs an...
1 | power_init() called |
2 | switching power on |
3 | |
4 | Welcome to WordClock Logger! |
5 | ---------------------------- |
6 | Version: 2.2.4 |
7 | rtc is online |
8 | ws2812: external pullup detected |
9 | eeprom is online |
10 | current eeprom version: 0x00020200 |
11 | ESP8266 LOGGER |
12 | DCF77 Error: High pulse <= 5 |
13 | (- setup UDP) |
14 | esp8266 now up |
15 | read rtc: Tu 2016-12-13 11:53:54 |
16 | (- local port: 2421) |
17 | (- setup server UDP) |
18 | (- local port: 2424) |
19 | (FIRMWARE 2.2.0) |
20 | (- working as AP) |
21 | (MODE ap) |
22 | (IPADDRESS 192.168.4.1) |
23 | info: ip address = 192.168.4.1 |
24 | esp8266 now online |
25 | --> time "192.53.103.103"<0d><0a> |
26 | (OK time) |
27 | DCF77 Error: High pulse <= 5 |
28 | DCF77 Error: High pulse <= 5 |
29 | DCF77 Error: High pulse <= 5 |
30 | DCF77 Error: High pulse <= 5 |
31 | (- new client) |
32 | (CMD R05) |
33 | read rtc: Tu 2016-12-13 11:54:56 |
34 | DS18xxx temperature: 22 |
35 | RTC temperature: 23 |
36 | read rtc: Tu 2016-12-13 11:55:44 |
37 | DS18xxx temperature: 22 |
38 | RTC temperature: 23 |
Tim schrieb: > Dann ist vermutlich mittendrin der Streifen kaputt gegangen? Ja. Aber wieso jetzt plötzlich? Ich würde mal an der zuletzt leuchtenden LED und an der nächsten die jeweils 4 Lötstellen nachlöten. Vielleicht hat sich DOUT an der letzten oder DIN an der nächsten LED vom Streifen gelöst... Wenn nicht, hilft nur Auswechseln.
Okay vielen Dank. Scheint ein Controller defekt zu sein, die DO/DI sind wunderbar verbunden. Dann hoffe ich mal der Paketbote kommt schnell. So langsam rückt Weihnachten immer näher... :)
Hallo zusammen ich habe mit der Version 2.2.3 ein Issue, welches mir bis dato zumindest nicht aufgefallen ist: Bei meiner 12h - Variante mit SK6812 RGBW - Led-Streifen lässt sich über das WebInterface das Weiss nicht mehr steuern. Weiss ist dabei immer an (zumindest im Normalbetrieb). Im Testmodus funktioniert alles perfekt und alle Farben werden sauber an und abgeschaltet. Kennt ihr dieses Issue auch und woran kann dies liegen? @Frank: Danke für das Bereitstellen des API und ich kann die WC nun über das Fibaro HC steuern :-) (Ausser eben dem Weiss ;-) ) Gruss Daniel
:
Bearbeitet durch User
Daniel K. schrieb: > Bei meiner 12h - Variante mit SK6812 RGBW - Led-Streifen lässt sich > über das WebInterface das Weiss nicht mehr steuern. Weiss ist dabei > immer an (zumindest im Normalbetrieb). > Im Testmodus funktioniert alles perfekt und alle Farben werden sauber an > und abgeschaltet. > Kennt ihr dieses Issue auch und woran kann dies liegen? Diese Frage hatte ich Dir bereits per Mail vor einer knappen Stunde beantwortet :-) Hier nochmal meine Antwort für alle SK6812-Interessenten: Ja, mein Fehler. Ich habe beim Einbau des SK6812-RGB-Supports (also ohne W) vergessen, in main.c an zwei Stellen
1 | #if DSP_USE_SK6812 == 1
|
in
1 | #if DSP_USE_SK6812_RGBW == 1
|
umzuändern. Korrektur kommt im nächsten Release - heute oder morgen abend. > @Frank: Danke für das Bereitstellen des API und ich kann die WC nun über > das Fibaro HC steuern :-) (Ausser eben dem Weiss ;-) ) Ich muss mir das Teil mal anschauen... :-)
:
Bearbeitet durch Moderator
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.