Frage zur Zahlendarstellung für eine Uhr gesteuert von einem PICO

  • Hallo,

    Ich möchte folgendes Projekt zur Umsetzung bringen, und benötige noch etwas Planungshilfe.

    Das Raspi PICO soll sozusagen die Mutteruhr mit DCF77 Empfänger werden. Dafür habe ich schon einige Beispiele im Internet gefunden.
    An dieser Mutteruhr soll nur ein kleines LCD Display ( LCD-Display ) zur aktuellen Zeitdarstellung eingesetzt werden.

    Nun möchte ich auch noch Großanzeigen daran anschließen.

    Diese muss ich mir selber bauen. Meine Idee dazu, ich verwende die Darstellungsform wie bei einer 7-Segmentanzeige. Nur das die einzelnen Striche durch merhrer zusammengeschaltete LEDs verkörpert werden sollen. Hier wollte ich jeweils 5 dieser LEDs für einen Segmentstrich verwenden. Somit benötige ich 35 dieser LEDs pro Ziffer. Wie bei einer "richtigen" Uhr soll die Zeit in Stunde, Minute und Sekunde dargestellt werden, zudem die Trennungszeichen ( Doppelpunkte jeweils zwischen Stunde und Minute, und zwischen Minute und Sekunde ) im Takt mit blinken. Eine Sekunde aus, die nächste Sekunde an.
    Es stellt auch kein Problem dar, wenn jede Tochteranzeige eine eigene Stromversorgung bekommt.
    Um die ganzen Segmente anzusteuern hatte ich schon mit Port-Expandern wie dem PCF8574 oder dem MCP23017 geliebäugelt. Damit könnte man zumindest eine Anzeige problemlos mit nur wenigen Adern, oder Drähten an die Mutteruhr anschließen. Das ich an jeden Ausgangspin einer dieser Portexpander noch eine LEED Treiberstufe anbringen muss ist mir schon klar, wenn ich jeweils 5 dieser LEDs in Serie geschaltet pro Segment verwenden will.

    Wenn ich das richtig verstanden habe, darf im I²C Protokoll nur einmal eine solche Geräte Adresse vorkommen. Das ist jetzt mein Problem, wenn ich mehrere dieser Tochteranzeigen parallel an die Mutteruhr anschließen will.

    Wie kann man das elegant lösen, ohne das jedesmal, wenn sich die Anzahl der Tochteranzeigen ändert das Programm ändern zu müssen ?


    Franky

    Franky

  • Frage zur Zahlendarstellung für eine Uhr gesteuert von einem PICO? Schau mal ob du hier fündig wirst!

  • Hallo Tell,

    mit P82B715 Exenter liegen 30 Meter im machbaren Bereich. Bis ca. 17 m habe ich diese Bus Exenter auch schon eingesetzt. Ich müsste nur etwa 25 Meter Sternförmig angeordnet überbrücken.
    Wenn ich deine Aussage richtig deute, sollte man das Rx/Tx Signal beliebig parallel verzweigen können ? Müsste man da nicht auch einen Signal-, oder Pegelverstärker in Form eines MAX232 einplanen ?

    Franky

    Franky

  • Wenn ich das richtig verstanden habe, darf im I²C Protokoll nur einmal eine solche Geräte Adresse vorkommen. Das ist jetzt mein Problem, wenn ich mehrere dieser Tochteranzeigen parallel an die Mutteruhr anschließen will.

    Sehr viele I²C Geräte haben eine Möglichkeit die Adresse (geringfügig) zu ändern. Beim PCF8574 z.B. ist das z.B. von Adresse 0x20 bis 0x27. Wenn das noch nicht genügt, nimmst Du den PCF8574A, und hast 0x38 bis 0x3F.

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Moin,

    Sehr viele I²C Geräte haben eine Möglichkeit die Adresse (geringfügig) zu ändern. Beim PCF8574 z.B. ist das z.B. von Adresse 0x20 bis 0x27. Wenn das noch nicht genügt, nimmst Du den PCF8574A, und hast 0x38 bis 0x3F.

    Das habe ich schon verstanden. Nur muss man dann jedesmal einsprechende Änderungen im Programm vornehmen, wenn mit jedem Aufbau die Anzahl der Tochteranzeigend abweichend vom vorherigen Aufbau ist.
    Bezogen auf den PCF8574 bräuchte ich Pro Anzeigeneinheit 6 dieser Chip. Mit den verfügbaren Adressen ließen sich somit auch nur 2 Anzeigeelemente aufbauen, und würde einen erheblichen Änderungsaufwand im Programm darstellen.
    Mit dem MCP23017 bräuchte ich zwar nur 3 dieser Chips pro Anzeige, aber es wären auch nur 2 Anzeigen mit den verfügbaren BUS-Adressen möglich. Wobei der Änderungsaufwandd geringer wäre.

    Da gefällt mir der Lösungsvorschlag von Tell besser, pro Anzeigeeinheit ein eigenes PICO zu verwenden.

    Franky

    Franky

  • Hallo,

    vielen Dank für diesen Hinweis.

    Für I2C gibt es auch verschiedene Multiplexer z.B den PCA9548A, damit könnte man dann mit 8 I2C Bussen hintereinander kommunizieren.

    Jedoch stellt sich dann für mich die Frage der Softwareumsetzung. Soweit ich dem Datenblatt entnehmen konnte, wäre der Aufbau dann folgender, der Multiplexer hat eine eigene Adresse, und man kann dann über die gleichen Signalleitungen den Multiplexer ansprechen, zu denen er die Daten weiterleiten soll, wie auch die Daten senden, die an die 8 Busverzweigungen weitergeleitet werden sollen. Das ich damit bis zu 8 Anzeigen, mal von den ms Verzögerung abgesehen ansteuern könnte erscheint mir logisch. Es könnten zudem alle Anzeigen mit der selben Adresscodierung aufgebaut werden. Nur wie verhält sich dann die Software wenn ein Buskanal angesprochen wird, an dem keine Anzeige angeschlossen ist ?

    Das hiese doch, ich müsste mit dem unter Spannung setzen der Mitteruhr, und damit dem Programmstart den Multiplexer ansprechen, diesen Channel für Channel durchschalten und abfragen ob an diesem Channel ein Display hängt ? Wie setzt man das auf einem Pico um ?

    Franky

    Franky

  • ...
    Nur wie verhält sich dann die Software wenn ein Buskanal angesprochen wird, an dem keine Anzeige angeschlossen ist ?
    ...

    Wie deine Software damit umgeht bleibt doch dir überlassen. Man könnte in jeder Tochteruhr bestimmt auch einen ESP mit w-LAN verwenden, welcher sich die Zeit z.B. per ntp, von der Mutteruhr holt.

  • ps915 January 30, 2024 at 7:50 PM

    Added the Label Pico

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!