Forum: Mikrocontroller und Digitale Elektronik Reicht ein ATmega8 um das alles anzusteuern?


von Kimberly Wyss (Gast)


Lesenswert?

Hallo ich will einen Kalender entwickeln der das Datum mit 
aufleuchtenden LEDs anzeigen soll. Das Jahr soll mit 4 7 Segment 
Anzeigen angegeben werden.
Für den Monat wird eine 2x6 LED Matrix angesteuert
Für die einzelnen Tage eine 7x5 Matrix.

Reicht 1 Microcontroller dafür? Ich habe mir überlegt mit 
Schieberegistern zu arbeiten.

Ich danke euch im voraus für eure Hilfe!

von Kai S. (hugstuart)


Lesenswert?

Kimberly Wyss schrieb:
> Hallo ich will einen Kalender entwickeln der das Datum mit
> aufleuchtenden LEDs anzeigen soll. Das Jahr soll mit 4 7 Segment
> Anzeigen angegeben werden.
> Für den Monat wird eine 2x6 LED Matrix angesteuert
> Für die einzelnen Tage eine 7x5 Matrix.
>
> Reicht 1 Microcontroller dafür? Ich habe mir überlegt mit
> Schieberegistern zu arbeiten.
>
> Ich danke euch im voraus für eure Hilfe!

Reicht locker!

von Oliver (Gast)


Lesenswert?

Nimm irgend einen für Hobbyisten gut erhältlichen AVR oder PIC, so was 
reicht locker aus.

Oliver

von Klaus Dieter (Gast)


Lesenswert?

Kimberly Wyss schrieb im Beitrag #3815859:
> Und wie mach ich das?

Am besten richtig!

von Olaf B. (omb)


Lesenswert?

Mit Schieberegistern und ggf. Transistoren zur Ansteuerung der LEDs (+ 
Vorwiderstand):
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Kimberly Wyss schrieb im Beitrag #3815859:
> Und wie mach ich das?

Hast du doch schon geschrieben, mit Schieberegistern beispielsweise.

von Dennis S. (eltio)


Lesenswert?

Kimberly Wyss schrieb im Beitrag #3815859:
> Kai S. schrieb:
>
>> Reicht locker!
>
> Sehr gut!
> Und wie mach ich das?

YMMD.

von Kai S. (hugstuart)


Lesenswert?

Ich würd's mit Schieberegistern machen. Da hättest du auch viel 
Optimierungspotential. So ein Datum ändert sich ja nur einmal am Tag, 
und die SR halten den Zustand ja. Der Prozessor könnte solange schlafen. 
Würde aber noch was kleineres nehmen als einen Atmega8.

von Joachim B. (jar)


Lesenswert?

arduino nano rtc mit DS3231 ledstripes mit WS2811/2812(b)

Die LED Stripes kannst duc schneiden wie du magst, brauchen nur 3 Drähte 
(VCC DATA GND) LIBs sind fertig, für Stripe, RTC, das ganze Board durch 
Quarz und Schnittstelle, was ich noch zusteuern könnte Code für einen 
ewigen Kalender incl. Feiertagsberechnung, auch verschiebbare Ostern, 
Pfingsten, MEZ/MESZ Umschaltung.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Kai S. schrieb:
> Ich habe mir überlegt mit Schieberegistern zu arbeiten.

Es gibt auch LED-Treiber, die logisch gesehen Schieberegister sind,
beispielsweise von Allegro.

Wenn du sowas benutzt, kannst du schon fast mit einem 8-Pin-Controller
arbeiten. ;-)

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Kimberly Wyss schrieb:
> Hallo ich will einen Kalender entwickeln der das Datum mit
> aufleuchtenden LEDs anzeigen soll.

Erst hörte es sich so an, als wenn du einen Kalender entwickeln 
wolltest.

Jetzt hört es sich so an, als wenn wir dir erzählen sollen, wie ein 
Kalender entwickelt wird.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Die Antworten weiter unten stammen nicht vom OP.

Sehr lustig :-|

