Forum: Projekte & Code Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Joachim B. (jar)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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!

: Bearbeitet durch User
von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> Somit ist die
> in manchen Regionen übliche Form "ES IST ZWÖLF MINUTEN AUF SECHS"
> ebenfalls möglich.

Prima, gefällt mir.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

: Bearbeitet durch Moderator
von Joachim B. (jar)


Lesenswert?

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

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?"

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

Das Ganze funktioniert nach Art einer relationalen Datenbank, wobei 
mehrere ineinander verschachtelte und miteinander verknüpfte Tabellen 
zusammenarbeiten.

von Joachim B. (jar)


Lesenswert?

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

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

davor noch ne Verzeigung wegen Sprache setzen ist ja kein Problem

schnipsel
1
  if(selectedLanguageMode == RHEIN_RUHR_MODE) {
2
    pushZWANZIG();
3
    pushVOR();
4
    } else if(selectedLanguageMode == WESSI_MODE) {
5
      pushZEHN1();
6
      pushNACH();
7
      pushHALB();
8
9
//-----------------------------------------------------------
10
  //show minutes
11
  if(minutes >= 5 && minutes < 10) {
12
    pushFUENF1();
13
    pushNACH();
14
  } else if(minutes >= 10 && minutes < 15) {
15
    pushZEHN1();
16
    pushNACH();
17
//-----------------------------------------------------------
18
  case 3:
19
    pushONE();
20
    pushTWO();
21
    pushTHREE();
22
23
//-----------------------------------------------------------
24
25
  //show uhr
26
  if(minutes < 5) {
27
    pushUHR();
28
  }

die Ziffern sind die LED Nummer:
1
void pushVIERTEL() {
2
  pushToStrip(47);
3
  pushToStrip(52);
4
  pushToStrip(67);
5
  pushToStrip(72);
6
  pushToStrip(87);
7
  pushToStrip(92);
8
  pushToStrip(107);
9
}

: Bearbeitet durch User
von Hans H. (loetkolben)


Angehängte Dateien:

Lesenswert?

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

von Hinweisgeber (Gast)


Lesenswert?

Ich nicht!

von Herbert P. (herb3472)


Lesenswert?

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!

von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

@Hans:

wirklich nett, Dein Screensaver :-)

von Herbert P. (herb3472)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

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
1
static unsigned char backlight=7;
2
#define MAX_BL 10
3
#define MIN_BL 0
4
5
prog_uchar pwmtable_16C[] PROGMEM = {0,2,3,4,6,8,11,16,23,32,45,64,90,128,181,255};  
6
7
static int contra=70;
8
prog_uchar pwmtable_11C[] PROGMEM = {255,253,251,248,244,236,223,201,164,103,1};

es ist im Programm aber natürlich nicht im Ablauf
1
void loop() 
2
{ unsigned char j;
3
  char tmp_str[4]={0};
4
5
  if(irmp_data.address==65280 && irmp_data.command==4 && led_hell>MIN_LEDHELL)
6
              {  myGLCD.printNumI(--led_hell,66,36,3,' '); Serial.print(F("led_hell=")); Serial.println(led_hell); 
7
                 LEDS.setBrightness(pgm_read_byte(&pwmtable_16C[led_hell]));
8
                if(prg==2) set_wb();
9
              } // if(irmp_data.address==65280 && irmp_data.command==4 && led_hell>MIN_LEDHELL)

von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

Hier einmal ein paar Mustertabellen in Excel und Access

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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
struct wordLED_Struct {
4
  uint16_t firstIndex;
5
  uint8_t count;
6
};
7
wordLED_Struct word_array[N_WORDS];                 // Start-und End-Index pro Wort, 3 Bytes pro Wort
8
uint16_t minute_array[N_Variante][60][N_WORDS/8];   // 840 Bytes pro Sprache
9
uint16_t hour_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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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_t minute_array_V1[60][N_WORDS/8];   // 420 Bytes pro Sprache
2
uint8_t hour_array_V1[24][N_WORDS/8];     // 168 Bytes pro Sprache
3
4
uint8_t minute_array_V2[60][N_WORDS/8];   // 420 Bytes pro Sprache
5
uint8_t hour_array_V2[24][N_WORDS/8];     // 168 Bytes pro Sprache
6
7
...
8
9
uint8_t minute_array_Vn[60][N_WORDS/8];   // 420 Bytes pro Sprache
10
uint8_t hour_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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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

von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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

von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> bei der "Serpentinen-Ansteuerung" der LED-Stripes muss bei jeder zweiten
> Zeile der Indexzeiger nicht auf den Wortanfang, sondern auf das Wortende
> zeigen.

http://www.spreadshirt.de/das-kannste-schon-so-machen-aber-dann-isses-halt-C4408A22229116

Je nach HW-Implementierung ist das ja auch wieder anders. Das kann doch 
der Code-Generator machen.

von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

Es gibt einen Fehler in den letzten beiden Zeilen: um "NACHMITTAGS" 
darzustellen, muss ich die beiden Zeilen vertauschen.

von Joachim B. (jar)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> Ich habe jetzt alles in separaten Spalten angelegt.

Da stimmt was nicht:
1
word_ix  text    row     column  length  abs_start_position  abs_snake_position
2
47      DREI**   8       0       4       145                 145
3
48      VIER**   8       0       4       149                 149
4
49      VIERTEL* 8       4       7       149                 149

Bei word_ix 48 muss sicher 'ne vier in Spalte "column" stehen:
1
48      VIER**   8     ((4))     4       149                 149

Mein Tool weigert sich beim Import.

: Bearbeitet durch User
von Hans H. (loetkolben)


Angehängte Dateien:

Lesenswert?

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, ****

: Bearbeitet durch User
von Herbert P. (herb3472)


Angehängte Dateien:

Lesenswert?

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!

von Herbert P. (herb3472)


Lesenswert?

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“)."

von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

word_ix  text  row  column  length
55       EINS*  9     5       4

von Herbert P. (herb3472)


Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

bei 24 Stunden und NULL UHR ZWEI UND DREIßIG kann das NACHTS wohl 
entfallen?

sonst wäre es ja 12:32.

: Bearbeitet durch User
von Hans H. (Gast)


Lesenswert?

@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,

von Herbert P. (herb3472)


Lesenswert?

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.

von Hans H. (Gast)


Lesenswert?

@Herbert
Das AUF und UHR zu tauschen finde ich auch gut.

von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Hans H. (Gast)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Aha, wordclock2.cmd und wordclock2.exe :-) Danke.

