7-Segment Uhr mit Arduino

Gast #4755595
Guten Abend

Ich habe neulich eine vierstellige 7-Segment Anzeige von einem Print 
entlötet. Meine Idee war es nun, damit eine kleine Uhr mit Hilfe meines 
Arduino Mega 2560 zu bauen. Da ich noch nicht ausreichend Erfahrung mit 
dem Programmieren meines Arduinos gemacht habe, habe ich nach einer 
Anleitung gesucht. Fündig wurde ich schnell :)

http://thecustomgeek.com/2011/06/29/multiplexing-for-a-7-year-old/

Nun gibt es aber zwei Unterschiede zu meinen Bauteilen.
1. Der Typ benutz nur den Chip, ich habe aber das fertige Arduino- 
Board. Ich denke nicht, dass dies ein Problem ist oder? (Später werde 
ich die Schaltung sowieso auf einem Print aufbauen)
2. Bei seiner Anzeige werden die Anoden zusammengeführt, bei meinem aber 
die Kathoden. (Ich habe ein "LTC-4727Y")

Nun stelle ich mir die Frage, ob es Sinn macht den auf der Seite zu 
Verfügung gestellten Code auf mein 7-Segment anzupassen (ich weiss 
leider nocht nicht genau wie), oder ob ich es anders probieren soll. Der 
Code ist ja relativ gut zu verstehen.

Vielen Dank für jede Antwort :)


PS: Funktionieren sollte es doch eigentlich auch, wenn ich die Eingänge 
von der Anzeige invertiere... aber das ist wohl auch keine gute Lösung
Yael schrieb:
> habe ich nach einer Anleitung gesucht. Fündig wurde ich schnell

Immer auf derf Suche nach der am einfachsten erscheinenden Anleitung, in 
der alles komplizierte weggelassen wurde, halt für 7-jährige....

Deine Anzeige ist nicht blau und nicht so hell mit geringem Strom von 
ca. 0.5mA wie seine, und du willst sie vielleicht auch tagsüber ablesen 
können.

Dann verwendet er für 4 Stellen + Doppelpunkt ein 7-faches Multiplexing, 
das ist eher ungünstig.

So ist die sinnvolle Schaltung, die zumindest 5mA pro Digit liefert

https://www.electronicsblog.net/4-digits-7-segments-led-display-multiplexing-with-arduino/

Hier noch eine Variante

http://arduino.stackexchange.com/questions/21608/how-to-use-a-common-anode-7-segment-4-digit-display
(Firma: Q3)
Abgesehen davon, dass ein Mega für eine Uhr ganz schön überdimensioniert 
ist ... aber gut, als Lernprojekt ...

Ich würde die Software in verschiedene Funktionsblöcke aufteilen und 
diese auch getrennt entwickeln und testen:

1. regelmäßiger, interruptgesteuerter Timer, damit rel. unabhängig von 
all den nicht zeitkritischen anderen Funktionen.

2. Mehrstelligen Zähler und die "Mathematik" einer Uhr, also bis 59 bzw. 
23 zählen usw.

3. die Stell- und Korrektur-Mimik per Taster

4. die Zählerstände nach 7-Segment transformieren (je Segment ein Bit 
an- und ausknipsen)

5. diese Bits über die Pins irgendwie nach Draußen auf die Segmente der 
Anzeige bringen ...

(Während der Entwicklung Kontrollausgaben auf den seriellen Monitor, 
schaltbar über eine global Debug-Variable)
Gast
Vielen Dank für die schnellen Antworten. Ich werde mir Morgen die 
verschiedenen Varianten nochmals anschauen. Die LEDS in serie mit 220 
Ohm sind hell genug und auch tagsüber gut erkennbar. Die Anleitung habe 
ich einfach ausgewählt, weil es eine ähnliche Anzeige ist und ich 
momentan nicht wirklich viele Bauteile zur Verfügung habe. War 
vielleicht etwas voreilig ;P
Gast
Das schöne Beispiel zeigt, warum man sich nicht einfach alles 
zusammenkopieren sollte, wenn man lernen will, wie es funktioniert.

Da will einer Multiplexing für 7-Jährige erklären und hat es selbst 
nicht verstanden, witzig. Die 7-Segmente sind hier ja 1:1 mit dem Port 
verdrahtet und werden nur zwecks gleichmäßiger Helligkeit nacheinender 
eingeschaltet. Für die eigentliche Funktion nicht nötig. Das ist im 
Prinzip nur eine Lauflicht-Schaltung und nicht das eigentliche 
Multiplexing. Obwohl man auch ein Lauflicht in einem Sinne Multiplexer 
nennen könnte aber das ist wohl nicht Sinn der Sache hier.

Das eigentliche (notwendige) Multiplexing findet hier, in seiner 
Demonstration leider unsichtbar, zwischen über die 4 Stellen statt 
(innere Schleife im abkopierten Code), die nacheinander ihre jeweiligen 
Segmentmuster geschaltet bekommen und dann eingeschaltet werden.

Bessere Multiplex-Demos:
https://www.youtube.com/watch?v=YAJw7pkEzeQ   (f. Digit-Multiplexing)
https://www.youtube.com/watch?v=zUdrhXk8toA   (f. Segment-Multiplexing)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.