Derjenige weiss schon, wer gemeint ist.

von Thomas E. (thomase)


Lesenswert?

Jörg Wunsch schrieb:
> Wenn du sowas benutzt, kannst du schon fast mit einem 8-Pin-Controller
> arbeiten. ;-)

Passt genau. 3 Pins für die Schieberegister, 2 Taster zum Einstellen, 
Reset, GND, Vcc. Macht 8 Pins. Attiny25/45/85.

mfg.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
>> Wenn du sowas benutzt, kannst du schon fast mit einem 8-Pin-Controller
>> arbeiten. ;-)
>
> Passt genau.

Allerdings ist es erfahrungsgemäß nicht wirklich nett, wenn man
die Programmier-Pins in der Schaltung auch als Datenpins nutzen muss.

Für eine Fertigung in großen Stückzahlen würde ich sowas in Erwägung
ziehen, für ein einzelnes Bastlerprojekt ist der Schritt zum
nächstgrößeren Controller mit paar Pins mehr (hier also beispielsweise 
ATmega24/44/84) nicht der Rede wert; die zwei, drei Euro Mehrpreis gehen
sowieso im Rauschen unter.

von Thomas E. (thomase)


Lesenswert?

Jörg Wunsch schrieb:
> Allerdings ist es erfahrungsgemäß nicht wirklich nett, wenn man
> die Programmier-Pins in der Schaltung auch als Datenpins nutzen muss.
Warum?
Der Latch-Up für die Schieberegister muss ja nicht auf einer der 3 
ISP-Leitungen liegen. Dann schiebt man zwar immer noch wirres Zeug in 
die SRs aber ohne Latch-Up geht davon nichts nach draussen und muxt im 
LED-Murx rum. Die Taste, die auf MISO liegt, darf man während der 
Programmierung natürlich nicht betätigen. Aber das ist es eigentlich 
nicht wert, überhaüpt erwähnt zu werden.

mfg.

: Bearbeitet durch User
von Kimberly Wyss (Gast)


Lesenswert?

Danke für die schnellen Antworten!
Ich frage mich aber noch wie ich die 4 7 Segment( bzw. BCD to 7 Segment) 
anzeigen mit 1 Schieberegister ansteuern soll?
Und ist es möglich das ganze mit einer Knopfzellen Batterie zu speisen? 
Ich finde im Netz nur Knopfzellen bis zu 3 V

von Myxo M. (myxom)


Lesenswert?

Kimberly Wyss schrieb:
> Ich finde im Netz nur Knopfzellen bis zu 3 V

3V Spply -> ATmega8L

von Paul Baumann (Gast)


Lesenswert?

Kimberly fragte:
>Und ist es möglich das ganze mit einer Knopfzellen Batterie zu speisen?
Bei dem ganzen Zeug, was Du im 1. Beitrag leuchten lassen willst, wirst
Du sicher ein Netzteil bauen müssen. Erst mal wegen der Spannung und 
dann
wegen der geringen Kapazität einer Knopfzelle. Damit machst Du Dich
mürbe.

MfG Paul

von J. T. (chaoskind)


Lesenswert?

Du schließt die Ausgänge der Schieberegister an die Eingänge der 
BCD-Decoder.
Der sollte vier Eingänge haben, sprich du kannst mit einem 
8bit-Schieberegister 2 BCD-Decoder ansteuern.


Du bist nicht zufällig der Azubi im 4ten Lehrjahr, der ne Datumsanzeige 
mit Anzeige der vergangen Tage seit dem letzten Arbeitsunfall basteln 
soll?

von Kimberly Wyss (Gast)


Lesenswert?

2 BCD pro Schieberegister habe ich mir auch überlegt, wollte wissen ob 
das vielleicht auch nur mit einem geht alle 4 anzusteuern.

Und nein bin ich nicht haha ich bin an der Wirtschaftsmittelschule (in 
der Schweiz) und wir müssen eine kleine Unternehmung gründen die ein 
Produkt entwickelt und verkauft. Da ich zwei Jahre eine Lehre als 
Elektronikerin gemacht habe wollte ich die Entwicklung für den 
Prototypen übernehmen :-)