Hans H. schrieb:
> Durchschalten der Wortkombinationen ...
> richtiger Screensaver

Das klingt erstmal nicht wirklich nach Doppelarbeit. Oder?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> benötigt man dazu
> eine spezielle Berechtigung?

nein, Du bist ja als "herb3472" angemeldet.

Einfach unten links unter Werkzeuge "Datei hochladen"

http://www.mikrocontroller.net/articles/Spezial:Hochladen

Das sieht dann so aus wie hier z.B.:

http://www.mikrocontroller.net/articles/Datei:LED-Pendellampe.zip

Und im Artikel WordClock24h gehst Du auf "Bearbeiten" und trägst das 
dann entsprechend ein, so wie hier z.B.:

> == Downloads ==
>
> * [[Datei:LED-Pendellampe.zip]]

http://www.mikrocontroller.net/wikisoftware/index.php?title=LED-Pendellampe&action=edit&section=11

PS: Vorschlag: Alle Dateinamen haben den Prefix "WC24h_", ist dann 
übersichtlicher.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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#:
1
        public void AddWordsInMode(OleDbDataReader reader) {
2
            int hour_mode = Convert.ToInt32(reader.GetValue(0));// 0 hour_mode
3
            int hour_input = Convert.ToInt32(reader.GetValue(2));// 2 hour_input
4
            if (hour_input != this.Hour) System.Diagnostics.Debugger.Break();
5
            this.AddWord(hour_mode, reader.GetValue(4));// 4 hour_ix_0
6
            this.AddWord(hour_mode, reader.GetValue(5));// 5 hour_ix_1
7
            this.AddWord(hour_mode, reader.GetValue(6));// 6 hour_ix_3 (hour_ix_2 gibt es nicht)
8
            this.AddWord(hour_mode, reader.GetValue(7));// 7 hour_ix_4 
9
            this.AddWord(hour_mode, reader.GetValue(8));// 8 hour_ix_5
10
            this.AddWord(hour_mode, reader.GetValue(9));// 9 hour_ix_6
11
        }
12
        protected void AddWord(int hour_mode, object hour_ix) {
13
            List<int> Words;
14
            int WordIndex;
15
            if (!(hour_ix is DBNull)) {
16
                WordIndex = Convert.ToInt32(hour_ix);
17
                if (this.WordsInModes.ContainsKey(hour_mode)) {
18
                    Words = this.WordsInModes[hour_mode];
19
                } else {
20
                    Words = new List<int>();
21
                    this.WordsInModes.Add(hour_mode, Words);
22
                }
23
                Words.Add(WordIndex);
24
            }
25
        }
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. 
:-)

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> ich würde gerne die 16 x 16 verbauen

