Herbert P. schrieb:>> Es ist Acht Uhr einunddreißig...>> Es wird selbstverständlich auch diese Variante geben. Aber nicht nur....
wie denn nun SS oder ß in der Großschrift? SS als Doppelzeichen oder in
einem Fenster?
Herbert P. schrieb:> @Joachim: Mail ist angekommen, danke!
wow
Frank M. schrieb:> Ich würde die 24-Stunden-Notation nicht unbedingt bärbeissig> durchsetzen, so spricht kein Mensch.
sehe ich mittlerweile auch so
mein Favorit
Minuten ausser 30
Stunden nur 12
morgens abends OK
Frank M. schrieb:> Es ist neun Uhr abends.> Ich würde die 24-Stunden-Notation nicht unbedingt bärbeissig> durchsetzen, so spricht kein Mensch.
Also von der jüngeren Generation (6..18 Jahre) erlebe ich das anders.
Mein Sohn fragt dann sogar: "Welche Zeit ist das in richtig?"
Ich habe ihm schon mi 6 Jahren und immer wieder gesagt, er soll einfach
12 dazu zählen. Aber dazu ist er selbst jetzt mit 11 Jahren noch zu faul
und fragt immer noch. Seine Mitschüler sprechen auch im 24h-Format.
Torsten C. schrieb:> Also von der jüngeren Generation (6..18 Jahre) erlebe ich das anders.
Okay, meinetwegen abends auch als Sprache "Digitalisch". ;-)
Ich stelle die Uhr dann einfach auf 12-Stunden-Modus und bin fein raus
:-)
Frank M. schrieb:> So wie die Standard-Zeitangabe spricht aber keine Sau. ;-)>> Ich denke da eher an die Uhrzeit-Angabe, die ich morgens im Radio höre.> Und das ist innerhalb NRW genau das, was ich oben tabellarisch> aufgeführt habe - und zwar der Rhein-Ruhr-Modus (R.R.), also:
Bitte keine diesbezügliche Aufregung!
Wenn Ihr Euch das Frontplattendesign genau angeschaut hättet, dann
müsste eigentlich klar sein, dass damit SO GUT WIE ALLE GÄNGIGEN
VERSIONEN - AUCH UNTER BERÜCKSICHTIGUNG REGIONALER BESONDERHEITEN -
REALISIERBAR SIND:
12- oder 24-Stunden-Anzeige;
Bei 12-Stunden-Anzeige Zusatzanzeige möglich: "(IN DER) NACHT(S)"; "(IN
DER) FRÜH", "(AM) MORGEN(S)"; "(AM) VORMITTAG(S)", "MITTAG(S)"; "(AM)
NACHMITTAG(S)"; "(AM) ABEND(S)"
ES SIND SÄMTLICHE GÄNGIGEN VARIANTEN MÖGLICH!!!
Stunden vor Minuten oder Minuten vor Stunden, beides in Kurz- oder
Langform
"ES IST ZWÖLF UHR DREIZEHN"
"ES IST ZWÖLF UHR UND DREIZEHN MINUTEN"
"ES IST VIERTEL NACH ZWÖLF" oder "ES IST VIERTEL EINS"
"ES IST ZWÖLF UHR FÜNF UND ZWANZIG" oder
"ES IST FÜNF VOR HALB EINS" oder "ES IST FÜNF MINUTEN VOR HALB EINS"
"ES IST ZWÖLF UHR VIERZIG" oder "ES IST ZEHN NACH HALB EINS"
"ES IST ZWÖLF UHR FÜNF UND VIERZIG" ODER "ES IST DREIVIERTEL ZWÖLF" oder
"ES IST VIERTEL VOR EINS"
ES IST ZWÖLF UHR ACHT UND VIERZIG" oder "ES IST ZWÖLF MINUTEN VOR EINS"
oder
"ES IST ZWÖLF MINUTEN VOR EIN UHR" oder "ES IST ZWÖLF MINUTEN AUF EINS"
BITTE, BITTE, BITTE, DISKUTIERT DOCH NICHT UM DES KAISERS BART, WO ICH
DOCH OHNEHIN SÄMTLICHE DENKBAREN MÖGLICHKEITEN UND KOMBINATIONEN
VORGESEHEN HABE!
Excel-Datei öffnen, Augen aufmachen und Denken einschalten, ob die
persönlich gewünschten Anzeigeformen dabei sind. Wenn nicht, bitte PN an
mich!
@FRANK
Ich habe den Text "FUNK" entfernt und durch "AUF" ersetzt. Somit ist die
in manchen Regionen übliche Form "ES IST ZWÖLF MINUTEN AUF SECHS"
ebenfalls möglich.
ZWISCHENBILANZ FRONTPLATTE:
Es wird ein Design für 16x16 Matrix mit LED-Rasterabstand 20x20mm (für
2x 16x8 RGB-LED Array WS2812) und eines für 18x16 Matrix mit
LED-Rasterabstand 16,66x20mm (für RGB LED-Strips WS2812 60LED/lfm)
geben. Welche Version in Kleinserie (Acrylglas mit schwarzem Siebdruck
samt Diffusor-Aufdruck) gefertigt wird, ist noch nicht entschieden, in
jedem Fall betragen die Außenmasse der Frontplatte 450x450mm. Für
Joachim, der eine 500x500mm große Frontplatte möchte, stelle ich gerne
eine Vorlage (Design nach Wunsch) für Vinyl-Plotter zur Verfügung.
Für die 16x16-Ausführung kommt die "Arial"-Schrift zur Anwendung, für
die 18x6-Version (wegen der besseren Lesbarkeit bei geringerem
horizontalen Buchstabenabstand) die Futura Light BT.
Für Schriftschnitte in Holz oder Stahl mit CNC-Fräse bzw. Laserschnitt
stelle ich gerne Frontplattenentwürfe mit Schablonenschriften
("Stencil"-Schriften mit Stegen) als svg-Vektordatei zur Verfügung.
Derzeit bin ich dabei, den diesbezüglichen Markt zu sondieren und
Angebote einzuholen.
CONTROLLER:
Derzeit stehen die zwei Controller AtMega1284P und STM32 in Diskussion.
Da ich persönlich zwar ein wenig Ahnung von der Atmega-Familie (Arduino)
habe, aber keinerlei Ahnung vom STM32, ziehe ich ganz eindeutig den
Atmega Controller vor. Zumal ich mir sicher bin, dass die Atmega-Familie
eine wesentlich größere Gemeinde anspricht als der andere, der
Allgemeinheit wohl eher unbekannte Controller.
Der Atmega1284 würde meines Erachtens über ausreichend Speicherkapazität
und Ressourcen verfügen, und er ist bei Reichelt ab Lager um etwas mehr
als 5 € erhältlich. Damit ist für mich diese Entscheidung klar.
BILDSCHIRMSCHONER:
Die Idee, zu Testzwecken einen Bildschirmschoner zu kreiieren, wurde
allgemein positiv aufgenommen, ist aber mittlerweile etwas untergangen.
Wer kann und will sich damit beschäftigen? Ich möchte jedoch ersuchen,
mit dem Software-Design noch ein, zwei Tage zu warten, bis ich meine
Referenz-Tabellen fertig habe.
Raster für die LEDs:
bei einer größeren Stückzahl bietet sich an, das Raster für die LEDs aus
MDF-Material fräsen zu lassen. Da jedoch derzeit noch nicht einmal
feststeht, welche LEDs mit welchen Abständen letztendlich zum Einsatz
kommen sollen, wird dieses Thema hintangereiht.
Herbert P. schrieb:> Bitte keine diesbezügliche Aufregung!
Ich hab mich nicht aufgeregt ;-)
> ES SIND SÄMTLICHE GÄNGIGEN VARIANTEN MÖGLICH!!!
Das finde ich klasse :-)
Vielen Dank,
Frank
Herbert P. schrieb:> Es wird ein Design für 16x16 Matrix mit LED-Rasterabstand 20x20mm (für> 2x 16x8 RGB-LED Array WS2812) und eines für 18x16 Matrix mit> LED-Rasterabstand 16,66x20mm (für RGB LED-Strips WS2812 60LED/lfm)> geben. Welche Version in Kleinserie (Acrylglas mit schwarzem Siebdruck> samt Diffusor-Aufdruck) gefertigt wird, ist noch nicht entschieden,
Wir sollten uns auf eine Version konzentrieren. Das schafft auch
Sicherheit und Entschlussvermögen unter denjenigen, die eine solche Uhr
bauen möchten.
> CONTROLLER:>> Derzeit stehen die zwei Controller AtMega1284P und STM32 in Diskussion.> Da ich persönlich zwar ein wenig Ahnung von der Atmega-Familie (Arduino)> habe, aber keinerlei Ahnung vom STM32, ziehe ich ganz eindeutig den> Atmega Controller vor. Zumal ich mir sicher bin, dass die Atmega-Familie> eine wesentlich größere Gemeinde anspricht als der andere, der> Allgemeinheit wohl eher unbekannte Controller.
Das sehe ich anders. Obwohl die ATmegas auch diejnigen sind, mit denen
ich seit vielen Jahren (hobbymäßig) arbeite und sie so ziemlich gut aus
dem EffEff beherrsche, sehe ich da keine große Zukunft. Mit den STM32
beschäftige ich mich erst seit wenigen Tagen. Aber dank jeder Menge
guter Tutorials habe ich schon fast alle meine AVR-Projekte auf STM32
portiert.
Die STM32 sind auch überhaupt keine unbekannten Controller, sie werden
mehr und mehr eingesetzt. Ich würde auch ungern die WS2812-Kommunikation
mit einem ATmega machen, weil diese das geforderte Timing schlecht bis
gar nicht einhalten können. Das läuft nur auf "gut Glück" und muss meist
mit Assembler implementiert werden, damit man überhaupt noch eine Chance
hat, etwas nebenbei (wie zum Beispiel IRMP laufen zu lassen. Bei
STM32 ist dank DMA die WS2812-Ansteuerung ein Kinderspiel.
Besorg Dir einfach mal bei Watterott (oder woanders) das
STM32F4-Discovery. Du wirst von den Möglichkeiten begeistert sein.
> Der Atmega1284 würde meines Erachtens über ausreichend Speicherkapazität> und Ressourcen verfügen, und er ist bei Reichelt ab Lager um etwas mehr> als 5 € erhältlich. Damit ist für mich diese Entscheidung klar.
Siehe oben: WS2812-Ansteuerung mit ATmega ist ziemlicher Murks. Diesen
Weg würde ich nur mit größter Abscheu mitgehen. Im Notfall würde ich da
sogar einen Fork wagen. So kann man dann zwischen zwei
Prozessor-Lösungen wählen... meinetwegen. Die Nachbauer, die überhaupt
keinen Programmer haben (das sind ein Drittel) müssten sich erst einen
besorgen oder sich einen ATmega flashen lassen (mache ich im Moment beim
WC10x11-Projekt unentgeltlich, puh). Beim STM32F4Discovery brauchst Du
das Kabel nur in den USB-Port zu stecken, das ST-Link-Programm
runterladen und direkt das Hex-File flashen.
Ich garantiere Dir auch: Mit der STM32-Version wird einiges mehr an
Funktionalitäten möglich sein, d.h. diese Variante wird um einiges
attraktiver. Und die Programmierung würde auch viel mehr Spaß bereiten
;-)
Frank M. schrieb:> weil diese das geforderte Timing schlecht bis> gar nicht einhalten können. Das läuft nur auf "gut Glück" und muss meist> mit Assembler implementiert werden, damit man überhaupt noch eine Chance> hat, etwas nebenbei (wie zum Beispiel IRMP laufen zu lassen.
es läuft und zwar bei vielen und auch bei mir auch mit IRMP, wenn du
sagst ich hatte Glück dann wird es auch anderen so gehen denke ich ;-)
aber das ist eh ein Streit um Kaisers Bart, einzelne Probleme können
immer bei jedem auftreten und da
Frank M. schrieb:> WS2812-Ansteuerung mit ATmega ist ziemlicher Murks. Diesen> Weg würde ich nur mit größter Abscheu mitgehen. Im Notfall würde ich da> sogar einen Fork wagen. So kann man dann zwischen zwei> Prozessor-Lösungen wählen... meinetwegen.
wir sowieso offensichtlich 2-gleisig fahren tuts auch nicht weh wenn
einer Atmel AVR mag, der andere STM ARM
So, ich bin ab heute und in der nächsten Woche offline. Bitte nicht
wundern, dass von mir nichts kommt.
Wer möchte, kann mir per PM gerne schon mal mitteilen, ob er geneigt
ist, an einer etwaigen Sammelbestellung der Frontplatten teilzunehmen.
Es wäre nicht schlecht zu wissen, ob wir die ersten hundert
zusammenbekommen.
Frank M. schrieb:> WS2812-Ansteuerung mit ATmega ist ziemlicher Murks. Diesen> Weg würde ich nur mit größter Abscheu mitgehen.
Also ich nehme den STM32, da ich ihn für andere Projekte mit
WS2812-Strips und Großbildschirm-Matrix-Kacheln eh benutze. Die
SW-Module und Platinen mit den nötigen Steckern, Treibern usw. aus den
anderen Projekten kann ich hier auch benutzen.
Ich denke, wir müssen uns nicht mit Gewalt auf einen gemeinsamen
Controller einigen. Es ist schon sehr gut, wenn wenigstens bei den
Frontplatten eine "kritische Masse" zusammen kommt.
Und der Codegenerator kann von mir aus wahlweise auch Code mit "PROGMEM"
ausspucken. Da müssen mir die Atmel-User halt Input geben, welche
Toolkette sie nehmen, siehe Beitrag "avr-gcc progmem immer noch?"
PS: Wenn sich das Bit-Timing für die WS2812 abhängig von der Optimierung
(Compilerschalter) ändert ist das Murks!
WS2812-Ansteuerung mit ATmega ist z.B. dann kein Murks, wenn man über
SPI geht.
CODE:
das Erstellen der verschachtelten Tabellen für die Anzeige ist wegen der
verschiedenen Versionen ziemlich zeitaufwändig. Es wird wohl mehrere
Tage dauern, bis ich etwas liefern kann. Bis dahin ersuche ich jeden in
seinem eigenen Interesse, nicht allzuviel mit diversen Tabellen
herumzuprobieren bzw. zu programmieren. Es würde wohl nicht möglich
sein, die dann mit einzubauen.
Torsten C. schrieb:> WS2812-Ansteuerung mit ATmega ist z.B. dann kein Murks, wenn man über> SPI geht.
PS: Doof ist, dass man während der Übertragung alle Interrupts
ausschalten muss. Arduino-Bibliotheken sind aus meiner Sicht ganz
grauselig. Aber wenn sie jemand benutzt, wird er eh kaum welche mit
Interrupts finden, daher wäre das auch egal.
Herbert P. schrieb:> Bis dahin ersuche ich jeden
Ist angekommen. Ich halte die Füße Still!
BTW: Danke für die tolle "ZWISCHENBILANZ" (s.o.) :-)
Dankbar wäre ich, wenn mir jemand einen Vorschlag machen würde, mit
welcher Syntax ich die Tabellen (Arrays) und Variablen (Parameter) zur
Verfügung stellen soll.
Torsten C. schrieb:> WS2812-Ansteuerung mit ATmega ist z.B. dann kein Murks, wenn man über> SPI geht.
und auch am Arduino wird es per bit banging mit Inline Assembler gemacht
und wenn man noch während der Übertragung die Interrupts abschaltet
stört weder die Optimierung noch IRMP :p und meine 117 LEDs brauchen 3ms
nun lass doch 288 LEDs 9ms brauchen, so kurz kann keiner eine
Fernbedienungstaste drücken und eine Blindheit von IRMP dürfte auch
nicht stören.
Herbert P. schrieb:> das Erstellen der verschachtelten Tabellen für die Anzeige ist wegen der> verschiedenen Versionen ziemlich zeitaufwändig.
und auch da habe ich schon einen Link gezeigt wie es schnell und elegant
gehen könnte:
https://backes-markus.de/blog/2014/02/diy-rgb-strip-wordclock/
schau dir seine Lösung an, klappt
2 Tabellen, eine für die LEDs und eine für das Wortarray, so ganz
durchblicke ich das nicht, aber es geht saufix, man braucht nur alle
beteiligten Buchstaben zu setzen, als Macro oder als Unterroutine.
Joachim B. schrieb:> und auch da habe ich schon einen Link gezeigt wie es schnell und elegant> gehen könnte:> https://backes-markus.de/blog/2014/02/diy-rgb-strip-wordclock/
Sorry, aber das ist glaube ich nicht ganz das, was ich brauche. Ich
mach' ja mehrere Tabellen für mehrere Versionen, die man per
Konfiguration auswählen kann:
Uhrzeit
I
------------------------------------------
I I
12 Stunden 24 Stunden
I I
-------------------- ---------------------
I I I I
Stunden+Minuten Minuten+Stunden Stunden+Minuten
Minuten+Stunden
I I I I
----------- ----------- ----------- ----------
I I I I I I I I
kurz lang kurz lang kurz lang kurz lang
I I regional_1 I I I I I
I I regional_2 I I I I I
I I regional_3 I I I I I
I I regional_4 I I I I I
I I I I I I I I
I I regional_n I I I I I
-----------------------------------------------------------------------
I I
I LED-Zuordnungstabelle (Position;Länge) I
I I
-----------------------------------------------------------------------
Stunden+Minuten kurz: "ZWEI UHR DREIUNDZWANZIG"
Stunden+Minuten lang: "ZWEI UHR UND DREIUNDZWANZIG MINUTEN"
Minuten+Stunden kurz: "ZWEI NACH SIEBEN"
Minuten+Stunden regio: "VIERTEL/ HALB/ DREIVIERTEL SIEBEN" (div.
regionale Versionen)
Minuten+Stunden lang: "ZWEI MINUTEN NACH SIEBEN UHR"
Die Regionalversionen kommen nur bei der 12-Stunden-Variante zum tragen,
denn kein Mensch sagt "Viertel dreiundzwanzig Uhr"
Außerdem sind bei der 12-Stunden-Version die Nachsätze ("AM"/"IN DER")
"NACHT", "FRÜH" bzw. "MORGEN", "VORMITTAG", "MITTAG", "NACHMITTAG" und
"ABEND" per Konfiguration zuschaltbar.
Das Ganze funktioniert nach Art einer relationalen Datenbank, wobei
mehrere ineinander verschachtelte und miteinander verknüpfte Tabellen
zusammenarbeiten.
Herbert P. schrieb:> Sorry, aber das ist glaube ich nicht ganz das, was ich brauche. Ich> mach' ja mehrere Tabellen für mehrere Versionen, die man per> Konfiguration auswählen kann:
dann kannst du nicht programmieren oder verstehst es nicht
ich kann ja je nach Auswahl verschiedene Worttabellen erstellen und
nehme die die meine Auswahl ist....
deutsch_uhr
setze LED 1, 2, 3
english_clock
setze LED 12, 20, 33
zeige LED
Hallo,
ich klinke mich hier mal ein da mehrfach der Vorschlag kam mit dem
Wordclock-Screensaver die Wortuhr zu simulieren.
Als Autor des Wordclock-Screensavers habe ich ein kleines
Simulationsprogramm für die 18x16 Wortuhr geschrieben.
Bitte die Zip-Datei entpacken und entweder die Exe zum Konfigurieren
(nur die Farbe im Moment) oder das Cmd-File zum Starten der Exe nehmen.
Bedienung:
Mit den Cursortasten links/rechts ein Wort auswählen (blinkt) und mit
Leertaste dieses aktiv oder inaktiv setzen.
Cursor kann über alle möglichen Worte verschoben werden und am Ende
unsichtbar sein.
Beenden mit Mausbewegung oder ESCAPE-Taste.
In der Excel-Datei von Herbert P. sind mir ein paar Fehler aufgefallen,
im Anhang korrigiert und gelb hinterlegt.
- Frontplatte Sheet letzten zwei Zeilen anders als Text Sheet
(ich habe das Frontplatte Sheet korrigiert)
- bei wenigen Wörtern Fehler in der Worttabellen-Matrix ;-)
Wäre schön wenn es hilft.
Checksum d7bbd29bae5df129f995f990a5c50f84dc0b1e96 wordclock2.exe
Hans H. schrieb:> In der Excel-Datei von Herbert P. sind mir ein paar Fehler aufgefallen,> im Anhang korrigiert und gelb hinterlegt.> - Frontplatte Sheet letzten zwei Zeilen anders als Text Sheet> (ich habe das Frontplatte Sheet korrigiert)> - bei wenigen Wörtern Fehler in der Worttabellen-Matrix ;-)>> Wäre schön wenn es hilft.>> Checksum d7bbd29bae5df129f995f990a5c50f84dc0b1e96 wordclock2.exe
Herzlichen Dank schon einmal!
@Joachim
Ich würde es bevorzugen, mit Konfigurations- und Referenztabellen
außerhalb des Programmcodes zu arbeiten. Das erfordert zwar etwas mehr
Speicherplatz und auch mehr Initialaufwand, erleichtert aber später die
Datenpflege wesentlich.
Herbert P. schrieb:> @Joachim> Ich würde es bevorzugen, mit Konfigurations- und Referenztabellen> außerhalb des Programmcodes zu arbeiten.
Sorry, ich komme von der Datenbank-Entwicklung und bin es gewohnt,
Programmablauf und Daten strikt zu trennen. Hat sich im Nachhinein immer
als vorteilhaft erwiesen.
Herbert P. schrieb:> @Joachim> Ich würde es bevorzugen, mit Konfigurations- und Referenztabellen> außerhalb des Programmcodes zu arbeiten.
ich verstehe grad nicht was du meinst
logisch können die Tabellen sonst wo sitzen, nur eines ist klar, sie
müssen im Programmcode sein sonst kann der User zur Laufzeit nie
umschalten.
Klar könnte das ausserhalb in #defines stecken, das verbraucht dann
tatsächlich weniger Speicherplatz, aber dann müsste bei der Compilierung
ja der Schalter gesetzt werden welche Sprachversion.
Also klar im Programmcode (also das was in den Flash kommt), nur an
welcher Stelle ist ja frei.
Irgendwie musst du eine andere Sprache als ich sprechen :-)
Joachim B. schrieb:> Irgendwie musst du eine andere Sprache als ich sprechen :-)
Ich halte das durchaus für möglich, aber irgendwie werden wir uns schon
verständigen können :-)
Herbert P. schrieb:> Ich halte das durchaus für möglich, aber irgendwie werden wir uns schon> verständigen können :-)
bestimmt, ich denke du meinst ein Datensegment innerhalb der
Programmierung
An die Softwerkler:
bitte die oben hochgeladenen Tabellen noch nicht einbauen, sie sind nur
als Beispielmuster gedacht, unvollständig und zum Teil noch fehlerhaft.
Heute oder morgen - spätestens Montag - werde ich die vervollständigten
Tabellen (Beta-Version) hochladen.
Herbert P. schrieb:> Dankbar wäre ich, wenn mir jemand einen Vorschlag machen würde, mit> welcher Syntax ich die Tabellen (Arrays) und Variablen (Parameter) zur> Verfügung stellen soll.
In der "Qlock_Pi_Worttabellen.accdb" vermisse ich die oberen Ebenen in
Deiner Baum-Struktur: Uhrzeit, 12 Stunden / 24 Stunden, kurz/ lang,
regional_1 / regional_n.
Bevor das nicht da ist, kann ich keinen Vorschlag programmieren.
Sollen die Ebenen denn auch noch in die .accdb? Dann brauche ich den
Code-Generator ja gar nicht machen und warte einfach, bis die Ebenen von
"Uhrzeit" bis "regional_n" auch in der .accdb sind.
Im Code sollte m.E. alles drin sein, was mit einer Frontplatte möglich
ist, um regional_n, kurz/lang usw. umschalten zu können. Für den der
will, vielleicht auch automatisch im 15-Sekundentakt.
Wer die Frontplatte wechselt, kann dann auch neu flashen.
Herbert P. schrieb:> mit welcher Syntax ich die Tabellen (Arrays) und Variablen (Parameter)> zur Verfügung stellen soll.
Meinst Du die Array-Initialisierung? Falls ja: Sind denn die Arrays so
in Ordnung?
1
#define N_Variante 16
2
#define N_WORDS 56 // Nächstes Vielfaches von 8
3
structwordLED_Struct{
4
uint16_tfirstIndex;
5
uint8_tcount;
6
};
7
wordLED_Structword_array[N_WORDS];// Start-und End-Index pro Wort, 3 Bytes pro Wort
8
uint16_tminute_array[N_Variante][60][N_WORDS/8];// 840 Bytes pro Sprache
9
uint16_thour_array[N_Variante][24][N_WORDS/8];// 336 Bytes pro Sprache
Speicherbedarf: Anzahl der Varianten / KBytes
1 1.3
2 2.5
3 3.6
4 4.8
5 5.9
6 7.1
7 8.2
8 9.4
9 10.5
10 11.6
11 12.8
12 13.9
13 15.1
14 16.2
15 17.4
16 18.5
Mit "Variante" kann man dann 16 Kombinationen aus 12/24 Stunden,
kurz/lang und regional_1/_n aussuchen.
Das kann man sicher noch weiter optimeren.
Torsten C. schrieb:> Sollen die Ebenen denn auch noch in die .accdb? Dann brauche ich den> Code-Generator ja gar nicht machen und warte einfach, bis die Ebenen von> "Uhrzeit" bis "regional_n" auch in der .accdb sind.>> Im Code sollte m.E. alles drin sein, was mit einer Frontplatte möglich> ist, um regional_n, kurz/lang usw. umschalten zu können. Für den der> will, vielleicht auch automatisch im 15-Sekundentakt.
Es wird auf oberster Ebene ein Auswahl-Tabelle tbl_mode für die Auswahl
der Betriebsart geben:
Anzeige "Minuten vor Stunden" oder Anzeige "Stunden vor Minuten"
Auswahl "24-Stunden-Anzeige" oder "12-Stunden-Anzeige"
bei 24-Stunden-Anzeige:
nur Standard-Minutenanzeige 1 bis 59, kein Ossi-, Wessi-Mode
- Auswahl Kurzform: "ES IST DREIZEHN UHR EINUNDZWANZIG"
- Auswahl Langform: "ES IST DREIZEHN UHR UND EIN UND ZWANZIG MINUTEN"
bei 12-Stunden-Anzeige:
a) Standard Minutenanzeige 1 bis 59
b) Ossi-, Wessi-, XYZ-Modus (Viertel, Halb, Dreiviertel,...)
1) ohne Anzeige "NACHTS", MORGENS", "VORMITTAGS", MITTAGS", ....
2) mit Anzeige "NACHTS", MORGENS", "VORMITTAGS", MITTAGS",
"NACHMITTAGS", "ABENDS"
Die Tabellen für die Wortkombinationen tbl_hours und tbl_minutes werden
jeweils eine Spalte mit der Angabe der Wortanzahl n enthalten, damit sie
leicht per Schleife abgearbeitet werden können.
Die Minutentabelle enthält eine Spalte "hour_offset", damit auch
Zeitangaben "VOR ... UHR" einfach gehandhabt werden können (dabei wird
der Offset +1 zur aktuellen Stunde addiert)
Die Hierarchie sieht nach derzeitigem Stand so aus:
tbl_modus
tbl_hours, tbl_minutes
tbl_words
Alle Tabellen werden Bestandteil der Datenbank sein.
Hoffe, damit sämtliche Klarheiten beseitigt zu haben ;-)
Herbert P. schrieb:> Alle Tabellen werden Bestandteil der Datenbank sein.> Hoffe, damit sämtliche Klarheiten beseitigt zu haben
Perfekt. Das "wordLED_Struct word_array[N_WORDS];" kann ja immer gleich
sein, also braucht man das nur einmal.
Der Codegenerator braucht nun nur noch "Checkboxen", um die zu
exportierenden Vaianten (N_Variante) auswählen zu können.
Oder jede Variante kommt in ein separates Array:
1
uint8_tminute_array_V1[60][N_WORDS/8];// 420 Bytes pro Sprache
2
uint8_thour_array_V1[24][N_WORDS/8];// 168 Bytes pro Sprache
3
4
uint8_tminute_array_V2[60][N_WORDS/8];// 420 Bytes pro Sprache
5
uint8_thour_array_V2[24][N_WORDS/8];// 168 Bytes pro Sprache
6
7
...
8
9
uint8_tminute_array_Vn[60][N_WORDS/8];// 420 Bytes pro Sprache
10
uint8_thour_array_Vn[24][N_WORDS/8];// 168 Bytes pro Sprache
Dann muss der Code halt mit switch&case auswählen.
Torsten C. schrieb:> Speicherbedarf: Anzahl der Varianten / KBytes> ...> 16 18.5
oops, ist ja viel weniger.
Varianten-Anzahl / KBytes
1 0.7
2 1.3
3 1.9
4 2.5
5 3.0
6 3.6
7 4.2
8 4.8
9 5.3
10 5.9
11 6.5
12 7.1
13 7.6
14 8.2
15 8.8
16 9.4
Torsten C. schrieb:> Torsten C. schrieb:>> Speicherbedarf: Anzahl der Varianten / KBytes>> ...>> 16 18.5>> oops, ist ja viel weniger.
Ist sicher wesentlich weniger. Außerdem bemühe ich mich, die Tabellen
"sophisticated" anzulegen. Das Programm wird nicht viel Arbeit damit
haben ;-)
Torsten C. schrieb:> Torsten C. schrieb:>> Speicherbedarf: Anzahl der Varianten / KBytes>> ...>> 16 18.5>> oops, ist ja viel weniger.
Ist sicher wesentlich weniger. Außerdem bemühe ich mich, die Tabellen
"sophisticated" anzulegen. Das Programm wird nicht viel Arbeit damit
haben ;-)
Wieviel Speicherplatz steht für die Arrays ungefähr zur Verfügung?
Herbert P. schrieb:
> Wieviel Speicherplatz steht für die Arrays ungefähr zur Verfügung?
Im Flash braucht die SW sonst nicht viel Platz, falls nich noch ein
Webserver drauf soll. Das China-Modul hat mit 64KB Flash am wenigsten.
Bis zu 50 Kilobyte für Arrays wären OK, bei anderen auch mehr.
Torsten C. schrieb:> Bis zu 50 Kilobyte für Arrays wären OK, bei anderen auch mehr.
Ich hab die Tabellen in der Access Datenbank jetzt soweit fertig, leider
ist der von ACCESS dafür belegte Speicherplatz kein maßstab.
Es gibt eine übergeordnete Tabelle tbl_modes, mit der werden derzeit 14
Betriebsarten ausgewählt (betrifft nur die Zeitanzeigesteuerung!)
Die Tabelle tbl_modes bezieht sich auf die beiden Tabellen tbl_hours und
tbl_minutes, in welchen die Anzeigemodi festgelegt sind (Stunden vor
Minuten vice versa, kurze/ lange Anzeigetexte, regionale Anzeigemodi).
Es sind derzeit 14 Anzeigemodi definiert.
Die Tabellen tbl_hours und tbl_minutes bilden dann ihrerseits die
Referenz zu der Tabelle tbl_words, von wo die Positionen der
anzeigetexte (LEDs) geliefert werden.
Zur vereinfachten Abarbeitung verfügen sowohl die Tabelle tbl_hours als
auch die Tabelle über je eine Spalte hour_wordcount bzw.
minute_wordcount, welche die Anzahl der Wörter angeben, aus denen der
jeweilige Anzeigestring besteht.
Die Tabelle tbl_minutes enthält außerdem eine Spalte hour_offset. Die
dient dazu, die Stunde um 1 zu erhöhen, wenn die Minutenanzeige von der
nächsten vollen Stunde heruntergezählt wird (z.B. "ES IST HALB HH", ES
IST MM MINUTEN VOR HH UHR").
Das Ganze ließe sich natürlich wesentlich komprimieren, ich habe jedoch
voerst einmal die priorität auf die eine leichte Wartbarkeit und
Nachvollziehbarkeit gelegt.
Ich hoffe, ich habe nicht allzu viele Fehler eingebaut, und wünsche viel
Spaß damit (bin neugierig, wieviel Speicher die Arrays belegen)!
Torsten C. schrieb:> Bis zu 50 Kilobyte für Arrays wären OK, bei anderen auch mehr.
Ich hab die Tabellen in der Access Datenbank jetzt soweit fertig, leider
ist der von ACCESS dafür belegte Speicherplatz kein maßstab.
Es gibt eine übergeordnete Tabelle tbl_modes, mit der werden derzeit 14
Betriebsarten ausgewählt (betrifft nur die Zeitanzeigesteuerung!)
Die Tabelle tbl_modes bezieht sich auf die beiden Tabellen tbl_hours und
tbl_minutes, in welchen die Anzeigemodi festgelegt sind (Stunden vor
Minuten vice versa, kurze/ lange Anzeigetexte, regionale Anzeigemodi).
Es sind derzeit 14 Anzeigemodi definiert.
Die Tabellen tbl_hours und tbl_minutes bilden dann ihrerseits die
Referenz zu der Tabelle tbl_words, von wo die Positionen der
anzeigetexte (LEDs) geliefert werden.
Zur vereinfachten Abarbeitung verfügen sowohl die Tabelle tbl_hours als
auch die Tabelle tbl_minutes über je eine Spalte hour_wordcount bzw.
minute_wordcount, welche die Anzahl der Wörter angeben, aus denen der
jeweilige Anzeigestring besteht.
Die Tabelle tbl_minutes enthält außerdem eine Spalte hour_offset. Die
dient dazu, die Stunde um 1 zu erhöhen, wenn die Minutenanzeige von der
nächsten vollen Stunde heruntergezählt wird (z.B. "ES IST HALB HH", ES
IST MM MINUTEN VOR HH UHR").
Das Ganze ließe sich natürlich wesentlich komprimieren, ich habe jedoch
voerst einmal die priorität auf die eine leichte Wartbarkeit und
Nachvollziehbarkeit gelegt.
Ich hoffe, ich habe nicht allzu viele Fehler eingebaut, und wünsche viel
Spaß damit (bin neugierig, wieviel Speicher die Arrays belegen)!
Für diejenigen, die über keine MS Access Datenbank verfügen, stelle ich
hier einmal vorab die einzelnen Tabellen als Excel-Datei herein. Sie
enthalten die Daten in der Form, wie sie im Flash-Memory gespeichert
werden sollen (ohne die Kommentarspalten selbstverständlich), und sind
so leider nicht ohne Weiteres lesbar.
Die Hierarchie der Tabellen ist nach Art einer Baumstruktur aufgebaut.
Höchstrangige Tabelle ist die Tabelle tbl_modes, sie enthält für derzeit
14 Anzeigeversionen die Referenzen zu den hierarchisch darunter
angeordneten Tabellen tbl_hours und tbl_minutes: (Stunden vor Minuten
oder Minuten vor Stunden, jeweils in 12- oder 24 Stunden-Betriebsart,
kurze oder lange Version der Darstellung (mit oder ohne Text "UHR" und
"MINUTEN"), bei 12-Stunden-Version mit oder ohne den Nachsatz "NACHT",
"MORGENS", VORMITTAGS",...."ABENDS".
Die kürzesten Anzeigemodi sind derzeit z.B. "ES IST DREI NACH ELF" bzw.
"ES IST ELF UHR DREI", die längsten "ES IST DREI MINUTEN NACH ELF UHR"
bzw. "ES IST ELF UHR UND DREI MINUTEN".
Im 12-Stunden-Modus sind auch die verschiedenen regionale Modi für
"VIERTEL NACH", "VIERTEL" (vor), "HALB", "DREIVIERTEL" etc. vorgesehen.
Da bei dieser Betriebsart teilweise eine Referenzierung auf die nächste
Stunde erfolgt, enthält die Minutentabelle eine Spalte "hour_offset".
Normalerweise ist dort "0" eingetragen, lediglich bei den Anzeigeformen
"Viertel" (vor"), ""HALB", "DREIVIERTEL" etc. beträgt der Offset "1",
weil dabei Bezug auf die nächstfolgende Stunde genommen wird, und ist
der aus der Uhrensteuerung ausgelesenen Stunde dazuzuzählen.
Sowohl die Stunden-Tabelle tbl_hours als auch die Minuten-Tabelle
tbl_minutes enthalten Verweise auf die Tabelle tbl_words, welche
ihrerseits die Referenzen für die jeweils anzuzeigenden Textstrings für
die einzelen Wörter bzw. Silben der Textanzeige enthält.
DIe Tabelle txt_words enthält derzeit die Referenzen für die 18 x 16
WordCLock-Frontplattenaufteilung in zwei verschiedenen Formen:
Für die Ansteuerung von LED-Streifen mit Schieberegistern enthält die
Tabelle tbl_words die Spalte "shift", bei welcher entsprechend der
seriellen Einspeisung der Daten über Schieberegister der Wortanfang der
einzelnen Wörter und ihre Länge in der Form (start,length) fortlaufend
von 1 bis 288 angegeben ist.
Eine zweite Spalte "matrix" der Tabelle tbl_words ist für
Matrix-Ansteuerung gedacht. Sie enthält die absolute Position der Wörter
in einer 18 x 16 Matrix in der Form (row;column,lenght).
Auf diese Weise ist, was die Hardware der Anzeige anbetrifft, eine
größtmögliche Flexibilität gewährleistet.
Da die "Intelligenz" der Anzeige ausschließlich über Tabellen (Arrays)
realisiert wird, ist sie jederzeit leich änderbar und erweiterbar. Auch
fremdsprachliche Versionen sind auf dieser Basis relativ einfach und
zeitsparend realisierbar.
Für jene, die keine 18 x 16 Matrix, sondern die ursprüngliche Version
einer 16 x 16 Matrix bevorzugen, werde ich in den kommenden Tagen
(Wochen) eine für diese Anzeigeform angepasste Tabellenversion
vorstellen.
Ich hoffe, damit einen konstruktiven beitrag zum Gelingen dieses
Projekts beigetragen zu haben, und freue mich über Eückmeldungen und
konstruktive Kritik.
Sorry, bei der Tabelle tbl_hours.xlsx habe ich irrtümlich die Tabelle
mit den Texten anstatt mit den Referenzen hochgeladen, was ich hiermit
korrigiere.
Wie sind denn die Spalten minute_ix_0, minute_ix_1, …, minute_ix_8,
hour_ix_0, …, hour_ix_6 entstanden?
http://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29
Hast Du da 'ne Kreuztabellenabfrage gemacht?
Falls die Spalten auch normalisiert vorliegen, wäre das einfacher, denn
ich würde die Spalten sonst erstmal zu einer einzelnen Spalte
zusammenfassen.
Die Reihenfolge ist ja egal, da alle LEDs gleichzeitig an gehen, also
keine Reihenfolge mehr haben.
Ist die letzte "Buchstabenmatrix" noch aktuell? Wenn ich die aus der
Datenbank ermitteln wollte, müsste ich allein dafür erstmal ein Programm
schreiben, um die Buchstaben.Positionen aus tbl_words.matrix zusammen zu
setzen.
A propos tbl_words.matrix: Statt die Daten aus "(1;11;4)" zu parsen,
wären einzelne Spalten "Spaltenindex" und "Lauflänge" einfacher zu
verarbeiten. Die Zeile ist ja schon in einer separaten Spalte. :-)
Ich bin soeben auf einen logischen Fehler bei der Tabelle tbl_words
draufgekommen:
bei der "Serpentinen-Ansteuerung" der LED-Stripes muss bei jeder zweiten
Zeile der Indexzeiger nicht auf den Wortanfang, sondern auf das Wortende
zeigen. Ich werde eine korrigierte Tabelle im Lauf des heutigen Tages
hochladen.
Torsten C. schrieb:> Wie sind denn die Spalten minute_ix_0, minute_ix_1, …, minute_ix_8,> hour_ix_0, …, hour_ix_6 entstanden?
Keine Kreuztabellenabfrage.
In jedem Anzeigemodus repräsentiert:
jeder Record der Tabelle tbl_hours genau eine Stunde aus 24 Stunden;
jeder Record der Tabelle tbl_minutes genau eine Minute aus 60 Minuten.
Die Indizes hour_ix_n und minute_ix_n nehmen Bezug auf die Indizes der
zu Grunde liegenden Tabelle tbl_words.
z.B. Darstellung der Uhrzeit "6:20"
tbl_hours:
hour_ix_0 hour_ix_1 hour_ix_2 hour_ix_3
1 = "ES" 2="IST" 17="SECHS" 43="UHR"
tbl_minutes:
minute_ix_0 minute_ix_1 minute_ix_2
46 = "UND" 67 = "ZWANZIG" 76 = "MINUTEN"
Zusammengesetzt ergibt das die Anzeige:
tbl_hours tbl_minutes
---------------- -------------------
1 2 17 43 46 67 76
ES IST SECHS UHR UND ZWANZIG MINUTEN
Die Auswahl, welcher Anzeigemodus der Stundenanzeige (kurz/lang; 12/24
Stunden) mit welchem Anzeigemodus der Minutenanzeige (kurz/lang;
Standard/ regional,...) kombiniert wird, übernimmt die Tabelle tbl_modes
je nach ausgewählter Betriebsart..
Auch die Auswahl, ob die Stunde der Minute vorangestellt wird, oder
umgekehrt die Minute der Stunde ("ES IST ZWÖLF UHR UND ZEHN MINUTEN"
bzw. "ES IST ZEHN MINUTEN NACH ZWÖLF") erfolgt über die Auswahltabelle
tbl_modes.
Nach Korrektur der Indexfehler in der Tabelle tbl_words werde ich die
Access-Datei noch einmal hochladen. Sie wird dann auch eine
Auswahlabfrage enthalten, aus der (hoffentlich) klar ersichtlich ist,
wie es gedacht ist, dass das Werkel funktionieren soll.
Normalisierung:
Selbstverständlich unterscheiden sich bei etlichen Betriebsarten die
Anzeigen nur teilweise und geringfügig voneinander. Aber aus Gründen der
besseren Übersichtlichkeit habe ich es vorerst dabei belassen. Die dabei
auftretenden Redundanzen sind also der besseren Lesbarkeit wegen mit
Absicht in Kauf genommen, um einmal einen ersten Eindruck zu vermitteln.
Torsten C. schrieb:> Je nach HW-Implementierung ist das ja auch wieder anders. Das kann doch> der Code-Generator machen.
Soll mir recht sein, dann lassen wirs so wie es ist.
Herbert P. schrieb:> Aber aus Gründen der> besseren Übersichtlichkeit habe ich es vorerst dabei belassen.
Das ist ja fürs menschliche Auge auch OK, aber für eine
For-Next-Schleife ist das saublöd. Zumal Du das normalisierte Format
bereits vorliegen hast und man für den Codegenerator oder den
Screensaver Deine Kreuztabellen-Abfrage wieder "rückwärts" rechnen muss,
damit alles in eine Spalte kommt.
Und wie gesagt, Details siehe oben:
> Ist die letzte "Buchstabenmatrix" noch aktuell?> Statt die Daten z.B. aus "(1;11;4)" zu parsen, wären einzelne Spalten> "Spaltenindex" und "Lauflänge" einfacher zu verarbeiten.
Torsten C. schrieb:> und man für den Codegenerator oder den> Screensaver Deine Kreuztabellen-Abfrage wieder "rückwärts" rechnen muss,> damit alles in eine Spalte kommt.
Sind keine Kreuztabellenabfragen. Es sind lediglich in den Tabellen
selbst die ....ix_n Felder als Feldtyp "Nachschlagefeld" definiert, die
Tabellenfelder enhalten jedoch nur Indizes als Integer (Byte würde auch
genügen, sollte man eigentlich ändern).
Wenn man den Feldtyp der ..ix_n Tabellenfelder auf "Textfeld" ändert,
dann werden ganz normal die Indizes als Integer angezeigt.
Oder reden wir aneinander vorbei? Soll ja auch schon vorgekommen
sein...;-)
Torsten C. schrieb:> Ist die letzte "Buchstabenmatrix" noch aktuell? Wenn ich die aus der> Datenbank ermitteln wollte, müsste ich allein dafür erstmal ein Programm> schreiben, um die Buchstaben.Positionen aus tbl_words.matrix zusammen zu> setzen.>> A propos tbl_words.matrix: Statt die Daten aus "(1;11;4)" zu parsen,> wären einzelne Spalten "Spaltenindex" und "Lauflänge" einfacher zu> verarbeiten. Die Zeile ist ja schon in einer separaten Spalte. :-)
Ich schick noch heute nachmittag die geänderten Tabellen und den
aktuellen Letztstand der Buchstabenmatrix hoch.
Herbert P. schrieb:> Keine Kreuztabellenabfrage.Herbert P. schrieb:> Oder reden wir aneinander vorbei?
Ich habe nicht ordentlich gelesen. Meine Schuld, sorry. Unnötig Tipperei
auf Deiner und meiner Seite.
Dann muss das nächste Tool in der Toolkette sich die "einzuschaltenden
Wörter" halt aus mehreren Spalten zusammen suchen. Dann lass es ruhig
auch so, sonst wäre die Arbeit für die Tonne.
Soll ich "(1;11;4)" parsen? Oder kommen die zwei letzten Spalten auch
noch separat?
Herbert P. schrieb:> aktuellen Letztstand der Buchstabenmatrix
Danke. Die Vorgehensweise macht aber nur Sinn, wenn die Buchstabenmatrix
immer passend zusammen mit der Datenbank veröffentlicht wird, damit die
zusammen passen. Ansonsten könnte man die Buchstabenmatrix besser aus
der Datenbank holen, falls die da auch direkt drin ist (ohne aufwendige
Auswertung von tbl_words).
So, hab' Alles auf Letztstand gebracht: die zip-Datei enthält die
Exceldatei WordClock24h.xlsx und die Access-Datenbank
WordCLock24h.accdb. Für die Neugestaltung der Frontplatte als
Grafik-Datei hat die Zeit nicht gereicht, aber zur Not kann man ja zum
Testen die Frontplatte aus der Excel-Datei verwenden.
Die Access-Datei enthält zusätzlich zu den Tabellen tbl_hours und
tbl_minutes, in welchen bei den ...ix_n-Feldern die Klartexte als
Nachschlagefelder hinterlegt sind, die inhaltlich identischen Dateien
tbl_hours_plain und tbl_minutes_plain ohne Nachschlagefelder, in denen
also die Referenz-Indizes auf die Tabelle tbl_words sichtbar sind.
Wo es möglich war, habe ich den Datentyp der Indizes auf "Byte"
reduziert.
Außerdem enthält die Datenbank ein Formular frm_Anzeigestrings, in
welchem man am Formularkopf die verschiedenen Anzeigemodi auswählen kann
und dann die dazugehörigen Anzeigestrings für 24 Stunden angezeigt
werden. Leider ging das auf die Schnelle nur unter Verwendung von
Kombinationsfeldern, was die Lesbarkeit ein wenig behindert.
Ich hoffe, damit einen Schritt in die richtige Richtung gemacht zu
haben,
LG Herbert
Torsten C. schrieb:> Soll ich "(1;11;4)" parsen? Oder kommen die zwei letzten Spalten auch> noch separat?
Ich habe jetzt alles in separaten Spalten angelegt.
"mein Arduino" mit dem 1284p soll:
http://forum.arduino.cc/index.php?topic=234895.0
We've sent the panel containing your boards to the fabricator. We expect
to get them back around November 29th.
nebenbei versuche ich ein Muster mit DIL40 aufzubauen.
Wie schon erwähnt sind noch ein paar kleine Fehler in den Wortindizes.
@Herbert P.: Habe die letzten beiden Zeilen vertauscht,
aber auch Nach(ts) nach vorne gezogen und die letzte Zeile um zwei
Buchstaben nach rechts, damit Nach mittag möglichst "fließend" zu lesen
ist.
Angehängt zwei Snapshots aus dem Wordclock2-Mockup,
einmal mit großem ß und einmal mit ss.
Mir gefällt die Version mit großem ß besser.
Siehe auch: http://de.wikipedia.org/wiki/Gro%C3%9Fes_%C3%9F
Auch angehängt meine Zeichentabelle und die Tabelle der Wortindizes.
Dabei Zeilen mit **** markiert die ich korrigiert habe.
Bei Interesse an den Exen kann ich die auch gerne hochladen.
Edit: in wordtab.cpp natürlich nicht die Zeile
{1,11,4}, // wp1_VIER, ****
sondern die geändert
{8,4,4}, // wp2_VIER, ****
Torsten C. schrieb:> Bei word_ix 48 muss sicher 'ne vier in Spalte "column" stehen:
Sorry, hab' ich korrigiert.
Ich hab auch gleich die zwei letzten Zeilen vertauscht, damit ist jetzt
auch eine Anzeige "NACH" "MITTAGS" möglich.
Hans H. schrieb:> Edit: in wordtab.cpp natürlich nicht die Zeile> {1,11,4}, // wp1_VIER, ****> sondern die geändert> {8,4,4}, // wp2_VIER, ****
Hab' ich korrigiert (siehe oben - Anmerkung von Torsten)
WOW, sieht ja schon gut aus!
Hans H. schrieb:> Mir gefällt die Version mit großem ß besser.> Siehe auch: http://de.wikipedia.org/wiki/Gro%C3%9Fes_%C3%9F
Ich zitiere aus dem genannten Wikipedia-Artikel:
"Großschreibweise mit Ersetzung von ß durch SS
Die heutigen Rechtschreibregeln schreiben vor, im Versalsatz das „ß“
durch „SS“ zu ersetzen („Weiß“ wird zu „WEISS“)."
Frage an alle, die sich schon mit den Tabellen zur Kodierung der Anzeige
beschäftigt haben:
gibt es bezüglich Parametrisierung, Wortauswahl/ Positionierung und
Anzeigemöglichkeiten noch irgend welche Anregungen/ Wünsche/
Beschwerden?
(bitte nur auf die zuletzt hochgeladene Version beziehen!)
Erst wenn alles passt, mache ich mit Photoshop und CorelDraw die
Druckvorlagen für die Frontplatte.
@Jürgen: Deine 16x16 Version ist nicht vergessen, muss aber die Wörter
noch einmal überprüfen und ggf. ergänzen.
Herbert P. schrieb:> ... Anregungen/ Wünsche/ Beschwerden?> Erst wenn alles passt, mache ich mit Photoshop und CorelDraw die> Druckvorlagen für die Frontplatte.
Ich wollte eigentlich erstmal 'ne Simulation (Mockup) im Zeitraffer
machen, aber hatte erstmal "die Füße still" gehalten, daher dauert das
noch etwas. Aber: Ich bin nicht so penibel. Zur Not nehme ich 'ne
Platte, so wie sie ist.
Aber Andere, die das enger sehen, bemerken Änderungswünsche vielleicht
erst dann.
Für meinen digitalen Bilderrahmen erzeuge ich mir Bitmaps, dann kann die
Familie schon mal meckern, wenn denen das nicht gefällt.
Herbert P. schrieb:> Die heutigen Rechtschreibregeln schreiben vor ...
Mit Zitaten kommen wir nicht weiter. Ich zitiere den Duden:
> Allerdings darf mündigen Bürgerinnen und Bürgern im Einzelfall getrost> die Entscheidung überlassen werden, ob sie das große Eszett etwa für> die Schreibung ihres Namens nutzen oder nicht.
Über Geschmack lässt sich halt nicht streiten.
@Torsten: Danke für die Korrektur!
Wenn ich mir die Mockup-Bildchen von Hans so anschaue, dann fällt mir
auf, dass sich das Wort "UHR" eine Zeile höher in der Mitte - dort, wo
jetzt das "AUF" steht - optisch wahrscheinlich besser machen würde. Ich
denke, ich werde die beiden Wörter vertauschen.
@Joachim: Ist nur ein Darstellungsbeispiel, keine konkrete Kodierung
@Herbert: Bitte mal die Indizes auch für AUF anpassen, da ist in der
letzten Excel-Tabelle noch ein Fehler
{6,8,3}, // wp1_AUF, ****
Warum hast du in der vorletzten Zeile das NACH(TS) nach vorne gerückt,
sieht imho ab Spalte 1 besser aus?
Viele Grüße,
Joachim B. schrieb:> bei 24 Stunden und NULL UHR ZWEI UND DREIßIG kann das NACHTS wohl> entfallen?
Ja, kann entfallen. Wenn Du Dir die Tabelle tbl_modes anschaust, dann
siehst Du, dass bei den 24-Stunden-Modi grundsätzlich keine Zusätze
"NACHTS", "MORGENS"... etc. vorgesehen sind. Die von Dir zitierte
Kombination ist aber nicht die einzige sinnentleerte, die theoretisch
möglich wäre. Daher gibt es die Tabelle tbl_modes, über die die Auswahl
der möglichen und sinnvollen Kombinationen erfolgt.
Folgende Anzeigemodi sind derzeit vorgesehen:
1 - [EMPTY]- ES IST HH UHR (12) - MM
2 - [EMPTY]- ES IST HH UHR (24) - MM
3 - [EMPTY]- ES IST HH UHR (12) - UND MM MINUTEN
4 - [EMPTY]- ES IST HH UHR (24) - UND MM MINUTEN
5 - ES IST MM NACH - HH (12)
6 - ES IST MM MINUTEN NACH - HH (12)
7 - ES IST MM MINUTEN NACH - HH UHR (12)
8 - ES IST MM MINUTEN NACH - HH UHR (12) NACHTS
9 - ES IST MM (VIERTEL NACH, HALB, VIERTEL) - HH (12)
10 - ES IST MM MINUTEN NACH (VIERTEL NACH, HALB, VIERTEL) - HH UHR (12)
11 - ES IST MM MINUTEN NACH (VIERTEL NACH, HALB, VIERTEL) - HH UHR (12)
NACHTS
12 - ES IST MM (VIERTEL NACH, HALB, DREIVIERTEL) HH (12)
13 - ES IST MM MINUTEN NACH (VIERTEL NACH, HALB, DREIVIERTEL) HH UHR
(12)
14 - ES IST MM MINUTEN NACH (VIERTEL NACH, HALB, DREIVIERTEL) HH UHR
(12) NACHTS
[EMPTY] bedeutet, dass die entsprechenden Spalten in der Tabelle
tbl_modes leer sind und von der Software übersprungen werden müssen, da
die Anzeige mit der Stundenanzeige beginnt. Die Länge der
abzuarbeitenden "Strings" ist bei jedem Datensatz als hour_wordcount
bzw. minute_wordcount explizit angegeben.
Dabei sind die Referenz-Indizes für die "Strings" in den Tabellen
tbl_hours und tbl_minutes festgehalten, die Tabelle tbl_modes tut nichts
anderes, als jeweils eine Variante aus tbl_hours und eine dazu passende
aus tbl_minutes miteinander zu verknüpfen.
Da bei den verschiedenen Anzeigemodi die "Minuten-Strings" einmal vor
den "Stunden-Strings", einmal danach plaziert sind, ist in der Tabelle
tbl_modes der Index für die "Minuten-Strings" einmal vor dem Index für
die "Stunden-Strings", einmal danach plaziert.
Wenn Du über MS Access verfügst, kannst Du die derzeit möglichen
Kombinationen mit dem Access-Formular frm_Anzeigestrings anschauen. Eine
andere Möglichkeit der Visualisierung steht mir leider im Augenblick
nicht zur Verfügung.
Sollte jemand nicht über MS Access verfügen, kann ich die Tabellen gerne
als Excel-Dateien hochladen. Leider ist es mir damit jedoch nicht
möglich, die Tabellenbezüge miteinander zu verknüpfen - die Anzahl der
möglichen Kombinationen würde die Kapazität von Excel sprengen.
*****
Die Software braucht nichts Anderes zu tun, als jede Minute einmal in
der Tabelle tbl_modes nachzuschauen, welcher Anzeigemodus eingestellt
ist. Dann werden aus den Tabellen tbl_hours und tbl_minutes die dem
Anzeigemodus und der Uhrzeit entsprechenden "String"- Repräsentanten
(Byte) als Referenzen für die Tabelle tbl_words geholt, und letztendlich
die referenzierten Inhalte aus der Tabelle tbl_words zu einem Bitstream
zusammengesetzt und ausgegeben.
Hans H. schrieb:> Warum hast du in der vorletzten Zeile das NACH(TS) nach vorne gerückt,> sieht imho ab Spalte 1 besser aus?
War ursprünglich auch meine Meinung. Aber:
Man braucht das "NACH(TS)" auch für
NACH
MITTAGS
Durch die neue Positionierung ergibt sich ein besserer Lesefluss für
diese Kombination.
Hans H. schrieb:> @Herbert> Das AUF und UHR zu tauschen finde ich auch gut.
Oki, dann machn ma das so :-)
Übrigens wird das "AUF" bei den derzeitigen Anzeigeversionen (noch)
nicht verwendet, es spricht aber nichts dagegen, auch einen Anzeigemodus
mit der Variante "ES IST ZEHN MINUTEN AUF EINS" einzuführen (ich glaube,
diese Form schon irgendwo einmal gehört zu haben).
Zum Thema "VOR", "BIS", "AUF":
Für Anzeigemodi, welche sich auf die nachfolgende Stunde beziehen, habe
ich der Tabelle tbl_minutes eine Spalte "hour_offset" hinzugefügt. Die
enthält normalerweise den Wert "0". Nur in jenen Fällen, in welchen
Bezug auf die nächstfolgende Stunde genommen wird ("ES IST ZEHN MINUTEN
VOR EINS"), enthält sie den Wert "1" und muss der aktuellen, aus der Uhr
ausgelesenen Stunde hinzugezählt werden.
Herbert P. schrieb:> Eine> andere Möglichkeit der Visualisierung steht mir leider im Augenblick> nicht zur Verfügung.
Arbeitet außer mir noch jemand dran?
Hans H. schrieb:> Snapshots aus dem Wordclock2-Mockup
Was ist das "Wordclock2-Mockup"?
Wenn's schon was gibt, muss ich das Rad ja nicht neu erfinden.
Ich bastel sonst weiter an einer SW (.exe für windows), um:
- Ein Filmchen (.avi) im Zeitraffer zu erstellen
(lade ich dann auf YouTube hoch)
- Einzelbilder für einen digitalen Bilderrahmen zu erzeugen und
- Den C-Code für ATMEGA (AVR) und STM32 (ARM) zu erzeugen
Den Sourcecode davon (C# mit Visual Studio Express) kann ich gern bei
GitHub veröffentlichen.
Zu den ganzen ZIPs und XLSXen und ACCDBs: Ich schlage vor, die in den
Wiki-Artikel zu hängen und immer mit neuen Versionen zu überschreiben.
Dann hat man ohne Sucherei immer einen PermaLink auf die aktuellste
Version.
Torsten C. schrieb:> Was ist das "Wordclock2-Mockup"?
Auf Basis meines Wordclock-Screensavers geschriebene Windows-Anwendung,
die zur Zeit das Durchschalten der Wortkombinationen ermögicht,
siehe mein Beitrag weiter oben.
Wenn hier ein Stand erreicht ist, werde ich sicher auch wieder einen
richtigen Screensaver daraus machen.
Aha, wordclock2.cmd und wordclock2.exe :-) Danke.
Hans H. schrieb:> Durchschalten der Wortkombinationen ...> richtiger Screensaver
Das klingt erstmal nicht wirklich nach Doppelarbeit. Oder?
Torsten C. schrieb:> Arbeitet außer mir noch jemand dran?
Das würde mich auch brennend interessieren - speziell, wer mit der
Access-Datenbank was anfangen kann, und wer nicht (die dortigen Tabellen
und Verknüpfungen sind nämlich der Pfiff an der ganzen Sache und die
halbe Miete) - oder wie siehst Du das, Torsten?
Torsten C. schrieb:> Zu den ganzen ZIPs und XLSXen und ACCDBs: Ich schlage vor, die in den> Wiki-Artikel zu hängen und immer mit neuen Versionen zu überschreiben.> Dann hat man ohne Sucherei immer einen PermaLink auf die aktuellste> Version.
Halte ich für eine gute Idee!
Ich habe mittlerweile die Anzeigemodi um die Version "ES IST MM MINUTEN
AUF ..." erweitert. bei den speziellen regionalen Versionen bin ich auf
Euren Input angewiesen, da ich nicht weiß, was bei Euch so üblich ist,
z.B.:
ES IST 1 ... 14 MINUTE(N) NACH HH
ES IST VIERTEL HH+1
ES IST 16 ... 20 MINUTEN NACH HH
ES IST 9 .... 1 MINUTE(N) AUF HALB HH+1
ES IST HALB HH+1
ES IST 1 ... 9 MINUTE(N) NACH HALB HH+1
ES IST 20 ... 16 MINUTEN AUF HH+1
ES IST VIERTEL VOR HH+1
ES IST 14 ... 1 MINUTE(N) AUF HH+1
Wer pflegt die Wiki-Einträge ein? Kann das jeder, oder benötigt man dazu
eine spezielle Berechtigung?
Torsten C. schrieb:> Hans H. schrieb:>> Durchschalten der Wortkombinationen ...
Eine Übersicht über die Wortkombinationen der jeweiligen Anzeigemodi
erhält man auch mit dem Formular frm_Anzeigestrings der
WordCLock24h.accdb. Es werden bei jedem Anzeigemodus alle 1440 Minuten
von 24 Stunden in Listenform angezeigt.
Torsten C. schrieb:> PS: Vorschlag: Alle Dateinamen haben den Prefix "WC24h_", ist dann> übersichtlicher.
Habe in das WordClock24h-Wiki ein Kapitel "Wörter und Wortkombinationen"
eingefügt und die Datei WC24h.zip (WC24h.accdb, WC24h.xlsx) hochgeladen.
Herbert P. schrieb:> … die dortigen Tabellen> und Verknüpfungen sind nämlich der Pfiff an der ganzen Sache und die> halbe Miete … oder wie siehst Du das, Torsten?
Das ist ja schon ein Stück weit "data-driven programming". :-)
"die halbe Miete" ist das allemal, der Rest ist Pipifax.
Nur das Datenbank-Design hätte ich mir - wie Du weißt - etwas anders
vorgestellt. Aber Schwamm drüber, ich bin anpassungsfähig.
Auszug aus dem Import in C#:
Das hätte man auch einfacher machen können. Aber nun lassen wir das
bitte so.
Sieht lustig aus, wenn die Wörter im Mock-up durcheinander aufblitzen.
:-)
"ES IST ZEHN FÜNF UHR" statt "ES IST FÜNF ZEHN UHR"
Das ist aber nur beim "durchklickern" von Hand aufgefallen. Weitere
Fehler werde ich ggf. sammeln und am Stück posten, wenn die Animation
automatisch komplett alle Varianten durchgespielt hat.
Oki!
Ich bitte Dich, auch auf eine optisch möglichst ansprechende Verteilung
der Wörter zu achten und mir Bescheid zu geben, wenn ich diesbezüglich
was ändern muss.
Herbert P. schrieb:> Ich bitte Dich, auch auf eine optisch möglichst ansprechende Verteilung> der Wörter zu achten
Das ist Geschmacksache. Meine Meinung kann ich zwar sagen. Wenn das .avi
für YouTube fertig ist, kann sich aber jeder selbst 'ne Meinung bilden.
Wörter, Varianten und Stunden sind fertig. Ich muss noch die Minuten
machen, verschachtelte foreach-Schleifen für alle Kombinationen machen,
jeweils die Bitmaps automatisch speichern und dann ffmpeg installieren:
http://stackoverflow.com/questions/1870103/create-a-video-stream-avi-from-a-series-of-images
Das dauert noch etwas.
Zum Film:
a) Pro Variante ein Film? Oder
b) ein einziger Film, wo für jede der 1440 Minuten alle Varianten
durchgeschaltet werden?
Natürlich im extemen Zeitraffer.
Herbert P. schrieb:> @Torsten: Danke für die Korrektur!
Wie kommen denn solche Fehler zustande? Synchronisierst Du Excel und
Access von Hand?
Torsten C. schrieb:> Wie kommen denn solche Fehler zustande? Synchronisierst Du Excel und> Access von Hand?
Am Anfang stand die Einteilung der Frontplatte und die zugehörige
Wort-Tabelle, beides habe ich mit Hilfe von Excel gemacht.
Die Daten aus der Excel-Tabelle habe ich dann händisch in die Tabelle
tbl_words übertragen. Die anderen Tabellen tbl_hours, tbl_minutes und
tbl_modes habe ich in Handarbeit in Access erstellt.
Torsten C. schrieb:> "ES IST ZEHN FÜNF UHR" statt "ES IST FÜNF ZEHN UHR"
Sorry, der Fehler lag in der Reihenfolge der Wörter in der 4. Zeile der
Frontplatte:
ich musste die Wörter "ZEHN", ZWÖLF","FÜNF" umreihen auf "ZWÖLF",
"FÜNF", "ZEHN". Daraus ergeben sich natürlich auch andere Referenzen in
der Tabelle tbl_words und tbl_hours.
Die korrigierten Daten habe ich im WordClock24-Wiki hochgeladen.
Ich hab jetzt im WordClock24h-Wiki auch einen aktualisierten
Frontplattenentwurf mit dem Font "Futura Light" mit 18x16 Matrix im
Format 45cm x 45cm als pdf-Datei hochgeladen und bitte um Begutachtung
und Rückmeldung (die Schrift ist vielleicht doch etwas zu zart?)
Torsten C. schrieb:> Zum Film:> a) Pro Variante ein Film? Oder
Ich würde für diese Variante plädieren, eine Version mit allen
Auswahlmöglichkeiten (15 x 1440 = 216.000 Frames) würde zu lang werden,
fürchte ich.
Herbert P. schrieb:> Ich hab jetzt im WordClock24h-Wiki auch einen aktualisierten> Frontplattenentwurf mit dem Font "Futura Light" mit 18x16 Matrix
gibt es noch einen aktuellen 16 x 16 Entwurf?
bevor ich die 2 WS Platten 16 x 16 wegwerfe würde ich gerne erst mal dem
Urgedanken folgen, 18 x 16 kann ja auch noch folgen, nur fehlen mir
jetzt Stripes und ich würde gerne die 16 x 16 verbauen
evtl. im wiki einpflegen 16 x 16
Torsten C. schrieb:> Im Moment sind 7 Modes in tbl_hours, keine 15. Oder kann man da was> duplizieren?
Die 15 Modes ergeben sich durch die Vernüpfung mit den modes der
tbl_minutes (es gibt ja auch verschiedene Modi der Minuten-Anzeige).
WICHTIG: die Verknüpfung von tbl_hours und tbl_minutes erfolgt über die
tbl_modes, wo auch die Auswahl einer der 15 Betriebsarten erfolgt!!!
BITTE UNBEDINGT ANSCHAUEN!!!
Mit dem Formular frm_Anzeigestrings kann man die einzelnen in der
tbl_modes definierten Modi auswählen und erhält dann die kompletten
Strings (Stunden + Minuten bzw. Minuten + Stunden) für 24 Stunden in
Listenform angezeigt.
Joachim B. schrieb:> gibt es noch einen aktuellen 16 x 16 Entwurf?>> bevor ich die 2 WS Platten 16 x 16 wegwerfe würde ich gerne erst mal dem> Urgedanken folgen, 18 x 16 kann ja auch noch folgen, nur fehlen mir> jetzt Stripes und ich würde gerne die 16 x 16 verbauen>> evtl. im wiki einpflegen 16 x 16
Selbstverständlich wird es einen aktualisierten 16 x 16 Entwurf geben,
ich will ja meine Matrizen auch nicht wegwerfen. Sobald ich ihn fertig
habe (voraussichtlich noch heute oder spätestens morgen), werde ich ihn
im Wiki einpflegen.
Joachim B. schrieb:> nur fehlen mir> jetzt Stripes
Hab grad von LED-Stübchen ein Angebot für WS2812 RGB LED Stripes 60
LEDs/lfm hereinbekommen:
1m: 18,00 EUR
10m: 17,00 EUR
100m: 15,50 EUR
500m: 14,50 EUR
Hab' aber noch keine Zeit gehabt, die Preise zu vergleichen.
Herbert P. schrieb:> Hab grad von LED-Stübchen ein Angebot für WS2812 RGB LED Stripes 60> LEDs/lfm hereinbekommen:>> 1m: 18,00 EUR> 10m: 17,00 EUR> 100m: 15,50 EUR> 500m: 14,50 EUR
och das sieht nicht günstig aus, ich tippe mal das sind Meterpreise,
interessant wird es wenn der Preis pro LED genannt wird, auseinander
schneiden und zusammenlöten kann ich die selber.......
bei 10m wären das ja 170€ = 600 LEDs = 28 Ct/LED da lag mein witopower
mit 5m 51€ = 17 Ct/LED günstiger.
da hast ja was angerichtet:
Der Server unter www.led-stuebchen.de braucht zu lange, um eine Antwort
zu senden.
Torsten C. schrieb:> Ich hatte Dir per PN drei Links geschickt, die Lieferungen waren OK und> die Preise m.E. auch
Danke :-)
Ich hab' meine LED-Stripes schon aus Hongkonmg geliefert bekommen, das
Angebot von LED-Stübchen habe ich nur interessehalber eingeholt, hätte
ja sein können.....
Joachim B. schrieb:> interessanter wären aktuell für mich 42 - 52 /m non waterproof
Nach sowas hätte ich auch gesucht, scheint es aber leider zumindest
derzeit nicht am Markt zu geben.
Herbert P. schrieb:> Nach sowas hätte ich auch gesucht, scheint es aber leider zumindest> derzeit nicht am Markt zu geben.
Dann sind wir uns in dem Punkt ja doch noch einig geworden. :-) Ich
hatte das Anfangs ja auch schon geschrieben.
Herbert P. schrieb:> Joachim B. schrieb:>> interessanter wären aktuell für mich 42 - 52 /m non waterproof>> Nach sowas hätte ich auch gesucht, scheint es aber leider zumindest> derzeit nicht am Markt zu geben.
gefunden ohne Preis
genau 50LEDs/m = 2cm Raster, damit könnten wir unsere Panels 16x16 auf
16x18 verlängern
http://www.pixel-leds.com/products/112-.html
Joachim B. schrieb:> genau 50LEDs/m = 2cm Raster, damit könnten wir unsere Panels 16x16 auf> 16x18 verlängern> http://www.pixel-leds.com/products/112-.html
Ich bin grad dabei, die 16x16 Frontplatte so umzubauen, dass damit
praktisch die gleichen Wortkombinationen möglich sind wie beim 18x16
Panel. Lediglich die Wortaufteilung wird ein wenig anders sein. Ist
ziemliche Fitzelarbeit :-(
Es wird also letztendlich eine reine Geschmacksfrage sein, ob man dem
16x16 oder dem 18x16 Panel den Vorzug gibt.
Herbert P. schrieb:> Ich bin grad dabei, die 16x16 Frontplatte so umzubauen, dass damit> praktisch die gleichen Wortkombinationen möglich sind wie beim 18x16> Panel.
Hmmm, entweder ich habe da noch ein Programmierfehler, oder da ist noch
einiges durcheinander. Vielleicht macht es Sinn, erstmal eine fertig zu
machen und dann die zweite.
Torsten C. schrieb:> Hmmm, entweder ich habe da noch ein Programmierfehler, oder da ist noch> einiges durcheinander. Vielleicht macht es Sinn, erstmal eine fertig zu> machen und dann die zweite.
bin sehr dafür
die 16 x 16 wäre ja vorrangig weil die Panels ja schon gekauft hier
rumliegen, die erweiterte 18 x 16 ist später drann wenn es wieder genug
Stripes mit passendem Raster gibt, da könnten dann die Stripes enger
beieinander rücken, ich Dödel habe ja die erste Uhr mit quadratischem
Raster aus Stripes gebaut 10 x 11, also nicht die Buchstaben enger
gesetzt obwohl das bei Stripes ja gegangen wäre.
Joachim B. schrieb:> die 16 x 16 wäre ja vorrangig weil die Panels ja schon gekauft hier> rumliegen, die erweiterte 18 x 16 ist später drann wenn es wieder genug> Stripes mit passendem Raster gib
Ich hab mittlerweile sowohl die Matrizen als auch 5 m Stripes, den Atmel
1284P-PU im DIL-Gehäuse, das STM32 F4 Discovery Board, eine 30 x 30 cm
Aluplatte zur Montage der Stripes, eine 50 x 50 cm Hartschaumstoff- und
eine 45 x 45 cm MDF-Platte für die Rastermasken sowie eine eloxierte
Alu-Winkelschiene für den Rahmen hier liegen - und komm nicht zu mehr
als nur die Teile auszupacken, wenn sie geliefert werden, weil ich
dauernd an der Frontplatte und an den Tabellen herumwerkle - ich Dödel
;-)
Aber ich hab' für das Gehäuse schon ein ganz brauchbares Konzept, wie
ich glaube....inkl. Background-Beleuchtung.
Sind eigentlich die Enden der Stripes lötbar, wenn man sie
auseinanderschnippselt, oder muss man sie mit diesen Spezialsteckern
verbinden?
Herbert P. schrieb:> Sind eigentlich die Enden der Stripes lötbar, wenn man sie> auseinanderschnippselt,
bis jetzt habe ich alles löten können was kupferfarben aussah
(aber die Stripes müssen schon fixiert sein und man darf keinen Zug
ausüben, die reissen schnell ab diese Kupferflächen)
diese Stecker würde ich nicht mal mit der Kneifzange anfassen......
Torsten C. schrieb:> Hmmm, entweder ich habe da noch ein Programmierfehler, oder da ist noch> einiges durcheinander. Vielleicht macht es Sinn, erstmal eine fertig zu> machen und dann die zweite.
Vielleicht beruht das Ganze nur auf einem Kommunikationsfehler? Wo liegt
das Problem?
Herbert P. schrieb:> Wo liegt das Problem?
Vielleicht ist es eins, vielleicht mehrere. Nun lass mich doch erstmal
alle Frames für den Film erzeugen und dann ein .avi draus machen.
Anbei ein Beispiel-Frame vom Mock-up.
PS: Wenn Du nicht auf das .avi auf YouTube warten willst, kann ich Dir
die Frames auch als ZIP per E-Mail schicken.
Auch nicht schlecht. Aber vielleicht ist das ja ein
Kommunikationsfehler.
PS: Ich kann Dir auch das unfertige VS-Projekt schicken. Aber im Moment
macht es nur Sinn, das im Debug-Mode aus der IDE zu starten.
Hab (hoffentlich) die oben gezeigten Fehler behoben. Und hoffentlich
keine neuen hinzugefügt!. Da ich die Tabellen im Blindflug erstelle, ist
das leider nicht ganz auszuschließen. :-(
Die editierten Tabellen habe ich ins Wiki hochgeladen. Ein
Schönheitsfehler ist mir aufgefallen, für den ich bisher keine Lösung
gefunden habe:
BEI "ES IST .. UNDZWANZIG" kleben das "UND" und das "ZWANZIG" in der
5.Zeile (leider) aneinander. Ich habe aber keine Idee, wie ich das
anders platzieren könnte.
Torsten C. schrieb:> Youtube-Video "Erster Test des WordClock Mock-up"
Nettes Ding, was Du da fabrizierst :-)
Torsten C. schrieb:> PS: Mir war bis eben gar nicht klar, wieviele Videos es zu WordClocks> bereits gibt:
Wusste ich auch nicht...ist ja kaum zu glauben!
Herbert P. schrieb:> WICHTIG: die Verknüpfung von tbl_hours und tbl_minutes erfolgt über die> tbl_modes, wo auch die Auswahl einer der 15 Betriebsarten erfolgt!!!
Menno, nun wo alles falsch angezeigt wurde, habe ich es erst verstanden.
Bilder sagen mehr als 1000 Worte. Ich habe das Bild in der .accdb
gefunden.
So, also nochmal das Objektmodell anpassen und dann gibt es neue Bilder.
Das Tool exportiert übrigens um die 16 Screenshots pro Sekunde. :-)
Hallo Herbert,
baust Du bitte in die tbl_words noch eine Spalte "color" ein?
Am besten als String im HTML-Code (roter Kringel).
Erstmal für das DMU (Digital-Mock-Up) und bei Bedarf auch für den
C-Code-Generator.
Danke. :-)
VG Torsten (WordClock24h) ← neuer Thread-Footer?
Torsten C. schrieb:> Menno, nun wo alles falsch angezeigt wurde, habe ich es erst verstanden.> Bilder sagen mehr als 1000 Worte. Ich habe das Bild in der .accdb> gefunden.
Na also! bist Du jetzt einverstanden mit der Struktur?
Torsten C. schrieb:> Das Tool exportiert übrigens um die 16 Screenshots pro Sekunde. :-)
Das ist heavy! Wird auch notwendig sein bei so vielen
Kombinationsmöglichkeiten ;-)
Torsten C. schrieb:> baust Du bitte in die tbl_words noch eine Spalte "color" ein?>> Am besten als String im HTML-Code (roter Kringel).
Können die RGB-Stripes tatsächlich 16 bit pro Farbe? Welche Farbe soll
ich defaultmässig zuweisen? Am ehesten einen warmen Weißton, oder?
Herbert P. schrieb:> Können die RGB-Stripes tatsächlich 16 bit pro Farbe? Welche Farbe soll> ich defaultmässig zuweisen?
ne 3x 8-bit für RGB oder 24 Bit Color wobei die 16 Millionen möglichen
Farben natürlich nicht von der LED sichtbar gemacht werden können, liegt
an unseren Augen? (LED Fading ist z.B. das Stichwort)
http://www.mikrocontroller.net/articles/LED-Fading
Herbert P. schrieb:> Können die RGB-Stripes tatsächlich 16 bit pro Farbe? Welche Farbe soll> ich defaultmässig zuweisen? Am ehesten einen warmen Weißton, oder?
Der HTML-Code hat zwar 6 Nibbles aber nur 3 Bytes. Die WS2811-Controller
in den WS2812- und WS2812B-LEDs auch.
> defaultmässig
Die Antwort würde ich in der endgültigen µC-Firmware überlassen. Erstmal
sind das individuelle Farben, die man bei Bedarf ersetzen kann und nur
zur Erzeugung eines syntakisch korrekten AutoCode-Templates und für die
Movies vom DMU dienen.
Joachim B. schrieb:> wobei die 16 Millionen möglichen> Farben natürlich nicht von der LED sichtbar gemacht werden können
Doch, ist aber egal. Der Speicherbedarf betrifft nur 15 Array-Elemente.
Die Farben haben keine gleichmäßigen "Farbabstände" für das Auge. Das
ist sicher das, was Du meinst.
Eine Gamma-Korrektur ist - wenn überhaupt - an anderer Stelle
angebracht.
Herbert P. schrieb:> bist Du jetzt einverstanden mit der Struktur?
Das war ich vorher auch. Es ging mir um die Normalisierung der rot
markierten Teile. Man hätte den Speicherbedarf mit normalisierten
Tabellen einfach per SQL-Query ermitteln können. Das geht zwar per
Union-Abfrage nun auch noch, das ist mir aber zu blöd.
Joachim B. schrieb:> Herbert P. schrieb:>> notwendig> brauchst noch Bastelkram?
Was hat das mit "notwendig" zu tun?
7.97€ bei Mouser
5.43€ bei Aliexpress
2.89€ bei zpeter
Guter Preis für einen ATMEGA1284P-PU von Peter.
Ein STM32 kostet trotzdem noch die Hälfte. ;-)
Torsten C. schrieb:> DAS IST EIN COOLES KERNTEAM,
danke, obwohl ich momentan nicht viel schaffe, zuviel echte Arbeit.
Aber die Arduiono m1284p sind bestellt, Stripes, Flächen LED, wlan
Empf., DCF77 Empf., RTC Ds1307 und DS3231 sind da, der erste Aufbau
auch, ich mache weiter an der SW wenn die m1284p laufen für die
Entwicklung am Arduino, wenn alles läuft kann man ja abspecken bis es im
m328p passt
> Frank M. schrieb:>> Das ist einfach ein zusammengewürfelter Haufen
warum auch immer Frank schimpft? muss wohl an mir liegen, ich weiss nur
nicht was ich ihm getan habe, danke ihn mindestens 1x täglich für sein
IRMP nutze es gerne.
Torsten C. schrieb:> Das sind nur die PCBs und bestücken musst Du selber, oder? ?!
ja
aber bei ca. 3,-€ pro Platine OK
bei Reichelt kostet der m1284p im TQFP44 5,30€ und das Vogelfutter geht
nahezu unter.
Joachim B. schrieb:> aber bei ca. 3,-€ pro Platine OK
Aha. Na denn … Ohne DMA. Das muss ja jeder selbst wissen. Danke für die
Info.
Für 4€ gibt's ja fertig gelötete Module mit DMA. Egal, kein Krieg,
bitte.
Frage zu [tbl_minutes].[hour_offset] und [tbl_hours].[hour_input]:
[hour_input] geht von 0..24. Aber die "Stunde" der Uhrzeit geht ja nur
von 0..23.
Ich nehme an, dass [hour_input] immer durch "Stunde plus [hour_offset]"
gebildet wird und dass [hour_offset] immer über [minute__txt_first]
ermittelt wird und nicht über [minute_txt_last], richtig?
Torsten C. schrieb:> Man hätte den Speicherbedarf mit normalisierten> Tabellen einfach per SQL-Query ermitteln können. Das geht zwar per> Union-Abfrage nun auch noch, das ist mir aber zu blöd.
Die von mir vorgeschlagene Methode beruht nicht auf einem einzigen
Tabellenzugriff, der das Ganze "in einer Wurscht verarbeitet", sondern
ich hatte mir eigentlich vorgestellt, dass die kompilierte Version aus
Speicherspargründen ebenfalls mit diesen Tabellen arbeitet und sich die
Anzeige sozusagen über mehrere Ecken zusammenklamüsert:
Zuerst sieht die Software in der tbl_modes nach, welche Anzeigeart
eingestellt ist:
- tbl_modes 15 Konfigurationen á 4 Bytes = Speicherbedarf 60 Bytes
Mit dem von dort geholten Referenzindex sucht die Software in der
Tabelle tbl_minutes aus 9 verschiedenen Varianten und einem aus 60
Datensätzen den 11 Bytes langen Index-String für die führende
Minutenanzeige aus:
- tbl_minutes 9 x 60 x 11 = 5.940 Bytes
Aus der tbl_hours wird aus 7 verschiedenen Varianten mit jeweils 24
Datensätzen der 8 Bytes lange Index-String für die Stunden-Anzeige
ausgesucht:
- tbl_hours 7 x 24 x 8 = 1.344 Bytes
Ist der Inhalt der Auswahl für die führende Minutenanzeige = 0, dann
wird der Index-String aus der tbl_minutes dem Stunden-String
nachgestellt.
*****
Nun ist der Index-String für Stunden und Minuten komplett, und wird
seriell abgearbeitet:
jedes Byte repräsentiert eines von 84 Wörtern aus der Tabelle tbl_words.
Die Tabelle tbl_words repräsentiert die Wörter nicht als Bitmuster,
sondern lediglich mit ihrer Position (Matrix: 2 Bytes, seriell: 1 Short
Integer = 2Bytes) und Länge (1 Byte). Dazu kommen noch 3 Nibbles = 2
Bytes für die Farbe:
tbl_words 84 x (2 + 2 + 1 + 2) = 588 Bytes.
*****
Der Gesamtspeicherbedarf für die 4 Arrays ist also:
60 Bytes tbl_modes
5.940 Bytes tbl_minutes
1.344 Bytes tbl_hours
588 Bytes tbl_words
--------------------
7.832 Bytes
******************************************
Wenn man Alles in einer Wurscht zusammenfassen würde, dann sähe der
Speicherbedarf ein wenig anders aus:
1 Anzeigemodus umfasst:
(7 x 24 Stunden x 8 Wörter) x (9 x 60 Minuten x 11 Wörter) =
= 7.983.360 Bytes
x 15 Anzeigemodi=
119.750.400 Bytes = 116.943,75 KiB
Das wäre ein wenig schwierig in einem Mikrocontroller unterzubringen,
denke ich....
******************************************
Es kann natürlich sein, dass ich mich verrechnet habe, oder dass mir ein
logischer Fehler unterlaufen ist (in der Früh läuft mein Hirn noch sehr
untertourig). Ich bitte daher um Rückmeldung.
Torsten C. schrieb:> Joachim B. schrieb:>> Herbert P. schrieb:>>> notwendig>> brauchst noch Bastelkram?>> Was hat das mit "notwendig" zu tun?
Ich brauche keinen neuen Bastelkram, denn schon der vorhandene verstaubt
leider in irgend welchen Kisten an irgend welchen dunklen Orten, weil
ich im Büro eigentlich keinen Platz zum Elektronik-Basteln habe, und ein
anderer Platz steht mir nicht zur Verfügung (von Beileidskundgebungen
bitte ich Abstand zu nehmen ;-))
Ich hab mir einen ATmega1284 und ein STM32 Board zugelegt, weil ich von
Natur aus neugierig bin. Der Preis spielt für mich in diesen
Größenordnungen keine Rolle, ich will damit ja nicht in Serie gehen.
Allerdings habe ich mit dem Arduino schon ein bisschen was gemacht, den
ASTM32 habe ich bisher lediglich ausgepackt und rundherum angeschaut.
Torsten C. schrieb:> DAS IST EIN COOLES KERNTEAM, das sich um den>> Beitrag "Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?"> gebildet hat!
Das sehe ich auch so :-)
Joachim B. schrieb:> übrigens:>> Your Mighty Mini 1284P copy boards have been depanelized and shipped to> you via USPS Standard First Class Mail.
Ist ja prima!
Joachim B. schrieb:> bei Reichelt kostet der m1284p im TQFP44 5,30€ und das Vogelfutter geht> nahezu unter.
Ich hab meinen m1284 (und auch den STM32) bei RS bestellt, war auch in
dieser Größenordnung. Bei uns in Österreich kommt halt leider immer noch
ein saftiges Porto dazu - das kostet oft mehr als die Bauteile.
Torsten C. schrieb:> Frage zu [tbl_minutes].[hour_offset] und [tbl_hours].[hour_input]:>> [hour_input] geht von 0..24. Aber die "Stunde" der Uhrzeit geht ja nur> von 0..23.
Das "24" ist lediglich eine zusätzliche Variante, sie ist - wenn
überhaupt - nur bei jenen Anzeigemodi von Belang, welche die Anzeige "ES
WIRD IN MM MINUTEN VIERUNDZWANZIG UHR" verwenden. Wahrscheinlich wird
man eher "ES WIRD IN MM MINUTEN MITTERNACHT" verwenden, denke ich.
Torsten C. schrieb:> Ich nehme an, dass [hour_input] immer durch "Stunde plus [hour_offset]"> gebildet wird und dass [hour_offset] immer über [minute__txt_first]> ermittelt wird und nicht über [minute_txt_last], richtig?
[minute_txt_first] und [minute_txt_last] greifen auf dieselbe Tabelle
tbl_minutes zu. Selbstverständlich muss [hours_offset] zuerst ausgelesen
und der anzuzeigende Wert für die Stunde ermittelt werden, bevor man auf
die tbl_hours zugreift.
Die 16 x 16 Datenbank wird übrigens heute fertig.
Nachsatz zu den Uploads im Wiki:
nachdem es zwei Versionen geben wird - eine mit 16 x 16 Matrix und eine
mit 18 x 16 Matrix, habe ich die Dateinamen um das Matrixformat ergänzt:
WC24h16x16 betrifft die 16x16 Version
WC24h18x16 betrifft die 18x16 Version.
Alle Versionen, die im Dateinamen keinen Hinweis auf die Matrix
enthalten, sind ältere (veraltete) Versionen. Leider habe ich übersehen,
im Wiki einen entsprechenden Hinweis einzubringen, sorry :-(
Allgemeine Handhabung von "0" und "24" Uhr:
Wenn die Uhrzeit auf Mitternacht zugeht, also 23:MM, verwendet man bei
einigen Anzeigemodi in Verbindung mit hour_offset = 1 den Text für 24
Uhr ("ES WIRD IN MM MINUTEN 24 UHR"), für nach Mitternacht (0:MM) den
Text für 0 Uhr ("ES IST MM MINUTEN NACH NULL UHR")
Herbert P. schrieb:> in Verbindung mit hour_offset = 1 den Text für 24 Uhr
Also eine 24 für [hour_input] kann nur über den Offset entstehen. Gut.
Ich wollte nur wissen, ob ich es richtig verstanden habe. Danke.
Herbert P. schrieb:> Selbstverständlich muss [hours_offset] zuerst ausgelesen> und der anzuzeigende Wert für die Stunde ermittelt werden
Und zwar über den grünen weg und nicht über den roten, richtig?
So war meine Frage gemeint.
Herbert P. schrieb:> ich hatte mir eigentlich vorgestellt, dass die kompilierte Version aus> Speicherspargründen ebenfalls mit diesen Tabellen arbeitet und sich die> Anzeige sozusagen über mehrere Ecken zusammenklamüsert
Da sind wir uns alle einig, denke ich.
Die Sache mit der Normalisierung hätte ich besser nie gesagt. Mir ging
es nur darum, dass man gelb und grün jeweils in einer einzigen Spalte
unterbringen hätte können. Die Anzahl der Datensätze hätte sich erhöht,
die Arrays im C-Code wären am Ende aber wieder identisch gewesen.
Gelb und grün in einer Tabelle mischen, macht keinen Sinn. So war das
mit dem Union nicht gemeint.
Habe nun auch die Excel- und Access-Dateien für die 16x16 Matrix-Version
in's Wiki hochgeladen. Bitte um Nachsicht für eventuelle Fehler, es war
sehr viel Nachtarbeit dabei.
Torsten C. schrieb:> Und zwar über den grünen weg und nicht über den roten, richtig?
Da es sich in beiden Fällen um ein und dieselbe Tabelle tbl_minutes
handelt, ist mir nicht ganz klar, was Du meinst?
Die Tabelle tbl_modes enthält mit minute_txt_first und minute_text_last
2 Referenzen auf den Index minute_mode von ein und derselben Tabelle
tbl_minutes.
Eine der beiden Referenzen ist immer 0, an dieser Position erfolgt keine
Minutenanzeige. Die andere ist immer größer > 0. Je nachdem, ob der
Minutentext vorangeht oder dem Stundentext folgt, befindet sich der
Indexwert > 0 in der Spalte tbl_minutes_first oder tbl_minutes_last.
Die Software braucht nur in der Tabelle tbl_modes aus den Spalten
minutes_txt_first und minutes_txt_last jenen Wert für minute_mode
herausholen, der > 0 ist. Dabei dienen die Indizes "minute_mode" 1 und 2
der Anzeigeform HH:MM, die Indizes "minute_mode" 3 bis 9 der Form MM:HH.
Der Index minute_mode ist der Filter für den aktuell anzuwendenden
Recordset aus der Tabelle tbl_minutes, aus welchem dann der hour_offset
entsprechend der Minute entnommen wird.
Bin dabei, mich wieder der Frontplatte zu widmen, und habe soeben im
Wiki Bohr- und Positionier-Schablonen für beide Varianten (16x16 Matrix
mit 320mm Außenmaß und 18x16 Matrix mit 300mm x 300mm Außenmaß)
hochgeladen.
[[http://www.mikrocontroller.net/articles/Datei:WC24h16x16_Bohr_%26_Positionierschablone_32x32cm.png]]
[[http://www.mikrocontroller.net/articles/Datei:WC24h18x16_Bohr_%26_Positionierschablone_30x30cm.png]]
Eine gute Montagemöglichkeit für die Frontplatte bzw. überhaupt für das
gesamte Werkel bietet meines Erachtens eine 16mm starke MDF-Platte
("Mitteldichte Faserplatte") aus dem Baumarkt, in die man mittels
Holzbohrer und aufgesetztem Versenker Kammern für die LEDs bohrt. Die
Platte hat mich heute € 2,40 gekostet :-)
Da die Schneide des Versenkers um 45° angeschrägt ist, könnte ich mir
vorstellen, dass sich dadurch - wenn die Platte weiß lackiert wird -
hervorragende Reflektoren für die LEDs ergeben. Für die 16 x 16 Matrix
passt ein Versenker mit 16mm Durchmesser (ideal für die
Buchstabengröße), für die 18x16mm Matrix kann man leider nur 14mm
Versenker verwenden, da sonst die Wandstärke zu den Nachbarkammern zu
dünn wäre und durchbrechen würde. Wenn der Radius für die
Buchstabengröße nicht ausreicht, muss man da eventuell nacharbeiten.
Bei größerer Stückzahl kann man das selbstverständlich von einer
CNC-Fräse erledigen lassen, wie es ja auch für das Vorgänger-Modell
gemacht wurde.
Auf die Rückseite der MDF-Platte kann man - etwas vom Rand nach innen
versetzt und von vorne unsichtbar - mit Aluschienen einen Gehäuserahmen
für die Elektronik draufbauen. Dadurch erhält die Frontplatte der Uhr
etwas Abstand von der Wand, was optisch von Vorteil ist. Und auf den
Alurahmen des "Backplane"-Gehäuses kann man - komfortabel und von vorne
unsichtbar - LED-Stripes als Backlight anbringen.
Hallo Herbert,
kannst Du bei Gelegenheit mal die Acess Databases im *.MDB Format ins
Wiki stellen (Acess 2007 oder so).
Dann kann ich auch mal mit Libre versuchen einen Blick rein zu werfen.
Danke!
Herbert P. schrieb:> Eine der beiden Referenzen ist immer 0, an dieser Position erfolgt keine> Minutenanzeige. Die andere ist immer größer > 0. Je nachdem, ob der> Minutentext vorangeht oder dem Stundentext folgt, befindet sich der> Indexwert > 0 in der Spalte tbl_minutes_first oder tbl_minutes_last.
Aber dadurch verändert sich doch nicht die Reigenfolge der Buchstaben
auf der Frontplatte.
Gibt es denn zwei Frontplatten? Eine für *_first und eine für *_last?
Hans H. schrieb:> Hallo Herbert,> kannst Du bei Gelegenheit mal die Acess Databases im *.MDB Format ins> Wiki stellen (Acess 2007 oder so).> Dann kann ich auch mal mit Libre versuchen einen Blick rein zu werfen.
Die beiden Versionen für die 16x16 Matrix und die 18x16 Matrix sind als
mdb-Datenbank (Access 2002/2003) im Wiki (zip-File)
Hoffe, es klappt mit Libre, für Fragen stehe ich gerne zur Verfügung :-)
Torsten C. schrieb:> Aber dadurch verändert sich doch nicht die Reigenfolge der Buchstaben> auf der Frontplatte.>> Gibt es denn zwei Frontplatten? Eine für *_first und eine für *_last?
Nein, es gibt keine zwei Frontplatten, allerdings zwei unterschiedliche
String-Zusammenstellungen für *_first und *_last.
Bei vorangestellten Minuten belegen die Minuten den oberen Teil, die
Stunden den unteren Teil der Frontplatte.
Bei hintangestellten Minuten ist die Aufteilung genau umgekehrt, da ist
die Stundenanzeige oben und die Minutenanzeige unten.
Um möglichst sämtliche Wünsche nach den unterschiedlichsten
Darstellungsformen bedienen zu können, enthält die Frontplatte so gut
wie alle Wörter mindestens zweifach:
Der obere Teil der Frontplatte dient stets der Darstellung des ersten
Teils der Zeitanzeige, der untere der Darstellung des zweiten Teils -
gleichgültig, ob (je nach Betriebsart) zuerst die Stunden und danach die
Minuten, oder umgekehrt zuerst die Minuten und dann die Stunden
angezeigt werden:
ES IST oder ES IST oder ES IST oder ....
HH UHR MM MINUTEN MM
------------------------------------------------------------------------
UND NACH/ VOR NACH .....
MM MINUTEN HH UHR HH
Auf diese Weise sind so gut wie alle gängigen "Zeitanzeige"-Arten
konfigurierbar, die Anzeigeart ist durch einfache Auswahl der
entsprechenden Konfiguration ohne Weiteres veränderbar.
Selbstverständlich können die Tabellen auch um zusätzliche Modi ergänzt
werden, lediglich die verwendeten Wörter bzw. Silben müssen auf der
Frontplatte vorhanden sein.
Herbert P. schrieb:
> Die beiden Versionen für die 16x16 Matrix und die 18x16 Matrix sind als> mdb-Datenbank (Access 2002/2003) im Wiki (zip-File)
Danke für's Umwandeln,
Zugriff auf die Tabellen sieht erstmal brauchbar aus.
Hans
WordClock24h
Herbert P. schrieb:> allerdings zwei unterschiedliche> String-Zusammenstellungen für *_first und *_last
OK, also ist das nur für das Formular in Access, aber für das Mock-Up
und den Code-Generator hätte auch ein einziges Datenbankfeld
[minute_txt] gereicht. Ich glaube, nun habe ich es verstanden.
Also importiere ich auch nur einen Minuten-Index:
Torsten C. schrieb:> Also importiere ich auch nur einen Minuten-Index:
Korrekt!
Torsten C. schrieb:> Dann darfst Du aber nicht nur 20=NACH nehmen, sondern musst ggf. auch> 45=NACH* und 78=NACH** benutzen.
Hab' ich da einen Fehler eingebaut? :-(
Muss ich kontrollieren....
Hans H. schrieb:> Danke für's Umwandeln,
Oki, gerne :-)
Mit dem Formular kannst Du Dir einen Eindruck bilden, welche Strings bei
den verschiedenen Betriebsarten dargestellt werden.
Torsten C. schrieb:> Dann darfst Du aber nicht nur 20=NACH nehmen, sondern musst ggf. auch> 45=NACH* und 78=NACH** benutzen.
Sorry, das 20=NACH ist effektiv ein Fehler, standardmäßig sollte das
45-er NACH* verwendet werden. Allerdings bekomme ich dann ein Problem
mit "NACH* HALB", weil das HALB auf der Frontplatte derzeit vor dem
NACH* plaziert ist. Das muss ich mir näher anschauen :-(
Herbert P. schrieb:> ist effektiv ein Fehler
Genau deshalb teste ich ja mit dem Mock-up. :-)
Torsten C. schrieb:> Vielleicht macht es Sinn, erstmal eine fertig zu> machen und dann die zweite.
Genau das meinte ich damit. ;-)
Naja, ich bin auch noch nicht fertig. Ich muss den [hour_offset] noch
korrekt auswerten.
Torsten C. schrieb:> Naja, ich bin auch noch nicht fertig.
Wegen des "HALB" und "NACH*"-Fehlers muss ich leider in der Mitte der
Frontplatte bei drei Zeilen Umstellungen vornehmen. Das hat
bedauerlicherweise gravierende Auswirkungen :-(
So, die korrigierten Tabellen für die WC24h18x16 sind hochgeladen, beide
als zip-Dateien, einmal in Originalversion (.xlsx und .accdb - Dateien),
einmal konvertiert für Office 2003 (.xls und .mdb Dateien)
27.11.2014 22:22 Uhr:
> Das hat bedauerlicherweise gravierende Auswirkungen
27.11.2014 23:06 Uhr:
> die korrigierten Tabellen … sind hochgeladen
Und wie schnell bist Du bei weniger gravierenden Auswirkungen?
Ich knobel immer noch an [hour_offset]. :-(
@Joachim:
Es war erforderlich, auch für die 16 x 16 Frontplatte ein neues Design
mit einer neune Aufteilung der Wörter zu entwerfen. Leider musste dabei
das "PROSIT NEUJAHR!" entfallen. Dafür enthält die unterste Zeile in der
Mitte drei "***", die man z.B. zur Anzeige der Uhrensynchronisation etc.
verwenden kann.
Ich habe die Excel- und Access-Dateien im Wiki hochgeladen, hast Du sie
Dir schon angesehen?
Wie ich soeben festgestellt habe, birgt auch die 16x16 Version einen
Fehler bezüglicher der Anzeige von "HALB". Die neue, überarbeitete
Version werde ich im Lauf des heutigen Vormittags hochladen.
Torsten C. schrieb:> Ich knobel immer noch an [hour_offset]. :-(
Bescheidene Frage: was ist daran so schwierig? Hast Du auch in Betracht
gezogen, dass mir dabei eventuell ein Fehler unterlaufen sein könnte?
Herbert P. schrieb:> @Joachim:> Mitte drei "***", die man z.B. zur Anzeige der Uhrensynchronisation etc.> verwenden kann.
Klasse
> Ich habe die Excel- und Access-Dateien im Wiki hochgeladen, hast Du sie> Dir schon angesehen?
leider nein, war aber OK
Herbert P. schrieb:> Die neue, überarbeitete> Version werde ich im Lauf des heutigen Vormittags hochladen.
weil.....
Joachim B. schrieb:> Herbert P. schrieb:>> Die neue, überarbeitete>> Version werde ich im Lauf des heutigen Vormittags hochladen.>> weil.....
...ich draufgekommen bin, dass mir bei der 16x16 Version der gleiche
Fehler unterlaufen ist wie bei der 18x16 Version:
"HALB" war nur im oberen Teil vorhanden, nicht aber im unteren.
Eine Anzeige der Form:
"ES IST MM (MINUTEN) NACH HALB HH (UHR)" wäre nicht möglich gewesen. Ich
bin daher grad dabei, das zu ergänzen.
Übrigens gefällt mir die Buchstabenaufteilung bei der 16x16 Version
besser als bei der 18x16 Version. Ich finde es optisch ansprechender,
wenn die horizontalen Buchstabenabstände etwas größer sind. Aber das ist
natürlich Geschmackssache.
Herbert P. schrieb:> Bescheidene Frage: was ist daran so schwierig?
Ich hatte erst nur ein UIElement für die Stunde vorgesehen, nun müssen
es zwei werden:
- Stunde der echten Uhrzeit und
- Stunde mit Offset.
Außerdem war die Auswertung der Offset-Spalte beim "ersten Test" noch
gar nicht im Programm drin.
Das ist also kein technisches Problem. Das ist nur 'ne Zeifrage. Ich
habe am Tag immer nur mal hier und da ein paar Minuten Zeit weiter dran
zu basteln und muss halt in Summe ca. 60 Minuten Zeit dafür finden.
> Hast Du auch in Betracht> gezogen, dass mir dabei eventuell ein Fehler unterlaufen sein könnte?
Falls dann Fehler zu sehen sind, schaue ich natürlich in die Tabellen
und sage Bescheid.
(schon wieder sind 4 Minuten weg) ;-)
PS:
Jens K. schrieb:> Schwarze Farbe kann man aber> bestimmt wunderbar vom Glas runterbrennen. Bearbeitungsfläche ist aber> nur 18x18cm, dafür aber mit Galvos ^^ Sieht dann in etwa so aus:>> https://www.youtube.com/watch?v=8EnUgIURiVA>> nur keine China Maschine sondern ein ordentliches Teil von Foba mit 30W> Coherent Prisma-Laser g Da wir für das Teil fast nix bezahlt haben,> tut es dann auch eine kleine Spende für unsere Bastelkasse :)
Torsten C. schrieb:> Jens K. schrieb:>> Schwarze Farbe kann man aber>> bestimmt wunderbar vom Glas runterbrennen. Bearbeitungsfläche ist aber>> nur 18x18cm, dafür aber mit Galvos ^^ Sieht dann in etwa so aus:
Die Idee ist gut, an Stelle von Acrylglas echtes Glas zu nehmen, schwarz
einzufärben und mit Laser die Schrift rauszubrennen. Könnte
funktionieren...
Das Problem ist halt die kleine Bearbeitungsfläche von 18x18cm (was sind
übrigens "Galvos"?). Ich hab' hier auch privat jemanden an der Hand, der
sowas macht wie auf dem Youtube-Video. Muss mal fragen, welche Größe der
bearbeiten kann. Um Schriften aus Stahl rauszubrennen braucht man aber
einen etwas stärkeren (CO2-)Laser, denke ich.
Hat sich schon einmal jemand über die "FabLabs" bzw. "HappyLabs" schlau
gemacht? Vielleicht gibts dort jemanden, den man für unser Projekt
begeistern kann?
http://de.wikipedia.org/wiki/FabLabhttp://wiki.happylab.at/w/Laser_Cutter
Herbert P. schrieb:> Um Schriften aus Stahl rauszubrennen braucht man aber> einen etwas stärkeren (CO2-)Laser, denke ich.
Wir daben dafür den hier in der Nähe:
http://www.donaris-lbw.de/
Material Format 3000x1500: Muss halt 'ne gewisse Anzahl zusammen kommen,
dann könnte man ein Angebot anfragen.
Herbert P. schrieb:> Hat sich schon einmal jemand über die "FabLabs" bzw. "HappyLabs" schlau> gemacht?
Ich werde am 3.12. mal ein Bierchen in der "Euse" trinken. Als Student
war ich da öfter.
http://fablab-bs.de/
Das scheint zwar alles noch im Aufbau zu sein, aber vielleicht gibt es
wenigstens brauchbare Infos und Tipps.
Torsten C. schrieb:> Das scheint zwar alles noch im Aufbau zu sein, aber vielleicht gibt es> wenigstens brauchbare Infos und Tipps.
Bis wir soweit sind, dass wir die Frontplatten brauchen, sind die auch
schon soweit, dass sie welche machen können g
Herbert P. schrieb:> Torsten C. schrieb:>> Zum Film:>> a) Pro Variante ein Film? Oder> Ich würde für diese Variante plädieren, eine Version mit allen> Auswahlmöglichkeiten … würde zu lang werden …
Ich würd's gern so machen:
Jede Uhrzeit bleibt 3 Sekunden lang stehen. Mann muss ja genug Zeit zum
visuellen erfassen und prüfen haben und ggf. rechtzeitig auf Pause
drücken können.
Jeder Film ist 3 Minuten lang. Es werden nicht alle möglichen
Kombinationen abgespielt, sondern nur 60 Kombinationen:
Für jeden Modus (1..15) gibt es einen separaten Film.
Bei 12h-Modi werden folgende Uhrzeiten ausgegeben:
> 00:00, 01:01, 02:02, …, 12:12, 00:13, 01:14, 02:15, …, 07:59
Bei den beiden 24h-Modi werden folgende Uhrzeiten ausgegeben:
> 00:00, 01:01, 02:02, …, 23:23, 00:24, 01:25, 02:26, …, 11:59
Im 12h-Modus gibt es also 13 verschiedene Stunden: 0..12.
Einverstanden?
Torsten C. schrieb:> Einverstanden?
Einverstanden!
Bitte beachte, dass bei den Regional-Modi mit "VIERTEL, VIERTEL VOR"
bzw. "VIERTEL NACH, DREIVIERTEL" die Minuten teilweise als Countdown
gezählt werden ("10, 9, 8 ... 1 MINUTE VOR/NACH HALB, ... VOR HH"
etc...)
Herbert P. schrieb:> Torsten C. schrieb:>> Einverstanden?> Einverstanden!
Gut, habe aber noch 'ne andere Idee.
Was ist besser: Ein YouTube-Video oder ein Bilder-Set bei flickr.com?
Die fest eingestellten 3 Sekunden pro Screenshot können ja auch nerven.
> Bitte beachte, dass … die Minuten teilweise als Countdown> gezählt werden …
Was soll ich da beachten? Das sollte doch alles in Deinen Tabellen
drin sein.
So, die DMU-Software sollte jetzt fertig sein. Bilder mit
Auffälligkeiten schicke ich dann per E-Mail.
"fertig" heißt: Film- und Einzel-Screenshot-Export sind fertig. Die
Bitmaps für den digitalen Bilderrahmen und den C-Code-Generator muss ich
noch ergänzen. Aber die Tabellen haben sicher auch noch Fehler.
Die Bitmaps für den digitalen Bilderrahmen stelle ich am besten bei
flickr.com ein, oder?
Torsten C. schrieb:> Was soll ich da beachten? Das sollte doch alles in Deinen Tabellen> drin sein.
Ich meinte damit, dass von den speziellen Zeitanzeigen, die "von der
Norm abweichen", ausreichend Samples gezeigt werden sollten.
Torsten C. schrieb:> Die Bitmaps für den digitalen Bilderrahmen stelle ich am besten bei> flickr.com ein, oder?
Sicher eine gute Möglichkeit - vielleicht sogar übersichtlicher als in
Youtube.
Eine andere Möglichkeit wäre eine dynamische HTML-Page mit SQL-Server im
Hintergrund.
Herbert P. schrieb:> dynamische HTML-Page mit SQL-Server
Mach das. ;-)
Eine Flash-Animation könnte man auch machen.
Da ich mit VisualStudio arbeite, könnte ich allerdings einfacher
Silverlight als Flash erzeugen.
Aber in all das müsste ich mich erst einarbeiten. Ich bin schon froh,
den Sprung von VB zu C# geschafft zu haben.
ES_IST_HH_UHR_MM_(12) und ES_IST_HH_UHR_MM_(24) scheinen identisch zu
sein, oder habe ich geschielt?
Die Auffälligkeiten zu ES_IST_HH_UHR_MM_(12) bekommst Du gleich per
Mail. Weitere Modi folgen.
PS:
Herbert P. schrieb:> vielleicht sogar übersichtlicher als in Youtube.
Also die 60 Screenshots mit 00:00, 01:01, 02:02, … auch in flickr?
PPS:
Bei "ES IST HH UHR UND MM MINUTEN" sind die LEDs für "ES IST" nicht an.
Ist das gewollt? Oder wollwn wir "ES IST" separat von den Modi ein- und
ausschaltbar machen?
Torsten C. schrieb:> ES_IST_HH_UHR_MM_(12) und ES_IST_HH_UHR_MM_(24) scheinen identisch zu> sein, oder habe ich geschielt?
Hab soeben sowohl die tbl_modes als auch die tbl_hours noch einmal
kontrolliert. Sollte eigentlich nicht sein. "ES_IST_HH_UHR_MM_(12)"
verwendet den hour_mode 3 (12h), "ES_IST_HH_UHR_MM_(24)" den hour_mode 1
(24h) aus der tbl_hours.
Torsten C. schrieb:> Die Auffälligkeiten zu ES_IST_HH_UHR_MM_(12) bekommst Du gleich per> Mail. Weitere Modi folgen.
Oki thx!
Torsten C. schrieb:> Also die 60 Screenshots mit 00:00, 01:01, 02:02, … auch in flickr?
Wie es halt für Dich einfacher ist!
Torsten C. schrieb:> PPS:> Bei "ES IST HH UHR UND MM MINUTEN" sind die LEDs für "ES IST" nicht an.> Ist das gewollt? Oder wollwn wir "ES IST" separat von den Modi ein- und> ausschaltbar machen?
Nein, das ist nicht gewollt, da muss ein fehler in den Tabellen sein.
"ES IST" ausschaltbar zu machen, halte ich eigentlich für einen
unnötigen Mehraufwand.
Herbert P. schrieb:>> PPS:>> Bei "ES IST HH UHR UND MM MINUTEN" sind die LEDs für "ES IST" nicht an.>> Ist das gewollt? Oder wollwn wir "ES IST" separat von den Modi ein- und>> ausschaltbar machen?
Bei mir funktioniert das, ebenso die 24 Stunden-Anzeige bei
ES_IST_HH_UHR_MM_(24).
Ich hatte einen Fehler in der qry_hours Abfrage, aber die wird ja von
Dir nicht verwendet, oder?
Herbert P. schrieb:> Sollte eigentlich nicht sein. "ES_IST_HH_UHR_MM_(12)"> verwendet den hour_mode 3 (12h), "ES_IST_HH_UHR_MM_(24)" den hour_mode 1> (24h) aus der tbl_hours.
Danke. Sorry. Ich hattte den Minuten-Index für die Stunden genommen. :-(
Cut & Paste sollte man verbieten. ;-)
Der Bug ist gefixed. Schickst Du mir korrigierte .accdb-Dateien per
Mail? Heute und morgen habe ich Zeit und kann alle Modi testen.
Herbert P. schrieb:> Bei mir funktioniert das
Bei mir jetzt auch, war derselbe Bug. Sorry.
Herbert P. schrieb:> muss ein fehler in den Tabellen sein
Muss nicht. Ich mache halt auch Fehler, wie man sieht. :-(
Herbert P. schrieb:> Ich muss für heute Schluss machen
OK. Falls fehlerfreie Modi dabei sind, lade ich die inzwischen hoch. 1x
flickr und 1x YT, beides mit Stoppuhr. Ich schätze, flickr geht
schneller.
VG Torsten C. ➜ Artikel WordClock24h
PS: Hier das Bookmarklet für den Footer:
Mal wieder AN ALLE, siehe Bild: Was meint Ihr?
Bei vollen Stunden ist das "UHR" am Ende ja OK. Aber mittendrin? Was
meint Ihr? Ich würde das "UHR" nur bei vollen Stunden anzeigen.
Oder hatten wir das schon zu Ende diskutiert?
VG Torsten C. ➜ Thread-Artikel WordClock24h
Hallo an alle,
leider habe ich euch hier zu spät entdeckt :-). Hoffentlich kann ich
noch mitbauen!
Vielleicht kann ja irgendwie nützlich sein.
In einem Beitrag habe ich was vom Zerschneiden der LED-Strips gelesen,
das ist nicht nötig. Es gibt einzelne Mini-Platinen mit LED Treiber zum
Selber- Bestücken. Wie auf dem Bild. (Hier ws2811, gemeinsame Anode).
Ist wesentlich günstiger. Bei Ebay erhältlich. Ich habe aber auch noch
ein paar übrig mit passenden RGB-LEDs. Die Matrix kann man dann auf
selbstklebenden Kupferband-Streifen aufbauen.
Desweiteren kann ich euch mit sehr professionellen Fronten aushelfen,
die nach eurer Vorlage gefertigt werden. Keine Folie und keine Fräse,
jede Schrift ist möglich. 100% lichtdicht, wo es so sein soll!
Der Preis richtet sich nach der Menge!
Morgen stelle ich mal ein Beispiel-Bild rein.
Bei interesse einfach sagen.
Gruß Sergej
Hallo Sergej, herzlich willkommen in unserer Thread-Community. ☺
Sergej Wind schrieb:> leider habe ich euch hier zu spät entdeckt
Spät aber nicht zu spät ☺. Es war mal von 100 Nachbauern die Rede, da
sind wir noch lange nicht! Deswegen poche ich übrigens immer auf
"effizient" und "preiswert".
> Es gibt einzelne Mini-Platinen mit LED Treiber zum> Selber- Bestücken. Wie auf dem Bild.
Die gibt es auch fertig als "Lichterkette" mit 5mm-LEDs. Such mal nach
"LED Pixel" bei Aliexpress.
> Die Matrix kann man dann auf> selbstklebenden Kupferband-Streifen aufbauen.
Oder man steckt die LEDs der Lichterkette durch 5mm-Löcher in einer
Kunstoff- oder Holzplatte. So machen das die meisten Leute.
> Desweiteren kann ich euch mit sehr professionellen Fronten aushelfen,> die nach eurer Vorlage gefertigt werden. Keine Folie und keine Fräse,> jede Schrift ist möglich. 100% lichtdicht, wo es so sein soll!
Das klingt interessant. Erzähl mehr! Das ist unsere größte Baustelle!
> Morgen stelle ich mal ein Beispiel-Bild rein.
Ich warte ... ;-)
VG Torsten C. ➜ Thread-Artikel WordClock24h
Sergej Wind schrieb:> In einem Beitrag habe ich was vom Zerschneiden der LED-Strips gelesen,> das ist nicht nötig. Es gibt einzelne Mini-Platinen mit LED Treiber zum> Selber- Bestücken. Wie auf dem Bild. (Hier ws2811, gemeinsame Anode).> Ist wesentlich günstiger.
vielen Dank, aber das ist mir noch unverständlich, wozu einzelne
Platinen wenn ich die Stripes als 5m fertig bekomme und nur 16er oder
18er zurechtschneiden muss um 16 x 16 oder 18 x 16 mit variablen
Zeilenabständen zu erzeugen?
> Desweiteren kann ich euch mit sehr professionellen Fronten aushelfen,> die nach eurer Vorlage gefertigt werden. Keine Folie und keine Fräse,> jede Schrift ist möglich. 100% lichtdicht, wo es so sein soll!
OK da bleiben wir dran
Ich hoffe, der neue Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger" ist im
Sinne Aller.
Joachim B. schrieb:> das ist mir noch unverständlich, wozu einzelne> Platinen wenn ich die Stripes als 5m fertig bekomme
Die unsägliche Diskussion um "LEDs pro Meter" ist noch nicht zuende.
Hier bist Du flexibel! 48 LEDs pro Meter? Kein Problem! 46,3mm? Auch
kein Problem! Waben-Struktur statt Matrix? Einfach andere Bohrlöcher!
Und wie gesagt: Einzelne LEDs brauchst Du nicht kaufen, die gibt es als
Lichterkette.
PS: Frage zu "Mit dem STM32F4-Discovery-Board hätte man für wenig Geld
(ca. 17 EUR) ein leistungsfähiges System. Es wird aber auch noch nach
kleineren Alternativen (wie zum Beispiel STM32F103C8T6) gesucht..."
Was spricht gegen ein "STM32 Nucleo" als Basis-Empfehlung?
VG Torsten C. ➜ Für Neu-Eisteiger gibt es den
Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"
Torsten C. schrieb:> Die unsägliche Diskussion um "LEDs pro Meter" ist noch nicht zuende.> Hier bist Du flexibel! 48 LEDs pro Meter? Kein Problem! 46,3mm? Auch> kein Problem! Waben-Struktur statt Matrix? Einfach andere Bohrlöcher!
wozu diese gezeigte Platine? (wegen dem aufgelöteten Controller für RGB)
ws2812b LEDs mit integriertem Controller gibt es als SMD oder bedrahtet.
wenn Platine dann für diese vorher genannten,
RGB LED kaufen um diese Platine mit dem aufgelöteten Controller zu
bestücken oder verdrahten verstehe ich nicht, RGB LED + Platine mit
Controller kann nur teurer werden.
Torsten C. schrieb:> Frage zu "Mit dem STM32F4-Discovery-Board hätte man für wenig Geld> (ca. 17 EUR) ein leistungsfähiges System. Es wird aber auch noch nach> kleineren Alternativen (wie zum Beispiel STM32F103C8T6) gesucht..."
ich habe mal den wiki ergänzt:
oder Arduino/Atmel als 1284p
jar hat erst mal 6 Platinen bestellt
andere Möglichkeit
oder kleiner als mega328p
Arduino-PRO-MINI-ATMEGA328
brauchen Programmieradapter
oder ohne Programmieradapter
ich hoffe ist OK für dich.
Sergej Wind schrieb:> Hallo an alle,>> leider habe ich euch hier zu spät entdeckt :-). Hoffentlich kann ich> noch mitbauen!>> Vielleicht kann ja irgendwie nützlich sein.
Hallo Sergej!
Herzlich willkommen im Club! Es gibt genug Arbeit für alle, und speziell
beim Thema Frontplatten-Fertigung sind wir noch nicht sehr weit
gekommen.
Torsten C. schrieb:> VG Torsten C. ➜ Für Neu-Eisteiger gibt es den> Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"
Danke, Torsten - halte ich für eine gute Idee!
Torsten C. schrieb:>> Da gibt es auch nichts zu verstehen. Die LEDs gibt es mit eingebautem> Controller einzeln oder (wie nun schon zum dritten!!! Mal geschrieben)> die Platinen-Version als fertige Lichterkette. Diese unverdrahtete> Platine ist m.E Quatsch!
Es ist natürlich ein größerer Aufwand, die Platinen zu verdrahten, dafür
kann man die Abstände beliebig variiren. Ich habe die Platinen für etwas
anderes gebraucht (Light Topography von Jim Campbell bei Youtube
ansehen).
Einen Preisvorteil könnten die Dinger dennoch haben: für 100 Stück habe
ich 15€ incl. Versand gezahlt. Die passenden LEDs für 0,04€ pro Stück.
Ganz günstig kann man die Uhr bauen, wenn man auf RGB-LEDs verzichtet
und auf einfarbige SMD 5050 Chip-LEDs zurückgreift. So habe ich meine
Uhr gebaut. Diese LEDs dann auf Kupferbahnen-Matrix löten. Erspart auch
das Bohren.
(http://www.ebay.de/itm/251009248347?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT5050LED)
Braucht aber auch eine andere Hard- und Softwarelösung.
Zu den Fronten: Acrylglas mit polerten Kanten, für den Rahmenlosen
Aufbau geeignet. Größe bis 50x50cm (geht auch 60x60, wird aber
wesentlich teuerer)
Die Platte auf dem Bild ist 50x50, der Preis bewegt sich auch um die 50€
:-). Original-Design kann aber nicht gefertigt werden, nur für
Eigenbedarf!
Herstellung nach eurer Vektor-Grafik Vorlage!
PS.: es sind auch andere Farben möglich!
Falls jemand doch mit der einfarbigen Version der Uhr zufrieden ist,
kann er auf einen fertigen LED-Matrix Treiber zurückgreifen.
(http://www.elmotex.de/bausaetze--module/bausatz-led-matrix-treiber---nachbau-v03.php)
Preis: ca.35€
Die wortuhr-begeisterten Jungs haben da schon gut vorgearbeitet. Es ist
alles drauf, was man braucht: Echtzeituhr, Microcontroller, Anschluß für
den DCF-77 Empfänger. Man braucht nur noch einen FTDI-Adapter zum
Programmieren.(http://www.digitalsmarties.net/products/usb-bub)
Meine Uhr ist damit gemacht!
Der Schaltplan ist auf dem Bild!
Die Software (Arduino-basiert, keine RGB-LEDs) gibt es für die normale
Variante natürlich auch. Die könnte man einfach auf die neue 16x16
Matrix anpassen!
Bei Interesse kann ich die euch mailen!
Torsten C. schrieb:> VG Torsten C. ➜ Für Neu-Eisteiger gibt es den> Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"
Danke, Torsten - halte ich für eine gute Idee!
Sergej Wind schrieb:> Die Software (Arduino-basiert, keine RGB-LEDs) gibt es für die normale> Variante natürlich auch. Die könnte man einfach auf die neue 16x16> Matrix anpassen!
Das wäre natürlich nicht uninteressant - als einfärbige Ergänzung unsere
bisherigen Programms....
@torsten:
Die Fehler, die Du mir gemailt hast, habe ich korrigiert. Mir ist aber
bei Deinen Flickr-Fotos aufgefallen, dass in der 12.Zeile
("NEUNUNDZEHNZWANZIG") bei "NEUNUND..." das "UND" am "NEUN" dranklebt -
und das ist nicht sehr schön:-(
Ich habe hin- und her- überlegt, wie ich das ändern könnte. Die einzige
Möglichkeit, die mir bisher einfiel, um den erforderlichen Platz zu
SCHAFFEN, wäre, das "MITTERNACHT" in der Mitte zu opfern (das meines
Erachtens ohnehin wenig bis gar nicht benötigt wird).
Einverstanden?
Frage zur Wärmeentwicklung der LEDs:
Wie warm (heiß) werden die WS2812 RGB-LEDs eigentlich? Ist es
zweckmäßig, sie zur Hitzeableitung z.B. auf ein Alublech zu montieren?
Frage zu den Formulierungen der Zeitanzeige: sind folgende Formen
erwünscht bzw. erforderlich:
"ES WIRD IN MM MINUTEN HH UHR"
ES IST MM MINUTEN AUF HH"
Folgende Formen kommen mir ebenfalls etwas speziell vor und es stellt
sich die Frage, ob sie Berücksichtigung finden sollen:
ES SIND MM MINUTEN BIS HH
ES SIND MM MINUTEN AUF HH
ES WIRD IN MM MINUTEN HH UHR
Werden diese Anzeigeformen von irgend jemandem gewünscht?
Herbert P. schrieb:> Folgende Formen kommen mir ebenfalls etwas speziell vor und es stellt> sich die Frage, ob sie Berücksichtigung finden sollen:>> ES SIND MM MINUTEN BIS HH>> ES SIND MM MINUTEN AUF HH>> ES WIRD IN MM MINUTEN HH UHR
Problem gelöst. Es geht sich mit der 18 x 16 Matrix aus und wird
platzmäßig möglich sein.
Sergej Wind schrieb:> Ganz günstig kann man die Uhr bauen, wenn man auf RGB-LEDs verzichtet> und auf einfarbige SMD 5050 Chip-LEDs zurückgreift. So habe ich meine> Uhr gebaut. Diese LEDs dann auf Kupferbahnen-Matrix löten.
Ach so! Die Kupferbahnen bezogen sich auf einfarbig! Der Groschen ist
gefallen. Gibt es solche Kupferbahnen als "Klebeband" zu kaufen? Oder
was benutzt man da?
Herbert P. schrieb:> Folgende Formen kommen mir ebenfalls etwas speziell vor und es stellt> sich die Frage, ob sie Berücksichtigung finden sollen
Auch wenn das Problem inzwischen gelöst ist, vielleicht is es bei 16x16
noch ein Problem: Wollte die jemand? Ich nicht.
Herbert P. schrieb:> Wie warm (heiß) werden die WS2812 RGB-LEDs eigentlich? Ist es> zweckmäßig, sie zur Hitzeableitung z.B. auf ein Alublech zu montieren?
Fürs Wohnzimmer und in einer Farbe mit 100% Leuchtkraft werden die nicht
sehr warm. Bei drei Farben á 33% auch nicht. Außerdem sind ja meistens
nicht alle LEDs an, sondern nur einzelne Wörter.
Auf diesen Strom könnte man auch das Netzteil auslegen. Natürlich gibt's
dann den "Killer poke".
Wenn das Netzteil 288 x 60mA = 17A kann, dann könnte man auch alle 288
LEDs auf 100% weiß stellen, dann muß da 'ne Alu-Platte drunter.
Herbert P. schrieb:> ... und das ist nicht sehr schön:-(
Um sowas festzustellen ist das DMU ja da. Vielleicht fällt ja noch mehr
auf. Schade, dass MITTERNACHT weg ist, aber das sieht eh kaum einer, da
wird in der Regel geschlafen. ;-)
Ich hoffe, mein "Footer" nervt nicht und ist im Forum erlaubt. Ich habe
keine Regeln gefunden, wo Footer verboten sind.
VG Torsten C. ➜ Für Neu-Eisteiger gibt es den
Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"
Herbert P. schrieb:> Problem gelöst.
Wenn es 'ne neue .accdb gibt, sag bitte Bescheid. Du kannst sie mir auch
per Mail schicken, falls ich sie zunächst im DMU "durchlaufen" lassen
soll, bevor Du sie online stellst.
Torsten C. schrieb:>> Auch wenn das Problem inzwischen gelöst ist, vielleicht is es bei 16x16> noch ein Problem: Wollte die jemand? Ich nicht.
16x16 würde mir reichen, da wesentlich weniger Aufwand. Dafür ist ja
quasi schon alles fertig.
Aber wir haben ja zum Glück unterschiedliche Geschmäcker!
Sergej Wind schrieb:> 16x16 würde mir reichen, da wesentlich weniger Aufwand. Dafür ist ja> quasi schon alles fertig.
Ach?! Es gibt einen Konsens zu der 16x16 Buchstaben-Matrix und in allen
Varianten sind keine Fehler mehr drin?
Im DMU habe ich die jedenfalls noch nicht laufen lassen.
So riesig werden die Arrays zwar nicht, aber brauchen wir
unterschiedliche Arrays für "mit" und "ohne" das Wort MINUTEN?
Das Wort MINUTEN kann man doch per SW separat auschalten, wenn man das
nicht möchte, oder? Dann reichen die Arrays mit MINUTEN.
Im Mode 12 ist der Minuten-Modus m.E. falsch und im Minuten-Modus 8
fehlt der [hour_offset].
Wenn ich Fehler korrigieren und Tabellen hochladen soll, sage Bescheid.
Aber es macht keinen Sinn, wenn wir parallel ändern und unsere
Änderungen gegenseitig überschreiben.
Ich habe noch einige weitere einzelne Fehler gesehen. Aber ein neuer
"Film" macht ohne die o.g. Korrektueren keinen Sinn.