von Kimberly Wyss (Gast)


Lesenswert?

Paul Baumann schrieb:
> Bei dem ganzen Zeug, was Du im 1. Beitrag leuchten lassen willst, wirst
> Du sicher ein Netzteil bauen müssen.

Es werden pro Datum ja nur 2 LEDs aufleuchten, plus die 4 7-Segment 
Anzeigen. Gibt es keine andere Möglichkeit als ein Netzteil?

von J. T. (chaoskind)


Lesenswert?

Mit nem 16bit Schieberegister könntest du alle 4 ansteuern... Dann 
solltest du noch wissen, wie du die Daten in das Schieberegister 
reinbekommst, sammelst dir die nötigen Bauteile zusammen, und kannst 
loslegen =)

Und falls du noch Fragen hast, frag.

P.S. ein Akku wäre eine Möglichkeit aufs Netzteil zu verzichten

Wurde schon was zur "Wunschspannung" gesagt?

: Bearbeitet durch User
von jz (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> die zwei, drei Euro Mehrpreis

Wo kaufst du denn deine µCs? Sogar bei Conrad beträgt der Unterschied 
weniger als einen Euro...

Kimberly Wyss schrieb:
> Ich finde im Netz nur Knopfzellen bis zu 3 V

a) Der µC und die Schieberegister laufen auch bei 3V. Die LEDs auch, 
außer du nimmst weiße oder UV.
b) Du musst 17 + 1 + 1 LEDs ansteuern. Meinst du deine Knopfzelle hält 
da länger als eine Stunde bei 20mA pro LED? Und selbst bei 1mA ist es 
gerade mal ein Tag...

Nimm ein Netzteil oder ein LCD...

von Kimberly Wyss (Gast)


Lesenswert?

Das es 16bit Schieberegister gibt wusste ich gar nicht, haben wir nie 
damit gearbeitet ist aber eigentlich logisch.
Ich nehme an ich muss erst das High-Byte und dann das Low-Byte ins 
Schieberegister einlesen?
Ich komme ich verlauf des Projektes sicher wieder für Fragen zurück :-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Kimberly Wyss schrieb:
> mit 1 Schieberegister ansteuern soll?

Die Dinger schieben ihre Bits hinten auch wieder raus, und genau da
kann man bei Bedarf ein weiteres dranhängen.

jz schrieb:
>> die zwei, drei Euro Mehrpreis
>
> Wo kaufst du denn deine µCs? Sogar bei Conrad beträgt der Unterschied
> weniger als einen Euro...

Ich hatte da nicht erst nachgeguckt, sondern (hoch) geschätzt.

von Thomas E. (thomase)


Lesenswert?

Jörg Wunsch schrieb:
> Ich hatte da nicht erst nachgeguckt, sondern (hoch) geschätzt.

Ich dachte, du meintest 2-3€ pro Stange. Weil du doch immer so viele 
verbrätst. Und die Nachbarn denken, du spielst schon wieder Papstwahl.

mfg.

: Bearbeitet durch User
von J. T. (chaoskind)


Lesenswert?

Kimberly Wyss schrieb:
> Ich nehme an ich muss erst das High-Byte und dann das Low-Byte ins
> Schieberegister einlesen?

Das findest du dann im entsprechenden Datenblatt ;-), aber prinzipiell 
sollte das so oder so ähnlich schon klappen.

Jörg Wunsch schrieb:
> Die Dinger schieben ihre Bits hinten auch wieder raus, und genau da
> kann man bei Bedarf ein weiteres dranhängen.

Aber vermutlich wirds günstiger, wenn du es so machst wie Jörg 
vorschlägt. Ich glaub 16bitSchieber sind ziemliche Exoten und vermutlich 
teuer. Ich selbst hab sowas zumindest auch noch  nicht in den Händen 
gehalten. Aber da hilft sicher auch Tante Gurgel weiter.

