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.
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
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
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
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
staticvolatileuint_fast8_ttime_is_valid=0;
2
...
3
staticvolatileuint_fast8_tisdst;
4
staticvolatileuint_fast8_tminute;
5
staticvolatileuint_fast8_thour;
6
staticvolatileuint_fast8_twday;
7
staticvolatileuint_fast8_tmday;
8
staticvolatileuint_fast8_tmonth;
9
staticvolatileuint_fast16_tyear;
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.
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
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
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...
>>> 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.
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
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.
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 :-)
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
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:
> 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?
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
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....
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?
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
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.
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?
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:
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.
@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
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.
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.
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 :-)
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.
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 :-)
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.
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.
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...
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 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?
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
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
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."
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!
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
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.
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.
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
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?
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.
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
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: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
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 WS2812LEDs 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
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
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
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...
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
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... :-)