Also 'ne Billig-variante mit Großbildschirm-kacheln in 16 x 16 würde ich 
auch noch aufbauen wollen. Mir ist allerdings die Reihenfolge egal.

Joachim B. schrieb:
> evtl. im wiki einpflegen 16 x 16

Nimm doch einfach den letzten Entwurf, der gepostet wurde und trage ihn 
im WIKI ein.

http://www.mikrocontroller.net/wikisoftware/index.php?title=WordClock24h&action=edit&section=3

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Torsten C. schrieb:
> Nimm doch einfach den letzten Entwurf, der gepostet wurde und trage ihn
> im WIKI ein.
>
> 
http://www.mikrocontroller.net/wikisoftware/index.php?title=WordClock24h&action=edit&section=3

och ich löte lieber, kann das evtl. jemand übernehmen der schon mal Wiki 
Einträge bearbeitet hat?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> 15 x 1440 = 216.000 Frames

Im Moment sind 7 Modes in tbl_hours, keine 15. Oder kann man da was 
duplizieren?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> Hab' aber noch keine Zeit gehabt, die Preise zu vergleichen.

Ich hatte Dir per PN drei Links geschickt, die Lieferungen waren OK und 
die Preise m.E. auch:

- http://www.aliexpress.com/snapshot/6238120902.html
- http://www.aliexpress.com/snapshot/6238131544.html
- http://www.aliexpress.com/snapshot/6237951049.html

Mehr als 12€ pro Meter incl. Versand ist Wucher.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

dummerweise finde ich aktuell nur 30/m oder 60/m

interessanter wären aktuell für mich 42 - 52 /m non waterproof von mir 
aus auch LPD 8806

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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?

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

An der Qualität muss ich noch arbeiten:

http://youtu.be/HL16kwwANH8

PS: Mir war bis eben gar nicht klar, wieviele Videos es zu WordClocks 
bereits gibt:

https://www.youtube.com/playlist?list=PLZ46h9nEUStojY0WQ17BdGuW25HPIRFEp

Gute N8, bis Morgen.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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!

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

Zwischenbericht @Joachim:

ich hab die Tabellen für die 16 x 16 Matrix in Arbeit, dauert noch ein 
paar Stunden.

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?


von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Torsten C. schrieb:
> Was hat das mit "notwendig" zu tun?

nix, aber mit basteln und Herbert hat ja eher einen Hang zu AVR ;-)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> Herbert hat ja eher einen Hang zu AVR ;-)
Torsten C. schrieb:
> Ein STM32 kostet die Hälfte. ;-)

Das muss ich jetzt einfach mal loswerden:

DAS IST EIN COOLES KERNTEAM, das sich um den
> Beitrag "Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?"
gebildet hat!

Frank M. schrieb:
> Das ist einfach ein zusammengewürfelter Haufen

Das sehe zumindest ich - trotz oder gerade wegen der
Streitkultur (Wikipedia) - inzwischen ganz anders!

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Wo ist eigentlich der Unterschied zwischen

"WC24h18x16.accdb" und "WC24h.accdb" in der ZIP-Datei WC24h18x16.zip?

http://www.mikrocontroller.net/articles/Datei:WC24h18x16.zip

Oder waren die Dateien versehentlich doppelt?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

übrigens:

Your Mighty Mini 1284P copy boards have been depanelized and shipped to 
you via USPS Standard First Class Mail.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> Your Mighty Mini 1284P copy boards have been ... shipped to you

Das sind nur die PCBs und bestücken musst Du selber, oder? ?!

von Joachim B. (jar)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