Zumindest ein Datenblatt spuckt sie aus 
http://pdf.datasheetcatalog.net/datasheet/nationalsemiconductor/DS009587.PDF

MfG Chaos

: Bearbeitet durch User
von Kimberly Wyss (Gast)


Lesenswert?

Bin gerade auf der Suche nach 16bit Schieberegistern, finde echt nix.
Ihr meint also ich soll einfach 2 8bit Schieberegister aneinander 
Koppeln?

von Thomas E. (thomase)


Lesenswert?

Kimberly Wyss schrieb:
> Bin gerade auf der Suche nach 16bit Schieberegistern, finde echt
> nix.
> Ihr meint also ich soll einfach 2 8bit Schieberegister aneinander
> Koppeln?

Für deinen Kram brauchst du insgesamt 6 8-Bit Schieberegister. Wenn du 
das so machst, wie ich dir das weiter oben vorgeschlagen habe.

Schieberegister kaskadieren ist eine der normalsten Sachen der Welt. Ob 
das nun 3x16 Bit oder 6x8 Bit sind, ist bis auf den Umstand, dass es die 
8-Bitter an jeder Ecke zu kaufen gibt und die 16-Bitter nur ein Gerücht 
sind, egal.

mfg.

von D190979V (Gast)


Lesenswert?

Hallo,
bei der ganzen Theorie sind vielleicht folgende Bauteile von Interesse:
- Schieberegister 74hc595
- die reichen aber nicht für 20mA,
ggf. durch darlinton Arrays uln2804
stützen, oder vorwiderstand erhöhen
- widerstandsnetzwerke einsetzen,
vorzugsweise sternschaltung z.B. 2x 5/4 pro Register, spart einen Haufen 
Arbeit.
- ein 8 pinner bei einer Uhr muss aber sauber kalibriert werden oder
besser noch mit Quarz laufen, dann
bleiben aber nur 3 pinne übrig, d.h. wahrscheinlich mehrfachbelegung und 
gutes Timing um die Taster anzuschließen
- bei der Anwendung würde ich entweder auf eine einzelne 18650er
oder einen mignonbatteriehalter gehen


Gruß dominik

von J. T. (chaoskind)


Lesenswert?

Wobei 5 Schieberegister reichen. Für die 2*6 Matrix brauchst du nur eins 
und nimmst 2 Pins vom Controller für die *2 Seite.

Ich vermute, es soll am 9.2. in der 2*6 Matrix die 2te LED leuchten, und 
in der 5*7 die 9te? Dann könntest du doch mit 6 Schiebern arbeiten, 
nimmst 4 für die Tage, schließt die LED1-31 an die Ausgänge 0-30(1-31) 
und könntest den letzten Ausgang auf den Eingang des ersten legen. Wobei 
man dann jeden 2ten Monat einen Tag überspringen müsste... Vermutlich 
ist die Matrix doch die bessere Lösung..

: Bearbeitet durch User
von Thomas E. (thomase)


Lesenswert?

D190979V schrieb:
> - Schieberegister 74hc595
> - die reichen aber nicht für 20mA,
Maximum für Qn ist 35mA. Für VCC/GND 70mA.

D.h. bei einem 7-Seg dürfen 10mA pro Ausgang fliessen, damit bei einer 
"8" die 70mA nicht überschritten werden. Das reicht aber für normale 
rote Displays völlig aus. 20mm-LEDs dimme ich dann immer noch ab, weil 
sie mir bei normalem Raumlicht zu hell sind. Klar, wenn die Sonne 
draufscheint sieht man nichts. Aber bei 20mA auch nicht.

Nur multiplexen kann man damit vergessen. Muss man aber auch nicht. 
Jedes 7-Seg kriegt ein Schieberegister.

Aber bei den einzelnen LEDs ist es ja kein richtiges Multiplexen, wo 
alle leuchten können müssen und die LED-Gruppen rundherum geschaltet 
werden, sondern es leuchtet nur eine. Die kann dann statisch betrieben 
werden.

