Hallo, hier ein weiterer Betrag zum Thema Binäruhr. Ich habe vor eine Binäruhr zu bauen, bisher habe ich jedoch nur die Uhr am laufen. Ich möchte das ganze gern mit einer Matrix realisieren, 4x6 Felder, 20 LED. Problem ist nun die Verarbeitung der Uhrzeit: Ich denke, dass es Sinn macht jeden "Spalte" zu durchlaufen - h,h,m,m,s,s. Z.B. mit der Uhrzeit 13:53:21: dann würde ich die erste und zweite Spalte h durchgehen (1 = 1. LED an, 3 = 1.&2. LED an) usw. mit den restlichen Stellen.. Das ist die Theorie - jedoch arbeite im Programm mit der Variable stunde = 13. Wie soll ich aus diesem integer die 1 und die 3 einzeln betrachten können? Nehme ich char könnte ich mit den Stellen arbeiten, jedoch nicht rechnen. Weiß jemand wie das zu lösen ist?
Christian Zöller schrieb: > jedoch arbeite im Programm mit der Variable stunde > = 13. Wie soll ich aus diesem integer die 1 und die 3 einzeln betrachten > können? 13 / 10 = 1 13 % 10 = 3
Okay Peter, das ist sehr interessant. Vielen Dank! Dann würde ich aus den beiden Zahlen jetzt die Binärzahl bilden. 1 = 0001 3 = 0011 und die Felder der ersten Spalte füllen: [0][][][][][] (8) [0][][][][][] (4) [0][][][][][] (2) [1][][][][][] (1) die felder der zweiten Spalte füllen [0][0][][][][] (8) [0][0][][][][] (4) [0][1][][][][] (2) [1][1][][][][] (1) daraus folgt, dass ich 4 Ports mit jeweils 6 Pins benötige Portx Pin0..Pin6. Und dann einfach Portx = Zeilex (bei Zeile 4 = 110000) belege. Stimmt die Logik so? Geht es nicht effizienter?
Christian Z. schrieb: > Stimmt die Logik so? Geht es nicht effizienter? ich dachte du willst multiplexen? Bei 4x6 brauchst du 10 ausgänge über wieviel Port sie verteilt sind es fast egal.
Das habe ich noch nie gemacht, ich weiß darüber nur, dass man somit eine Menge Ausgänge spart dafür aber mehr Spannung braucht und eine bestimmte Frequenz benötigt um das Auge zu "täuschen". Wie das jetzt direkt hier realisiert wird weiß ich nicht. Ich habe noch nie Elektronik angesteuert, außer auf dem Evaluationsboard von Pollin.
und dann die Matrix so anordnen, das du die 4 Bits einer Stelle zusammen ausgibst und nicht von allen 6 Stellen immer 1 Bit! Sascha
Sascha Weber schrieb: > und dann die Matrix so anordnen, das du die 4 Bits einer Stelle zusammen > ausgibst und nicht von allen 6 Stellen immer 1 Bit! > > Sascha Kannst du es ein wenig visualisieren, ich versteh nicht so recht wie du es meinst.
Wie gesagt bin ich kaum mit Elektronik vertraut, was sich jetzt wohl dafür ändern muss. Ich würde jetzt alle LED an 1 Port (1. Zeile an Pin0, 2. Zeile an Pin1 usw.) anschließen und dann jeden Pin anhand der Spalte schnell durchlaufen. So dürfte der Effekt theoretisch entstehen... und dann noch extra Strom draufgeben. Wäre das Vorgehen Multiplexing?
Einen anderen Zugang zum Multiplexen findest du hier http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige Stör dich nicht daran, dass hier 7-Led in einer speziellen Form angeordnet sind. Es sind trotzdem einfach nur 7 LED und davon 4 Stück. Ob die jetzt als 4 Stück 8-er Form oder als 4 Zeilen a 7 LED (bei dir 6 LED) angeordnet sind ... das Prinzip ist haarscharf das gleiche.
Ja, aber verstehe ihn nur teilweise, wegen Elektronikkentnissen. Werd ein bisschen probieren müssen. Hoffe ich bekomm erstmal was zum leuchten, auch wenn es der µC ist. :) Vielen Dank an euch.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.