Die Datenbank-Tabelle tbl_words wurde sowohl in der 16x16 als auch in 
der 18x16 Version um die Spalte "color" (Default #FFFFFF) erweitert.

von Herbert P. (herb3472)


Lesenswert?

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.

von Hans H. (Gast)


Lesenswert?

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!

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Hans H. (loetkolben)


Angehängte Dateien:

Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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:
1
            this.DBKey = Convert.ToInt32(reader.GetValue(0)); // mode_ix
2
            this.Text = reader.GetString(1); // text
3
            this.minute_ix = Convert.ToInt32(reader.GetValue(2)); // minute__txt_first
4
            if (this.minute_ix == 0) {
5
                this.minute_ix = Convert.ToInt32(reader.GetValue(4)); // minute_txt_last
6
            }
7
            this.hour_ix = Convert.ToInt32(reader.GetValue(3)); ; //hour_txt

Dann darfst Du aber nicht nur 20=NACH nehmen, sondern musst ggf. auch 
45=NACH* und 78=NACH** benutzen.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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]. :-(

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

@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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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/FabLab

http://wiki.happylab.at/w/Laser_Cutter

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

Torsten C. schrieb:
> Wir daben dafür den hier in der Nähe:
>
> http://www.donaris-lbw.de/

der ist natürlich schon ein techologisches Schwergewicht!

Man könnte auch bei dem hier anfragen:

http://www.schmitz-peter.de/Namensschild-mit-Strassennamen-und-Hausnummer-aus-2-mm-Corten-Stahl-gelasert.htm

der ist auf Schilder spezialisiert, möglicherweise mit 
Einzelanfertigungen vertraut und möglicherweise billiger.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

von Herbert P. (herb3472)


Lesenswert?

Die korrigierten Dateien für die 16x16 Matrix sind im Wiki hochgeladen.

von Herbert P. (herb3472)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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!

von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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?

von Herbert P. (herb3472)


Lesenswert?

Ich muss für heute Schluss machen, Gute N8!

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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:
1
javascript:(function()%20{document.getElementsByTagName('textarea')[0].value%20+=%20'\n\nVG%20Torsten%20C.%20%E2%9E%9C%20Thread-Artikel%20[[WordClock24h]]';})();

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite



Lesenswert?

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

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Torsten C. schrieb:
> Was
> meint Ihr? Ich würde das "UHR" nur bei vollen Stunden anzeigen.

jau, dafür

von Sergej W. (23b)


Angehängte Dateien:

Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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"

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> RGB LED kaufen um diese Platine mit dem aufgelöteten Controller zu
> bestücken oder verdrahten verstehe ich nicht

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!

Zu der LED-Version mit eingebautem Controller gibt es z. B. den
Beitrag ""Sammelbestellung" für 8mm RGB LEDs mit WS2811 chip"

Muster habe ich hier in der Bastelkiste.

Und für die, die nicht nach "LED PIXEL" googeln wollen, habe ich auch 
noch einen Link für die Lichterkette-Version:

➜ http://www.aliexpress.com/item/-/32240969873.html

Torsten C. schrieb:
> durch 5mm-Löcher

OK, sorry, 8mm-Löcher!

VG Torsten C. ➜ Für Neu-Eisteiger gibt es den
Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> OK. Falls fehlerfreie Modi dabei sind, lade ich die inzwischen hoch

https://www.flickr.com/search/?tags=4a157715efad45ae91fa5d17915155c8

Das ist Mode 3: ES IST HH UHR UND MM MINUTEN (12)

Allerdings geht bei flickr.com offenbar die Reihenfolge flöten. :-(

Also doch YouTube?

VG Torsten C. ➜ Für Neu-Eisteiger gibt es den
Beitrag "WortUhr/WordClock: Minutengenau, 24h, RGB – Für Neu-Einsteiger"

: Bearbeitet durch User
von Herbert P. (herb3472)


Lesenswert?

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.

von Herbert P. (herb3472)


Lesenswert?

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!

von Sergej W. (23b)


Angehängte Dateien:

Lesenswert?

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!

von Sergej W. (23b)


Angehängte Dateien:

Lesenswert?

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!

von Sergej W. (23b)


Lesenswert?

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!

von Herbert P. (herb3472)


Lesenswert?

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

von Herbert P. (herb3472)


Lesenswert?

@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?

von Herbert P. (herb3472)


Lesenswert?

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?

von Herbert P. (herb3472)


Lesenswert?

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"

von Herbert P. (herb3472)


Lesenswert?

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?

von Herbert P. (herb3472)


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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"

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Sergej W. (23b)


Lesenswert?

Torsten C. schrieb:

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


Ja, gibt's zu kaufen:
http://www.ebay.de/itm/5mm-Rolle-Selbstklebend-Kupfer-Klebeband-Kupferband-Kupferfolie-Band-30-Meter-/141449036885?pt=LH_DefaultDomain_77&hash=item20ef050455

von Sergej W. (23b)


Lesenswert?

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!

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Herbert P. schrieb:
> Wie es halt für Dich einfacher ist!

YouTube ist für mich einfacher als flickr.

Mode 4 mit Daten vom 27. Nov 21:58:
https://www.youtube.com/watch?v=rjBsismDwC4

Aber die Daten sind ja auch schon wieder alt, oder?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.