2 x 6 Matrix und 5 x 7 ist allerdings nicht optimal.
3 x 4 spart eine Leitung gegenüber 2 x 6. 5 x 7 = 35 ist 
überdimensioniert. Für 31 Tage reichen auch 8 x 4 = 32.

Das sind zwar genauso 12 Leitungen, aber fasst man die beiden zusammen 
kommt man auf 11 x 4. Das sind 15 Leitungen für alle.

Also 2 595er. Damit bekommt man auch 2 LEDs im Mux vernünftig zum 
Leuchten.
Man muss ja nur zwischen 2 LEDs pendeln.
Immer vorausgesetzt, dass nur jeweils eine LED für Tag und Monat 
leuchten sollen und nicht "aufgefüllt" werden soll.

Plus 4 595er für die 7-Segs macht dann 6 Schieberegister.

Da die Dezimalpunkte nicht benutzt werden müssen, könnte man von den 4 
595ern noch 4 Ausgänge für die LEDs nehmen.3 LED-Leitungen an den 
Controller und es reichen 5 Schieberegister.

Würde ich aber nicht machen. Man verbaut sich damit das Gimmick, die 
Uhrzeit auf dem Display anzeigen zu können. Dafür ist der Dezimalpunkt 
auf dem zweiten Element von links dann als Stunden-/Minuten-Trenner gut 
zu gebrauchen. Alles andere sieht nicht nach Uhr aus.

Und ich möchte wetten, das ist dann auch das nächste. 3s Uhrzeit, 3s 
Datum oder so ähnlich.

Thomas Eckmann schrieb:
> Wenn du
> das so machst, wie ich dir das weiter oben vorgeschlagen habe.
Hatte ich gar nicht gemacht. Wollte ich, aber dann kam was dazwischen. 
Also jetzt.

mfg.

: Bearbeitet durch User
von Stiller Mitleser (Gast)


Lesenswert?

Wenn deine Schaltung nicht unbedingt ihren 86. Geburtstag überleben 
muss, wäre zu überlegen, ob man die 2 und die 0 vom Jahr nicht hart 
verdrahtet...

von Thomas E. (thomase)


Lesenswert?

Stiller Mitleser schrieb:
> Wenn deine Schaltung nicht unbedingt ihren 86. Geburtstag überleben
> muss, wäre zu überlegen, ob man die 2 und die 0 vom Jahr nicht hart
> verdrahtet...

LOL

Ja, da hätte man auch früher drauf kommen können. Aber dann fällt das 
Uhrengimmick weg.

mfg.

: Bearbeitet durch User
von J. T. (chaoskind)


Lesenswert?

Und dann lebt sie doch solange, und erlebt ihr ganz persönliches 
y2k1-Problem :D

von Thomas E. (thomase)


Lesenswert?

j. t. schrieb:
> Und dann lebt sie doch solange, und erlebt ihr ganz persönliches
> y2k1-Problem :D

Und wenn Archäologen die in 3000 Jahren ausbuddeln, halten die uns für 
totale Idioten. Doch nicht so eine gute Idee.

mfg.

von Bernhard F. (bernhard_fr)


Lesenswert?

j. t. schrieb:
> Und dann lebt sie doch solange, und erlebt ihr ganz persönliches
> y2k1-Problem :D

Meinst du nicht, dass man sich dann über die nächsten 100 Jahre durch 
den gezielten Einsatz eines Seitenschneiders retten kann?
 _
| |
| |
 ¯
knips
knips
knips
knips

  |
  |

