Digitaluhr bauen

- OCinside.de PC Forum
https://www.ocinside.de

-- Elektronik
https://www.forum-inside.de/forums.cgi?forum=16

--- Digitaluhr bauen
https://www.forum-inside.de/topic.cgi?forum=16&topic=1121

Ein Ausdruck des Beitrags mit 32 Antworten ergibt bei 3 Antworten pro Seite ca. 11 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 54.89 Gramm Papier.


-- Veröffentlicht durch Ratber am 22:31 am 22. Sep. 2003

Richtig.

Anders geht es nicht.


-- Veröffentlicht durch skater am 20:23 am 22. Sep. 2003

ja ne, is klar... :thumb:

aber wenn ich alle 6 schieberegister hab, und aneinander klemme, dann hab ich ja nen 48 bit rehister, gell?


-- Veröffentlicht durch Ratber am 18:46 am 22. Sep. 2003

Yo,wenn du immer nur eine Ziffer nachschiebst dann rutschen die Zahlen nur eine Stelle weiter.

Also immer den kompletten Satz.


-- Veröffentlicht durch skater am 11:44 am 22. Sep. 2003

also... wenn ich nun nur die sekundenanzeige hab, dann schkieß ich data von schieberegister 2 an QS1 von schieberegister 1 an. und dann gebe ich net 8bit, sondern 16 bin ein, oder??

in assemblersprache dann so:

[CODE]
16. bit:

sbi PORTD, 1                     ; data auf eins
sbi PORTD, 2                      ; clock
cbi PORTD, 2
cbi PORTD, 1                      ; alle pins wieder auf 0

[...]

1. Bit:

sbi PORTD, 1                     ; data auf eins für segment a
sbi PORTD, 2                      ; clock
cbi PORTD, 2
cbi PORTD, 1                      ; alle pins wieder auf 0

und dann:
sbi PORTD, 3                       ; strobe
cbi PORTD, 3

richtig????
naja... ich probiers mal aus :jump:


-- Veröffentlicht durch Ratber am 3:48 am 22. Sep. 2003

@Skater

Is doch ganz einfach.

Du schiebst jede Sekunde nen Kompletten Satz ein.
also alle 6 Stellen (HH.MM.SS bzw. DD.MM.YY bei Datum)

Dann kann nix passieren.

Mach es doch einfach so das du die Zeit aus der Internen Uhr (falls vorhanden) nimmst und se in ihre Bestandteile (Einer sekunden,Zehnersekunden,einer Minuten....usw.) zerlegst.

Dann noch für jede Ziffer die richtige Bitfolge (für die Segmente) festlegen und alles nacheinenader ins register schieben.

Das ist zwar die etwas Hölzerne Methode aber da der Controller als Uhr sowieso viel Freizeit hat spielt das keine Rolle.

Da bleibt viel Zeit für nebenjobs wie Alarmfunktionen,Mondphasen,Schaltjahrberechnung usw.


-- Veröffentlicht durch skater am 16:21 am 21. Sep. 2003

hmm.. ich hab aber den 4094 und nicht den 4017.. der 94er hat nämlich kein reset :blubb:


-- Veröffentlicht durch naKruul am 13:39 am 21. Sep. 2003

vielleicht hilft dir dashier:


-- Veröffentlicht durch skater am 9:54 am 21. Sep. 2003

noch nen kleines problem: wenn ich data vom schieberegister 2 an QS1 oder QS2 anschlie, dann ist der schieberegister 2 immer um eine zahl hinterher, und taktet auch im sekunden rytmus: also immer so:

01; 12; 23; 34; 45; 56; 67; 78; 89; 90;

der soll aj bloß alle 10 sek umschalten... wie geht das denn nun??


-- Veröffentlicht durch skater am 9:16 am 21. Sep. 2003

:kiss: SUPER MEGA DANK!!!!!

ich hab jetzt mal einen schieberegister verbaut, und der funtz prima... jetzt muss ich nur noch den 2ten einbauen... :thumb:

