Arduino Mega, Einstellbare Zeitanzeige (über 7-Segmentanzeige) für Vorträge u. Ä.

OP #4683368
Lesenswert?

Hi,
ich bräuchte bitte eure Hilfe bei meiner „Mikrocontroller Aufgabe“.
Ich besuche eine weiterführende Schule. Dort haben wir vor den Ferien 
mit dem Fach Mikrocontroller begonnen. Ich bin noch nicht mit dem System 
vertraut, also Arduino-Anfänger. Nun habe ich die Aufgabe erhalten, ein 
Software-Programm zu erstellen, mir fehlt jedoch der Lösungsansatz.
Kann mir jemand weiterhelfen?

Materialien:
Arduino Mega 2560 und 4* 7-Segmentanzeige 
(https://www.conrad.de/de/7-segment-anzeige-rot-57-mm-82-v-4-v-ziffernanzahl-1-kingbright-sa23-12ewa-160059.html)

Ziel:
Einstellbare Zeitanzeige (über 7-Segmentanzeige) für Vorträge u. Ä.

Aufgabenstellung:
Es soll per jeweiligen Tastendruck  eine 7-Segmentanzeige einzeln von 
0-9 hochzählbar sein, sodass wenn ich z. B. fünf, sechs, sieben Mal den 
Taster betätige, mir dann die fünf, sechs, sieben angezeigt wird usw. 
Sobald die 4 Zeiten/Zahlen eingestellt sind, soll über eine Bestätigung 
(am besten über einen fünften Taster) die Zeit beginnen 
herunterzuzählen!

Beispielhafte Darstellung:
erste Anzeige  2.
zweite Anzeige  2.
dritte Anzeige  3.
vierte Anzeige  0.
= 22 Min. und 30 Sek.
Durch Bestätigung läuft dann die Zeit von 22.30 Min. herab.

Für die bessere optische Darstellung sollen drei LEDs verwendet werden:
Wenn die Zeit sich noch im normalen Vortragsrahmen befindet, leuchtet 
eine LED z. B. Grün, wenn die Zeit kurz vor Vortragsende ist, leuchtet 
sie Gelb und bei Zeitüberschreitung Rot.

Abschließend noch eine Frage zur Hardware:
Benötige ich zwischen Arduino Mega und den 7-Segmentanzeigen zusätzlich 
einen „IC“ (beispielsweise) oder reicht es aus, nur die benötigten 
Widerstände dazwischenzuschalten.

Für eure Unterstützung sag ich schon mal Danke!
Gast #4683406
Lesenswert?

Zähl doch mal die Anzahl der Pins deines Arduino und die der Anzeige, 
das wird recht eng... Mit einem 7 Segment Treiber lässt sich da schon 
einiges an Kabel und programmieraufwand einsparen.

Allerdings solltest du für so eine leichte! Aufgabe keine Hilfe von 
außen brauchen, es sei denn du bist nicht willens Eigeninitiative zu 
zeigen. Solche aufbauten existieren zu tausenden im Netz und ich wette 
du bist nicht der erste der hier nach Hilfe zu Software fragt.

Man lernt halt nur durch Selbermachen...
Gast #4683408
Lesenswert?

7segmente schrieb:
> Zähl doch mal die Anzahl der Pins deines Arduino und die der
> Anzeige, das wird recht eng... Mit einem 7 Segment Treiber lässt sich da
> schon einiges an Kabel und programmieraufwand einsparen.
> Allerdings solltest du für so eine leichte! Aufgabe keine Hilfe von
> außen brauchen, es sei denn du bist nicht willens Eigeninitiative zu
> zeigen. Solche aufbauten existieren zu tausenden im Netz und ich wette
> du bist nicht der erste der hier nach Hilfe zu Software fragt.
> Man lernt halt nur durch Selbermachen...

Software = soetwas
Gast #4683712
Lesenswert?

Der 2560 langweilt sich damit doch zu tote! :-D Bissle Overkill - aber 
nun ja...

Schau mal im Netz zu MAX7219 etc... das ist der richtige Controller für 
deine 7-Seg Anzeigen, da reicht dir einer davon, der kann 8 Stellen 
ansteueren (vielleicht sogar mit den 8x8 Seg?! Sieht geiler aus!) - 3 
Pin. Für die Tasten (Jede Ziffer einzeln oder nur die Minuten up/down?) 
ein Taster für Start / Reset (Push = Start und Push-Hold = Reset), sind 
wir nochmal bei 2-6 Pin. Die drei Status LEDs, nochmal 3 Pins. Also so 
im groben ca. 8 Pins plus eventuell 4 zusätzlich für die anderen Zahlen.

- 1x kleiner Ardunio mit 12 I/Os = 5€
- 1x MAX7219 = ~5€
- 4x 7Seg Anzeigen = ~12€
- Hühnerfutter = ~5€

Code:
- Sekunden Timer
- Pin-Change Interrupt
- I2C Kommunikation (für den MAX7219)

Wenn man sehr sehr sehr verschwenderisch ist und die I2C per Software 
macht: ~2KB Code.


Fertig ist die Laube.
Gast #4684098
Lesenswert?

@7segmente:
Es ist schön wenn es für dich einfach ist für mich sind beide Sachen 
Neuland.
Aber so viel habe ich schon berücksichtigt, dass es mir an den Pins 
nicht scheitern sollte.

@Mw En:
Es soll nur der Referent sehen können und da gewünscht wurde, dass auch 
das Verhältnis der Anzeige zum notwenigen Behältnis passen soll wurde 
auf die einzelnen 7-Segmentanzeigen zurückgegriffen. Da die anderen 
Standard Anzeigeblöcke zu klein waren.
Leider ist deine Variante zu groß und kein Countdown Zähler.



@Hubert G., Draco:
Danke für die Info mit den Treiber. Das heißt ich brauche auch noch 
zwingend dieses Bauteil bzw. wenn ich genügend Pins habe kann ich diesen 
Treiber auch weg lassen?
Gast #4684122
Lesenswert?

Einen Treiber brauchst du in jedem Fall da die von dir verlinkten 
Anzeigen eine Spannung von 8,2V (4V für den Punkt) benötigen, das geht 
nicht ohne Treiber.

Ob ein Max7219 damit klar kommt bin ich mir auch nicht sicher, hab mich 
mit dem noch nicht eingehend beschäftigt.
#4684156
Lesenswert?

Flo85 schrieb:
> Ob ein Max7219 damit klar kommt bin ich mir auch nicht sicher, hab mich
> mit dem noch nicht eingehend beschäftigt.

Der 7219 kann das vom TO gewählte Display nicht direkt ansteuern.
Zum einen wegen der Spannung die das Display benötigt, zum anderen ist 
er für Common Kathode Displays ausgelegt.

Das Display gibt es bei Reichelt etwas preiswerter als bei Conrad.

http://www.reichelt.de/Siebensegment-Anzeigen/SA-23-12-RT/3/index.html?&ACTION=3&LA=2&ARTICLE=31577&GROUPID=3002&artnr=SA+23-12+RT

Ich würde für die Ansteuerung Schieberegister nehmen und als Treiber 
ULN2003 o.ä. Alternativ gibt es auch Schieberegister die das Display 
direkt ansteuern können > TPIC6B....(genauen Typ habe ich jetzt nicht im 
Kopf)
OP #4687765
Lesenswert?

Hi,
 so habe jetzt erstmal zeit gebraucht um die Infos zu bearbeiten.

@Hubert G, holger,
Flo85


Danke für die Antwort, gut dann muss es mit Treiber sein, da ich die 
Spannung nicht konstant von Netz/Akku herbekomme.

@Draco,Flo85
//Ob ein Max7219 damit klar kommt bin ich mir auch nicht sicher, hab 
mich
//mit dem noch nicht eingehend beschäftigt.
Danke für die Info mit dem Max.. das Datenblatt ist sehr übersichtlich 
aber wohl doch nicht geeignet wie Jörg R. meint.
Ja es sollen alle Anzeigen separat mit einem Taster realisiert werden 
und mit einem weiteren bestätigt und dann der Timer ablaufen (so 
ungefähr wie ein Wecker).

@Jörg R.:
// Das Display gibt es bei Reichelt* etwas preiswerter als bei Conrad*.
Die Anzeigen sind schon fürs erste schon im Haus.
 Außer es gibt noch eine
andere Wahl mit der ich eine große Anzeige mit VIER Zahlen Realisieren 
kann mit passenden Verdrahtungs- und Softwareaufwand, dann wäre ich auch 
offen dafür!


// o.ä. Alternativ gibt es auch Schieberegister die das Display
direkt ansteuern können > TPIC6B....

Sonst habe ich mir diese Variante angeschaut,
>>www.reichelt.de/ICs-TLC-TSA-/TPIC-6B595-N/3/index.html?ACTION=3&GROUPI 
D=5480&ARTICLE=147328
>>http://cdn-reichelt.de/documents/datenblatt/A200/TPIC_6B595_DB.pdf
>>http://pdf1.alldatasheet.com/datasheet-pdf/view/55170/ALLEGRO/6B595.html

1. wobei ich nicht genau weiß wie ich die  anderen Anschlüssen eines 
(Außer OUT 0-7) TPIC6B595 Verdrahten/an klemmen muss!
2. wie/wo müsste ich dort meine Taster Verdrahten, dass sie mir auch 
jeweils beim drücken um eins hochzählen??
3. Müsste ich diesen TPIC Software mäßig auch noch berücksichtigen?

Über weitere Hilfe bin ich dankbar! vg schönen Abend noch

Um weitere
Gast #4688412
Lesenswert?

Irgend einen Treiber braucht er also, der TPIC ist nur eine Möglichkeit 
die eben auch dafür sorgt das man nur wenige Pins braucht, egal wieviele 
Anzeigen man ansteuern will. Ein ULN2803, von mir aus direkt mit 32 PINs 
aus dem µC angesteuert, wäre eine andere.
#4688414
Lesenswert?

Flo85 schrieb:
> Eine LED Anzeige die
> 8,2V braucht kann man nicht direkt mit einen µC ansteuern.

Kann man schon. Der MC muß ja nur die Spannungsdifferenz von hell nach 
dunkel schaffen.
Ich hab z.B. ne Jumbo-LED Anzeige direkt vom AVR treiben lassen (mit 
Vorwiderständen) und die Anoden an +11V gelegt. In die Dezimalpunkte 
mußte ich allerdings noch ne Z-Diode 3,9V legen.

Z.B. ein ATmega162 könnte alle 28 Segmente treiben und hat dann noch 7 
IOs für anderes übrig.
#4688590
Lesenswert?

Flo85 schrieb:
> Biite lies doch mal den Thread bevor du postest! Eine LED Anzeige die
> 8,2V braucht kann man nicht direkt mit einen µC ansteuern.

Ja, du solltest lesen, denn dann wüsstest du das ich schon anfangs einen 
ULN2803 als Treiber empfohlen hatte. Ich sehe bei dem Übermaß an I/O 
keinen Sinn ein Schieberegister einzusetzen.

28 Segmente direkt vom µC anzusteuern ist doch etwas kritisch. Wenn alle 
Segmente gleichzeitig leuchten, wären das 560mA. Das wären doch etwas 
mehr als die im Datenblatt vorgegebenen 200mA nach GND.
#4688630
Lesenswert?

Dominik W. schrieb:
> eiswerter als bei Conrad*.
> Die Anzeigen sind schon fürs erste schon im Haus.
>  Außer es gibt noch eine
> andere Wahl mit der ich eine große Anzeige mit VIER Zahlen Realisieren
> kann mit passenden Verdrahtungs- und Softwareaufwand, dann wäre ich auch
> offen dafür!

Die Anzeigen gibt es auch in 100 mm. Eine weitere Möglichkeit ist selber 
bauen. 8 oder 10 mm Leds und Du baust die Anzeige so groß wie Du willst. 
Mit Duo oder RGB-Leds kannst Du mit den Segmenten verschiedene Modi 
darstellen.
Segmente aus Teilstücken von Led-Bändern ginge auch. Bänder mit WS2812B 
bieten Möglichkeiten mit geringen Verdrahtungsaufwand, bei 5 Volt 
Betriebsspannung. Usw. usw.....

> 1. wobei ich nicht genau weiß wie ich die  anderen Anschlüssen eines
> (Außer OUT 0-7) TPIC6B595 Verdrahten/an klemmen muss!

> 2. wie/wo müsste ich dort meine Taster Verdrahten, dass sie mir auch
> jeweils beim drücken um eins hochzählen??
Die Taster kommen an freie Pins, den Rest macht die Software.

> 3. Müsste ich diesen TPIC Software mäßig auch noch berücksichtigen?
Ja!

Du musst Dich schon damit beschäftigen? Das ist Deine Hausaufgabe.
Dir wird niemand einen Schaltplan und den Code für Dein Board liefern.
Gerade im Arduino-Umfeld gibt es unzählige Hilfe im Netz. Du bekommst 
hier Anregungen und Hilfestellung...aber Du musst schon aktiv werden und 
Eigeninitative einbringen?
#4688696
Lesenswert?

Draco schrieb:
> Hä? Erklär mal bitte. Kann mir das grad nicht vorstellen. Du hast da ja
> sicherlich nen Transistor als Treiber gehabt oder?

Liefert der AVR high, liegen an dem Digit nur 6V und damit ist es 
dunkel.
Ich betreibe die Anzeigen auch nur mit ~6mA Segmentstrom. Damit werden 
die 200mA nicht überschritten und ich finde es trotzdem hell genug. Das 
Auge nimmt ja Helligkeit logarithmisch war.
Beim ATmega162 im TQFP sind sogar max 400mA erlaubt.
Treibertransistoren brauche ich nicht.
Gast #4689300
Lesenswert?

Für die Anzeigen reichen auch 5 mA oder so aus, wenn es nicht gerade in 
der prallen Sonne ist. Ich habe es so ähnlich schon mal mit ICL710x 
gemacht: auch da IC mit 5 V versorgt und LEDs an höhere Spannung und 
etwa 8 mA je Segment (Vom IC vorgegeben).

Wenn man mehr Helligkeit braucht oder einem die extra Spannung 
unheimlich ist, kann man Treiber wie die ULN2003 nutzen. Da hätte man 
dann ggf. auch die Möglichkeit die Anzeuge zu multiplexen, so dass man 
mit weniger (etwa 12) IO Pins auskommt.
OP #4696170
Lesenswert?

Guten Abend,
danke an alle netten Helfer für die Unterstützung.
Dann wird wohl der ULN2803 herhalten müssen.:)

oder Alternativ
 habe ich sogar gesehen das ich für meine
mobile Funktion auch den Power Bank nehmen kann,
da ich mir dort meine beiden Spannungen abgreifen kann.

http://rs-online-privat.de/Products/ProductDetail/7d741b78-a3cc-4fd1-b1ee-30fc4b48cab2

Für µC mit USB 5V
und
für die Anzeigen direkt Ansteuerung auch
mit Multiplexing über den anderen Output, wobei ich nur noch
eine passende Buchse auf eine z.B. Lochplatine mit den Anzeigen löten 
muss.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren