Hallo liebe "Elektroniker"!
Ich bin leider ein völliger Laie auf dem Gebiet.
Ich habe 2 große 7-Segment LEDs, die ich so schalten möchte, dass sie ganz einfach die Zahlen 01 bis 52 anzeigen. Ich möchte daraus eine Anzeige machen, die immer die derzeitige Kalenderwoche zeigt und sie soll ganz einfach weiterzuschalten sein.
kann der TE überhaupt programmieren, oder soll es rein elektrisch bleiben
Es sind wohl 14 Leitungen, die geschaltet werden sollen.
Am einfachsten geht es mit einer Tabelle in einem kleinen FPGA, welches noch einen Taster als Weiterschaltimpuls bekommt.
Die einfache 'klassische' Lösung wären 2 4-Bit-Dezimalzähler, 2 BCD-zu 7-Seg.-Dekoder, ein paar Gatter um die Zähler zurück zu setzen sowie der Taster zum Zähler erhöhen nebst entprellen damit nicht versehentlich 2 oder mehr Wochen weiter gezählt wird. Nebst etwas Platine und löten etwas auch für Laien am Anfang noch überschaubar.
Etwas weniger Bauteile aber technisch Anspruchsvoller ist die Verwendung eines Mikrocontrollers (z.B. Arduino) da hier das ganze nicht nur zusammen gebaut sondern auch programmiert werden muss - jedoch auch mehr Möglichkeiten für Korrektur der Anzeige oder Prüfung auf Fehlbedienung besteht.
Also die Frage wie weit man sich in die Materie einarbeiten möchte.
Wenn gemultiplext werden darf, hat auch ein Arduino (z.B. Nano) genug Pins.
Die zugehörige Software ist für einen Einsteiger sicher deutlich einfacher als ein entsprechender VHDL-Code zu verstehen - ganz abgesehen von der Art und den Kosten, diesen auch auf die Hardware zu bringen. Gegenüber der "Klassischen" Version mit Zähler und Decoder gibts deutlich weniger zu löten.
Ein Arduino-Pin darf mit bis zu 40mA belastet werden. Falls das für die vorhandene Anzeige genügt, braucht es nich tmal zusätzliche Hardware. Ach ja, noch einen oder zwei Pins für Taster ...
Wenn man die Taster mit Widerständen bestückt, kann man über einen ADC-Pin mehr als eine Taste kontrollieren.
Nimm als Vorbild eine Klappzifferuhr (https://wohnish.de/products/flip-down-klok-walnoot-hout-vintage-klok-retro-mechanisch). Dann brauchst du gar keine Elektronik, die kannst du von Hand umklappen, kannst du beliebig groß machen, frisst kein Strom und und und. Kann auch einfach wie ein Kalender aus Papier gebastelt werden, bei dem die 10er und 1er Stellen einzeln umgeblättert werden kann.
Ein Arduino-Pin darf mit bis zu 40mA belastet werden.
Die Frage ist, dürfen 12 Arduino-Pins gleichzeitig mit 12×40mA belastet
werden? Die einzelnen Pins schon, aber Vcc bzw. Gnd?
Gute Frage, richtig, weiss ich nicht genau. Aber durch das Multiplexing würde da wohl noch etwas "Luft" dazwischen sein ... es sind ja nie alle Segmente gleichzeitig eingeschaltet "88" :-)
Was steht denn da drauf? Nur, damit man weiß, ob die eine gemeinsame Anode oder Kathode und welche Daten die LEDs haben. Nicht, dass das noch eine Reihenschaltung mehrerer LEDs ist...
Welche einfache Lösungen gäbe es dafür?
Wie soll die Versorgung aussehen?
dass sie ganz einfach die Zahlen 01 bis 52 anzeigen
Ich finde eine führende 0 bei einstelligen Zahlen immer etwas irritierend.
Am einfachsten geht es mit einer Tabelle in einem kleinen FPGA
Eher am kompliziertesten. Sich in VHDL einzuarbeiten, ist nicht ohne. FPGAs nimmt man daher nur, wenn es auf höchste Geschwindigkeit ankommt.
Auch haben es FPGAs nicht so mit 5V. Die arbeiten eher an <1V.
Größere LED-Anzeigen wollen sogar >8V sehen.
Ohne nachzuschauen behaupte ich mal locker: > ½A, NEIN
Edit:
Mit nachschauen, 200mA durch Vcc,Gnd, 100mA gleichzeitig durch die IO-Pins.
ATtiny48/88.
Bei 40mA Aufnahme also zwei Segmente gleichzeitig im Multiplexer-Betrieb.
Bei Anzeige zB. KW28 und KW38 werden 12 Segmente benötigt, also 6-fach multiplexen. Mittlerer Strom pro Segment dann 6.67mA.
Wenn das für die erwartete Helligkeit reichen sollte, dann reichts.
Edit2:
Was natürlich Quatsch ist. Man braucht 7-fach Multiplexing damit alle Segmente immer gleich hell erscheinen. Jeweils gleichzeitig ein Segment einer Anzeige. Damit also 5.7mA mittlerer Strom.
oder ein Mikrocontroller wie ATmega328 (Arduino Nano oder Uno) und die LED an geeignete Pins ebenfalls mit Vorwiderstand. Der Mikrocontroller KÖNNTE dann die Wochen selbst zählen (und praktisch mit USB Netzteil versorgt werden).
Nur muss man halt ein passendes Programm schreiben.
Mit einem ESP32 (Wroom oder so) könnte man die Kalenderwoche gar aus dem Internet abfragen.
Das bedeutet, dass er 2 große 7-Segment Displays hat.
Stimmt; sonst hätte er 2 große 7 -Segment SMD's ;)
Immer diese Wortklauberei: er schrieb doch, dassa sich nicht auskennt.
Das sind dann halt Sperrhalbleiter, LEDs oder SMDs.
Du wirst ja wohl wissen, was gemeint ist, so wie allea anderen auch.
Ich finde die Idee mit den DIP-Schaltern garnicht mal so blöd. Könnte man auch normale Schalter nehmen. Man könnte das auch mit 12 Schaltern aufbauen und diese mit einer Handvoll (Tüte voll) Dioden, wie früher halt, von den einzelnen Segmenten entkoppeln und so die KW 1-52 anzeigen.
Ich hätte noch eine Uhrplatine mit ATMEGA328, RTC und roter LED-Anzeige übrig. Falls 0,8" ausreichen, könnte man die entsprechend programmieren. Aber vermutlich ist Dein "groß" größer.
2 Drehkodierschalter oder Daumenschalter mit BCD-Code
2 BCD-7-Segment-Dekoder
2 ULN2003
passende Widerstände
Lässt sich einfach lochrastern und ist einfach, billig und robust. Und vor allem so wie es der OP gewünscht hat.
Setzt natürlich voraus, das die Anzeigen CA sind.
Evtl. auch
2 Taster "+"
2 BCD-Zähler
2 7-Segment-Dekoder
2 ULN2003
und ein bissel Vogelfutter
Dann tippt man jede Stelle halt einfach durch.
Kann man mit ARM, ESP32, FPGA, Intel Core i9-14850HK oder Jugene auch machen, muss man aber nicht.
Selbst an einer Mikrocontrollerlösung muss man immer noch die LED-Treiber haben, plus Kleinkram.
Oder, wenn jemand das bauen will ohne eine Leiterplatte und ICs:
Einfach 14 Schalter (evtl. in 2x7-Segment-Anordnung wegen des einfacheren Verständnis), je ein Widerstand fliegend und fertig.
Kann dann alles mögliche anzeigen, und ist einfach zu bauen.
Wenn gemultiplext werden darf, hat auch ein Arduino (z.B. Nano) genug
Pins.
Hah ? D0-D13+A0-A6 sind 19 pins, 14 fur die Segmente, 1 für den Taster, bleiben noch welche zum Rücksetzen bzw. Helligkeitsregelung übrig, ganz ohne Multiplex.
Ein Arduino-Pin darf mit bis zu 40mA belastet werden.
Bloss wird er von alleine nicht 40mA liefern, sondern eher 20mA, und wenn alle 14 je 20mA ziehen, also 280mA, wird der GND Pin überlastet.
Die meisten 7-Segment LED sind für 10mA spezifiziert. Natürlich wissen wir nicht, was er unter 'grossen' Displays versteht, eventuell 3 LED in Reihe pro Segment ?
Bei gemeinsamer Anode würde hier einen Tiny85 nehmen und 2 solche
TPIC6C596 Schieberegister
Warum ? Um es maximal kompliziert zu machen ? Anfänger müssen im Ozean
schwimmen lernen...
Du hast ihn mit deiner Schaltung dort grade reingeshubst. Was ist an deiner Schaltung einfacher? "Passender Vorwiderstand" hilft einem blutigen Laien ja so richtig weiter. Und du selber schlägst dann auch noch einen µC vor.
Zur Erinnerung:
wir wissen derzeit noch nicht mal, ob die fraglichen Anzeigen eine gemeinsame Anode oder eine gemeinsame Kathode oder gar einzeln herausgeführte LEDs haben
Wozu also irgendwelche ausufernden Schaltungsvorschläge?
Um innerhalb der Betriebsparameter zu bleiben, dürfen (bei dem genannten Strom) immer nur zwei Segmente angesteuert werden. Praktischerweise eines von jeder einzelnen Anzeige und die haben nun einmal sieben Segmente.
Selbst an einer Mikrocontrollerlösung muss man immer noch die
LED-Treiber haben, plus Kleinkram.
Ooch, es gibt auch helle Anzeigen mit wenig Strom, z.B. SA23-11SURKWA (440mcd @10mA). Die kann der Atmega48 direkt treiben. 14 Widerstände braucht man noch.
Einfach die common Anode auf 10..11V legen, der µC muß ja nur den Spannungsunterschied von "aus" auf "an" liefern.
Ich habe diese Anzeigen schon mal auf 4 Digits gemultiplext.
Es geht also auch ohne ULN2003.
... dass sie
ganz einfach die Zahlen 01 bis 52 anzeigen. Ich möchte daraus eine
Anzeige machen, die immer die derzeitige Kalenderwoche zeigt ...
Hast du dir mal die Kalender angeschaut? In der Regel gibt es alle 5 bis 6 Jahre sogar eine 53.-Woche. Und ausnahmsweise kann das zwischendurch nochmal zusätzlich vorkommen - wie z.B. nächtes Jahr (2026).
Wohl wahr. Der Durchschnittbürger würde solche Anzeigen wohl erst ab 4 bis 5cm Ziffernhöhe als "groß" bezeichnen. Solche Anzeigen hätten dann eher mehrere LED pro Segment und müßten eher mit 12V als mit 5V betrieben werden.
Aber der TO hat sich ja noch nicht wieder gemeldet. Zudem ist das sein erster Post hier. Man darf also gespannt sein, ob sich das als Trollerei herausstellt. Ich würde sagen 50:50.
Damit es wieder onT wird, noch ein Vorschlag einer nichtelektronischen Lösung: 3 Würfel beliebiger Größe. Einer beschriftet mit den Ziffern 1-5, einer mit 0-4 und der dritte mit 5-9 (eine Seite bleibt jeweils frei). Dann lassen sich mit zwei der drei Würfel die Zahlen 1 .. 53 (und noch ein paar mehr) darstellen. Dazu noch eine Halterung, z.B. in Form eines nach vorne offenen U-förmigen Profils und fertig ist die Kalenderwochenzeige.
In der Regel gibt es alle 5 bis 6 Jahre sogar eine 53.-Woche.
Und hinterm großen Teich gibt's alle Jubeljahre sogar mal 54 Wochen.
Ja, weil die ganz anders rechnen. Bei denen fängt die erste KW immer am 1. Jannuar an und wenn das ein Samstag ist, hat die erste KW nur einen Tag. Bei denen fangen die Wochen am Sonntag an. Und dann fällt im Schaltjahr der 31.12. auf einen Sonntag und das ist dann der einzige Tag in der KW 54. Das passiert wohl alle sieben Schaltjahre - das nächste mal 2028.
In der Regel gibt es alle 5 bis 6 Jahre sogar eine 53.-Woche.
Und hinterm großen Teich gibt's alle Jubeljahre sogar mal 54 Wochen.
Ja, weil die ganz anders rechnen.
Es gibt noch ein paar Möglichkeiten mehr. Deswegen hat die WEEK() Funktion in MySQL (berechnet die Kalenderwohe zu einem Datum) auch einen zweiten Parameter, der Werte von 0..7 annehmen kann: https://www.geeksforgeeks.org/sql/week-function-in-mysql/
die einfachste Lösung wäre: Je Segment ein Vorwiderstand + ein Schalter, der das Segment anschaltet. Also eine Spannungsversorgung (z.B. 5V), 2*7=14 Schalter und 14 Vorwiderstände (z.B. 220R, genaueres wenn die Anzeige verlinkst oder zumindest Strom/Spannung eines Segments nennst)
wir wissen derzeit noch nicht mal, ob die fraglichen Anzeigen eine
gemeinsame Anode oder eine gemeinsame Kathode oder gar einzeln
herausgeführte LEDs haben
Wozu also irgendwelche ausufernden Schaltungsvorschläge?
dazu noch 70 Dioden und 14 Widerstände.
Das ist zwar viel Lötarbeit, erfordert aber wenig Sachkenntnis.
Es lässt sich auf CC und CA Anzeigen und jede Betriebsspannung anpassen.
Wenn Du je ein IC statt der 7 Dip-Schalter nimmst (z.B. SN74LS74), dann
brauchst Du trotzdem je 4 Dip-Schalter oder einen speziellen
Drehschalter.
Was hast du gegen die vorgeschlagenen Daumenradschalter. Sind dir die
nicht speziell genug?
Diese Schalter zeigen die gewählte Ziffer ja direkt an. Dann kann man u.U. auf die LED-Displays gleich ganz verzichten.
Ich würde aber Daumenradschalter mit 10 Einzelkontakten verwenden und dann eine Diodenmatrix statt der Decoder IC verwenden. Das ist robuster und paßt für gA genauso wie für gK Displays. Oder auch für Displays, die mehr als 5V brauchen. Das Zusammenlöten der Diodenmatrix ist gleich eine gute Übung für den TO.
Der TO, wenn er kein Troll ist, sollte mal angeben um welche Displays es geht und wie die Ansteuerung auf die nächste Woche erfolgen soll. Wenn er keine Kenntnisse hat nutzen im die vielen Vorschläge auch nur wenig. Dann wäre das simpelste und einfachste wohl tatsächlich 2 Schalter, ein Haufen Dioden und 14 Widerstände.
Ansonsten gefällt mir der Vorschlag von Michael B. am besten. Der CD40110 war auch mein erster Ansatz.
Wenn ich gefragt würde, wie ich eine - quasi beliebig große - 7-Segment-Anzeige realisieren will, würde ich seriell ansteuerbare LED-Streifen á la WS2812 verwenden:
benötigt nur einen Daten-Anschluss am MC (Arduino)
Wenn ich gefragt würde, wie ich eine - quasi beliebig große -
7-Segment-Anzeige realisieren will, würde ich seriell ansteuerbare
LED-Streifen á la WS2812 verwenden:
benötigt nur einen Daten-Anschluss am MC (Arduino)
Vielen Dank für die vielen Vorschläge, aber ich denke ich werde den Vorschlag von Obelix X. (obelix) annehmen und eine analoge Lösung vorziehen. Das ist echt am einfachsten!
Markier ihn doch einfach und benutze den Link "Markierten Text zitieren", damit nicht jeder, der diesem Thread folgt, das ganze Ding durchsuchen muss.
Meinst du den hier?
Vielen Dank für die vielen Vorschläge, aber ich denke ich werde den
Vorschlag von Obelix X. (obelix) annehmen und eine analoge Lösung
vorziehen. Das ist echt am einfachsten!
Du meinst das mit den DIP Schaltern?
Also wenn du dir den Lötaufwand schon machst, dann mach es doch gleich mit einem Treiber IC und einem kleinen Arduino, dann schaltet es sogar von alleine um.
Anleitungen gibt es dazu wie Sand am Meer, nur lesen du musst.
Vielen Dank für die vielen Vorschläge, aber ich denke ich werde den
Vorschlag von Obelix X. (obelix) annehmen und eine analoge Lösung
vorziehen. Das ist echt am einfachsten!
Du meinst das mit den DIP Schaltern?
Also wenn du dir den Lötaufwand schon machst, dann mach es doch gleich
mit einem Treiber IC und einem kleinen Arduino, dann schaltet es sogar
von alleine um. Anleitungen gibt es dazu wie Sand am Meer, nur lesen du
musst.
Wenn er eh schon lötet kann er auch gleich ein PCB erstellen, mit KiCad oder so.
Denke noch mal über deinen Kommentar nach, der ist schon ziemlich dumm.
Vielen Dank für die vielen Vorschläge, aber ich denke ich werde
den Vorschlag von Obelix X. (obelix) annehmen und eine analoge Lösung
vorziehen. Das ist echt am einfachsten!
Ja, eine einfache Lösung, aber auch in der Handhabung die unpraktischste.
Platine, fliegend verdrahtet (Vorderseite die
Anzeigen und DIP, Rückseite Widerstände und Draht)
Wobei mit "Platine" Lochraster gemeint war. Ich gehöre noch zu der Generation, wo man klein anfängt, mit dem, was man hat. Und (nur wenn es Spaß macht) darauf aufbaut.
Wobei mit "Platine" Lochraster gemeint war. Ich gehöre noch zu der
Generation, wo man klein anfängt, mit dem, was man hat.
Die Zeiten haben sich geändert. Damals waren Lochrasterplatinen teurer als heutzutage individuelle, industriell gefertigte im Standard Pool von z.B. JLCPCB.
Das geht mit „normalen“ LED-Bändern auch ohne uC, ebenfalls beliebig
groß.
Dann benötige ich aber mehr als ein Pin zur Ansteuerung und für jedes
Segment einen Treiber - vom Aufwand her absolut nicht vergleichbar.
Wie wäre ein Kompromiss: 2 Pins und 1 IC (PCA9955 o.ä.) für alle Segmente? Bonus: Konstantstromtreiber, Helligkeit ohne PWM einstellbar und das wichtigste: Segment-Ausfall und -Kurzschluss Erkennung! Wenn g ausfällt, würde KW30 statt KW38 angezeigt werden. Manche Abteilung wäre froh, andere hätten ein Problem ;)
Markier ihn doch einfach und benutze den Link "Markierten Text
zitieren", damit nicht jeder, der diesem Thread folgt, das ganze Ding
durchsuchen muss.
Meinst du den hier?
Nimm als Vorbild eine Klappzifferuhr
(https://wohnish.de/products/flip-down-klok-walnoot-hout-vintage-klok-retro-mechanisch).
Dann brauchst du gar keine Elektronik, die kannst du von Hand umklappen,
kannst du beliebig groß machen, frisst kein Strom und und und. Kann auch
einfach wie ein Kalender aus Papier gebastelt werden, bei dem die 10er
und 1er Stellen einzeln umgeblättert werden kann.
Dazu drückst du einfach jeden Montagmorgen auf den Knopf der Einerziffer
und alle zehn Wochen auf den der Zehnerziffer. Mit etwas Geschick
erweiterst du die Mechanik etwas, so dass der Übertrag der Einerziffer
automatisch an die Zehnerziffer weitergeleitet wird. Dann ist nur noch
ein einzelner Knopf zu betätigen.
Obelix X. schrieb:
zu https://wohnish.de
sagt mein PC: Könnte ein gefälschter Shop sein
Seite wird blockiert.
Ok, ich hätte nur das Bild verlinken sollen. Ich wollte nicht sagen, das es irgendwer kaufen sollte. Ich hatte in der Suchmaschine nach "Klappziffernuhr" gesucht und das war das erste was angezeigt wurde.
Weshalb hast du für die Anodentreiber BJT verwendet, anstatt P-Mosfets?
Vor einigen Jahren habe ich für einen User aus dem Forum angehängte Schaltung entworfen. Die ist im Grunde das was Michael B. weiter oben vorgeschlagen hat, nämlich CD40110 zu verwenden.
Einige Teile, z.B. die CD4538, würden natürlich wegfallen. Die Schaltung war auf Sparsamkeit ausgelegt, deshalb konnten die Displays abgeschaltet werden. Zudem gibt es eine Unterdrückung der führenden „Null“. Die Schaltung zählt bis 39, danach erfolgt ein Reset. Das könnte man für den TO auf 52 bzw. 53 anpassen.
Ich weiß ja nicht ob der TO sein Vorhaben wirklich umsetzt. Ich würde tatsächlich auf ein sehr simple Lösung setzen, für die auch nicht viel Wissen notwendig ist. Sie wurde weiter oben auch vorgeschlagen. 1 Drehschalter mit 10 Positionen, einer mit 6 und eine Handvoll Dioden und Widerstände. Dazu 2 Displays und fertig.
Etwas aufwendiger, aber machbar, wären 2 Codierschalter ABCD und 2 CD4511 und natürlich Vorwiderstände für die Displays.
Das würde ich dem TO noch als Schaltplan liefern:-)
Besser nicht nachbauen: Die 9 ist spiegelverkehrt, nicht nur in der
fertigen Schaltung, sondern auch schon anfangs in der Tabelle mit den
den einzelnen Ziffern zugeordneten Segmenten.
So etwas passiert eben, wenn man nicht sofort drauflos wurschtelt,
sondern erst alles bis ins kleinste Detail plant ;-)