RATBER 4 EVER :thumb:


-- Veröffentlicht durch Ratber am 0:33 am 21. Sep. 2003

Yo,Strobe und Clock gehen bei allen Registern ran und die Datenleitung wird von Chip zu chip weitergeleitet.

also wie de schon gesagt hast.

Für Eine Komplette Anzeige wird immer der komplette Satz eingeschoben egal ob auch nur ein Segment geändert wird.


-- Veröffentlicht durch skater am 11:51 am 20. Sep. 2003

aha... also wenn ich über data ne 1 anlege, die einschibe, und die restlichen 7 stellen mit 0 fülle, strob setze, dann leuchtet nur pin8, richtig??

bei dem schieberegister kann ich ja OE permanent an Vcc klemmen, damit das immer angezeigt wird.

und wie mach ich, dass ich nur den ersten schieberegister anklemmen muss?? die anderen über Q1 zum data vom nächsten IC verbinden??


-- Veröffentlicht durch Ratber am 3:14 am 20. Sep. 2003


grrr... der conrad hat aber bloß den einen 8-bit schieberegister


Ich zähle mindestens 5

Statt Cmos 4094 nimmste eben den 74CT4094 (151653 1.-€) der ist Pinkompatibel.

Über Data werden die Daten Bitweise angelegt.
Mit Clock weitergeschoben
Und mit Strobe dann an die Ausgänge gesetzt.

Also Bit anlegen,mit Clockimpuls reinschieben,nächstes Bit,Reinschieben.....usw.

Wenn alle Bits drinne sind einmal Strobe setzen und die Bits werden alle gleichzeitig an die Ausgänge gelegt.
Die ausgänge bleiben solange Aktuell bis der nächste Satz per Strobe die Letzten Daten aktualisiert.