von D190979V (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> D190979V schrieb:
>> - Schieberegister 74hc595
>> - die reichen aber nicht für 20mA,
> Maximum für Qn ist 35mA. Für VCC/GND 70mA.
>
> D.h. bei einem 7-Seg dürfen 10mA pro Ausgang fliessen, damit bei einer
> "8" die 70mA nicht überschritten werden. Das reicht aber für normale
> rote Displays völlig aus. 20mm-LEDs dimme ich dann immer noch ab, weil
> sie mir bei normalem Raumlicht zu hell sind. Klar, wenn die Sonne
> draufscheint sieht man nichts. Aber bei 20mA auch nicht.

Auch die 70mA würde ich im Zweifel nicht ausreizen, die stehen 
schließlich im Abschnitt "Absolute Maximum Ratings", ich persönlich 
bleibe meist um die 60mA z.B. für Bargraphs, mir reicht die Helligkeit 
dann auch völlig aus.
Ich habe jetzt auch garnicht gesehen welche 7-Segment zum Einsatz kommen 
soll,
die Jumbo Anzeigen brauchen z.B. deutlich mehr und teilweise auch mehr 
Spannung, beides kann man gut mit dem vorgeschlagen Darlington-Array 
erledigen.
Wollte auch nur drauf hingewiesen haben, dass diese Einschränkung zu 
beachten ist.

Stiller Mitleser schrieb:
> Wenn deine Schaltung nicht unbedingt ihren 86. Geburtstag überleben
> muss, wäre zu überlegen, ob man die 2 und die 0 vom Jahr nicht hart
> verdrahtet...

Bernhard F. schrieb:
> j. t. schrieb:
>> Und dann lebt sie doch solange, und erlebt ihr ganz persönliches
>> y2k1-Problem :D
>
> Meinst du nicht, dass man sich dann über die nächsten 100 Jahre durch
> den gezielten Einsatz eines Seitenschneiders retten kann?
>  _
> | |
> | |
>  ¯
> knips
> knips
> knips
> knips
>
>   |
>   |

LOL

Gruß Dominik

von J. T. (chaoskind)


Lesenswert?

Bernhard F. schrieb:
> Meinst du nicht, dass man sich dann über die nächsten 100 Jahre durch
> den gezielten Einsatz eines Seitenschneiders retten kann?
>  _
> | |
> | |
>  ¯
> knips
> knips
> knips
> knips
>
>   |
>   |

:D und nach den weiteren nächsten 100Jahren muss man dann knipsen und 
löten, um aus der eins ne zwei zu machen

von D190979V (Gast)


Lesenswert?

na, ich will ja kein Spielverderber sein, aber da wir dann über den 186. 
Geburtstag des Projektes hinweggehen sollte man vielleicht die erste 
Seite des Datenblattes für den atmega/attiny beherzigen. da steht 
irgendwas von "Data retention" meine ich ;-)

von Kimberly Wyss (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> 2 x 6 Matrix und 5 x 7 ist allerdings nicht optimal.
> 3 x 4 spart eine Leitung gegenüber 2 x 6. 5 x 7 = 35 ist
> überdimensioniert. Für 31 Tage reichen auch 8 x 4 = 32.

Die Matrix wurde so gewählt das es auf dem Kalender einigermassen gut 
aussieht und da fanden wir 2 Zeilen für die Monate sind besser als 3.

Thomas Eckmann schrieb:
> Und ich möchte wetten, das ist dann auch das nächste. 3s Uhrzeit, 3s
> Datum oder so ähnlich.

Ich dachte mir, dass es die Zeit beim verdunkeln eines Photowiederstands 
anzeigen soll. So wird in der nacht z.B auch die Zeit angezeigt, was 
noch praktisch sein könnte kp...
Auch sollen die LEDs dann runter gedimmt werden.

Danke für die Vorschläge für Bauteile, werde sie mir mal ansehen :-)

von uwe (Gast)


Lesenswert?


von uwe (Gast)


Lesenswert?


von J. T. (chaoskind)


Lesenswert?

Kimberly Wyss schrieb:
> Die Matrix wurde so gewählt das es auf dem Kalender einigermassen gut
> aussieht und da fanden wir 2 Zeilen für die Monate sind besser als 3.

Ihr konnt eure Matrix ja physisch und elektrisch unterschiedlich 
aufbauen. So spricht ja nichts dagegen, die als 3*4 zu verschalten, und 
dann nimmt man halt 1,5 der drei Viererreihen nach oben, und 1,5 nach 
unten. Schon hast du optisch 2*6 aber elektrisch 3*4 ;-)

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
Noch kein Account? Hier anmelden.