Oder im Soldatenstil.
Die Einzelnen Soldaten (Rot für "1"  Grün für "0" werden im Takt in die Zweite Reihe eingeschoben und sinmd erstmal unsichtbar.
auf Befehl (Strobe) fällt die Erste "Sichtbare" Reihe um und die vorher eingeschobene zweite Reihe tritt schlagartig an die Stelle der Ersten.

Is doch simpel oder ?


-- Veröffentlicht durch skater am 22:29 am 19. Sep. 2003

grrr... der conrad hat aber bloß den einen 8-bit schieberegister :grr:

und bei reichelt muss man ja für mindestens 10€ bestellen... :grr:

naja... ich such jetzt auf jeden fall mal im web nach geeigneter literatur, und versuch das selber zu managen....

FETTES THX FÜR EURE HILFE!!!

ok.. hab jetzt einiges gelesen, und bin auch af einen schieberegister gestoßen, den es beim conrad gibt, und mit dem 4094 kompatibel ist... der 74 HC 164
hier mal die pinbelegung:



(den gibts auch in anderen ausführungen, wichtig ist nur die endbezeichnung 164)

hier kann ich ja über a+b mein impulse vom AVR controller eingeben, und über Q1-8 die einzelnen segmente ausgeben.... um die ziffern dann darzustellen muss ich ja nur noch segmente langsam an und aus schalten (sie segmente sind sichtbar) und wenn ich ein segment nicht sichtbarhaben will, dann muss ich ja nur noch im Mhz bereich weiterschalten.. denn so schnell sieht das menschliche auge nix :thumb:

außerdem kann ich den ja noch über "clear" resetten (z.b. nach 60sek oder 60 min oder 24h)

eine frage bleibt noch: was kann ich mit "clock" anstellen??

(Geändert von skater um 1:04 am Sep. 20, 2003)


-- Veröffentlicht durch Ratber am 21:43 am 19. Sep. 2003

Dat 4014 is das gegenstück zum 4094 und damit nicht geeignet.

Die Daten werden Seriell eingeschoben und dann Parallel ausgegeben.



Beim 4094 (oder nem beliebigem anderen Schieberegister) werden die Daten "SERIELL" eingeschoben und wenn die Kette dann richtig Steht werden die Daten dann "PARALLEL" ausgegeben.

Alle Stellen werden in einer Kette "HINTEREINANDER" oder auf Neudeutsch "SERIELL" geschaltet.

Am Controller sind nur die 3 Leitungen des ersten Registers angeschlossen.

(Später kann man die Schaltung noch so erweitern das immer nur eine Ziffer gleichzeitig leuchtet damit man etwas Energie spart.Das Geschieht dann 30x die Sekunde oder etwas öfters.Das Auge bekommts nicht mit)

Da hängen dann die einzelnen Segmente sammt Vorwiderstand drann.

Welches Segment wann eingeschaltet wird mußte Selber Rechnen.

Also nen Proggie Schreiben wo du die Uhrzeit auf die Segmente umsetzt.

Die Arbeit kann dir keiner abnehmen.


Du stellst dir das so einfach Vor das du den Wert einfach auf nen Display gibst und das dann den Rest erledigt.

So läuft das nicht.


-- Veröffentlicht durch skater am 20:42 am 19. Sep. 2003

ok... zur hälfte hab ich es kapiert... also:

ich hab mich in folgenden schieberegister verguckt: C-MOS IC 4014 (art. Nr:(beim conrad) 172707-13) das is nen 8 stufiges schieberegister (parallel input/ serial output) hier das datenblatt
hier die pinbelegung:



an P1-8 schließe ich die 8 LED's der anzeige an (mit punkt)

an Vdd logischerweise +5V und an Vss GND

dann bleiben noch Q6, Q7, Q8, P/S, C und DS

wo kommen nun die signale für die sekunden (bzw. minuten und stunden) und wo kommt der "output" für die andern schieberegister hin?? außerdem: woher weiss das schieberegister, dass es bei den minuten schon nach 60 impulsen, und bei stunden nach 24 impulsen zurück auf 0 springen soll??

ich hab grad echt kein plan, und ich hab grad keine kohle mir gescheite literatur zu kaufen... deswegen :kiss: @ all und ganz besonders ratber (wenn wir uns mal auf nem OcInside-Treffen treffen sollten, dann bring ich dir was schönes mit..


-- Veröffentlicht durch Ratber am 18:24 am 19. Sep. 2003

???

Warum das denn ?

Jedes Schieberegister hat 8 Bit.
Alle Schieberegister sitzen hintereinander (Also 6x für 6 bStellen)
Das Erste kommt mit den 3 Steuerleitungen an den Controller und fertig ist die Hardware.

Jetzt mußte nurnoch die einzelnen Bits richtig setzen und schiebst die 6x8=48 Bit ins Register.
Das ergebnis ist die Uhrzeit oder das Datum.

Das geht so schnell das das Auge davon eh nix mitbekommt.


-- Veröffentlicht durch skater am 16:51 am 19. Sep. 2003

nene... das is vorerst mal nicht nötig... erst mal die schone "alte" elektrinik ohne funk...

gibts für schieberegister auch programmieradapter??


-- Veröffentlicht durch naKruul am 16:02 am 19. Sep. 2003

ewige uhr = DCF77 = Funkuhr


-- Veröffentlicht durch skater am 13:17 am 19. Sep. 2003

ewige uhr??? :noidea: was meinste denn damit??

und noch was: wie komm ich die software in den schieberegister?? :noidea:


-- Veröffentlicht durch Ratber am 0:26 am 19. Sep. 2003

Hä ??

Warum mehrere Controller ?

Viel zu umständlich und Teuer obendrein.

Jede Stelle bekommt nen Schieberegister (7 Segment + Punkt = 8 Bit.Geht also glatt auf) spendiert (zb. 4094.Kostet ca. 25-40 Cent das Stück) und ausser einigen Widerständen und den Anzeigen selbst natürlich biste dann schon fast fertig.

Die den Zahlen entsprechenden Anzeigesegmente richtig zu setzen machste dann per Software.
Genug Zeit zum Umrechnen bleibt da ja allemale.

Wenn de ne Ewige Urh draus machen willst (DCF) dann fehlt nur noch nen Empfänger (Conrad ca. 10 €) und ne Interruptroutine zur abarbeitung des Zeitsignals.

Damit haste dann sachon alles was zum Betrieb nötig ist.


-- Veröffentlicht durch skater am 17:19 am 18. Sep. 2003

@ratber: das geht schon.. man muss die dinger halt "antakten" aber da skommt für mich sowieso nicht in frage...

hier mal nen vorschlag:

ich könnt ja eigendlich auch 2 weiter AVR microcontroller (z.b. Atiny26-16PC [16 pins] oder zwei AT90S1200-12PC [15 pins]) nutzen, um da sganze zu machen... weil da kann ich ja dann was entsprechendes proggen... die dinger kosten ja auch nur 4,50... also wäre ich mit 9 euro+LED anzeigen und IC sockel mit meiner digiuhr fertig....
ich benutze einfach 1 pin als eingang, vo der "hauptcontroller" (den ich ja schon habe) immer jede sekunde nen signal gibt... und oftwaremäßig wäre das ja auch kein prob. da bleibt bloß eine frage: kann ich alle controller mit einem quarzoszillato betreiben, oder bekomme ich dann probs mit leitungslänge oder stromverbrauch??


-- Veröffentlicht durch Ratber am 1:06 am 18. Sep. 2003

@Rantanplan

Wie kommste auf 10 ?

8 plus eine für jede Ziffer.

Wenn man Stunde,Minute undSekunde anzeigen will oder nen Datum dann kommt man nicht unter 6 Ziffern wech.

Das macht dann schon 14 Pinne.

Mit Schieberegister biste unabhängig von den Stellen mit 3 Pinnen bedient.
Schnell genug isses allemale.


@Skater

vieles kannstew dir im Web zusammensuchen.
Such mal unter "Elektroniklergang" und ähnliches.
Zwischen den vielen Büchern findeste auch einige PDF-Dateien.

Maches kann man natürlich nicht nachlesen.
Um die Funktion eines Chips anhand des Datenblattes zu verstehen muß man einfach nur verstehen was die Begriffe und Tabellen im Datenblatt bedeuten.

einfach suchen,dann findeste auch was.


-- Veröffentlicht durch skater am 19:24 am 17. Sep. 2003

jo.. das stimmt... (ich brauch aber 6 anzeigen)... allerdings braucht man 8 pins für eine anzeige, und für jede weitere 1 pin... aber das kann ich nicht realisieren, da ich ja den controller "schlafen" lasse, er kann also in der zeit von x keine befehle ausführen.... somit fällt das weg... (aber gute idee)

ich bräuchte also nen decoder, dem ich nur nen digitales signal geben, oder halt nen schieberegister, dem ich nen analoges signal geben (ich bevorzuge nen schieberegister... die frage ist nur, wie kann ich das anschließen....

(literatur wär net schlecht, bloß welche und woher?)


-- Veröffentlicht durch Rantanplan am 17:32 am 17. Sep. 2003

Wenn du das so machst, brauchst du nur 10 Pins für 3 Anzeigen.


-- Veröffentlicht durch skater am 15:55 am 17. Sep. 2003

und wo gibts passende literatur, und wie heisst die??

noch was: was kostets??


-- Veröffentlicht durch Ratber am 2:49 am 17. Sep. 2003

Nö !

Am Besten du holst dir entsprechende Literatur um es ganz zu lernen denn einfach erklären ist nicht.

Zur Uhr.

Mit 7-Segmentanzeigen biste entweder wieder beim Schieberegister oder bei ner P-led-Anzeige (Is wie ne LCD aber statt Flüssigkristall werden hier LED-Punkte angesteuert womit der Vogel dann selber Leuchtet).


-- Veröffentlicht durch skater am 22:56 am 16. Sep. 2003

ich hab da noch mal ein paar fragen:
was ist ein

Schmitt trigger?
Segmentspeicher + Decoder + treiber??
retriggerbare Präzisionsvibrat??
NOR gatter mit 2 eingängen??
4Bit Volladdierer??
Voreinstellbarere Synchroner ablauf?
8 stufiges schieberegister?
Flipflop??
dezimalzähler mit 10 decodierten ausgängen??
programmierbarer zähler, teiler??

(es handelt sich bei allem um IC's vom Conrad)


-- Veröffentlicht durch skater am 22:24 am 16. Sep. 2003

geht net, weil ich bloß 15 pins zur verfügung hab.. und da könnte ich mit dem 4 to 7 decoder nur 3 anzeigen anschließen.... ich brauch aber 6 ;)

RATBER??? WO BIST DU??? :blubb: :thumb:


-- Veröffentlicht durch Rantanplan am 21:18 am 16. Sep. 2003

Mit Software meinte ich die Software im Controller, also das ganze ohne Schieberegister realisieren.


-- Veröffentlicht durch skater am 15:00 am 16. Sep. 2003

ich will das ganze aber ohne PC betreiben... also muss der AVR das ganze managen...


-- Veröffentlicht durch Rantanplan am 14:31 am 16. Sep. 2003

Kannste doch ganz per Software machen. 7 Pins für die Anzeigen und jeweils einen zum ein und ausschalten jeder einzelnen Anzeige.

Müsste doch hinkommen. Wenn nicht kannste noch nen 4Bit to 7seg decoder zwischenschalten dann brauchste nur 4 Pins für die Daten.


-- Veröffentlicht durch skater am 13:18 am 16. Sep. 2003

:mahlzeit:

mich hat mal wieder ne :idea: ereilt.. (mal wieder nachts) und zwar: digitaluhr bauen....

meine anfänge: erst mal hab ich 2 LED an meinen bereits vorhandenn AVR microcontroller (AT90S2313) gelötet um da sganze mal zu testen... die erste LED blinkt alle sekunde 1 mal... die 2te alle 10 sekunden.. das dient vorerst mal nur zum test über die genauigkeit....

mein vorhaben:
ich will da ne komplette DIGITALUHR draus bauen (keine armbanduhr, kann also ruhig groß werden). ich will da 6 LED anzeigen dranmachen (stunden, minuten, sekunden). da mein AVR microcontroller nur 15 nutzbare bin hat, wird das schwierig, da ich pro LED anzeige ja 7 anschlüsse brauche. deswegen binn ich auf schieberegister gekommen. da sganze soll so funktionieren (bsp an der sekundenanzeige):
der schieberegister bekommt vom AVR ein signal (1 0) und schaltet daraufhin den "pin0" an (die ziffer 0 leuchtet) nach einer sekunde bekommt er das gleiche signal, nun soll er "pin0" ausschalten und "pin1" anschalten (ziffer 1 leuchtet) [....] wen er nun das 10te mal das signal bekommt, soller wieder "pin0" anschalten... gleichzeitig bekommt ein andere IC alle 10 sek nen signal, welcher dann alle 10 sek von 0 auf 1 auf 2 auf 3 .... schlatet (0-9 abgedeckt) dieser soll dann aber schon nach 6 signalen "pin0" wieder einschalten... und so weiter....
an die jeweiligen pins, schalte ich dann die LED anzeige (wenn "pin0" eingeschaltet wird, leuchten alle striche, bis auf den "mittelstrich". gebt mal bei conrad.de "schieberegister" ein, und sagt mir, welche dafür geeignet ist (möglichst günstig)

wie muss ich dass nun anschließen??? THY 4 help!!! :thumb:

P.S. ich hab schon gegoogelt, aber nich passendes gefunden....


(Geändert von skater um 18:41 am Sep. 16, 2003)


OCinside.de PC Forum
© 2001 - 2024 www.ocinside.de