mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino Mega, Einstellbare Zeitanzeige (über 7-Segmentanzeige) für Vorträge u. Ä.


Autor: Dominik W. (dominik_wa)
Datum:

Bewertung
0 lesenswert
nicht 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-...)

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!

Autor: 7segmente (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: 7segmente (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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

Autor: Mw En (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
57mm?
Wer soll denn das sehen beim Vortragen?

Das ist da schon eher die passende Größe, für das Teil gibts auch nen 
Countdown.
http://www.fritzler-avr.de/HP/dasuhr.php

Autor: Paul Baumann (paul_baumann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mw E. schrieb:
> Wer soll denn das sehen beim Vortragen?

Wer soll denn Deine Uhr vor tragen? Da brauchst Du doch 10 Mann dafür.
:)
MfG Paul

Autor: Mw En (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ist alleine tragbar, ohne Scherz!
Hat sogar nen ausbalancierten Griff in der Mitte.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit den Pin hast du sicher keine Probleme, es sind etwa 70 
vorhanden, das sollte leicht reichen.
Für die 7Seg-Anzeige wirst du aber Treiber brauchen, z.B. ULN2803 und 
natürlich eine entsprechende Stromversorgung und Vorwiderstände.

Autor: Draco (Gast)
Datum:

Bewertung
-3 lesenswert
nicht 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.

Autor: Domethom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Domethom schrieb:
> 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?

Einen Treiber kannst du nicht weglassen, die Anzeige braucht 10V, also 
zumindest 12V vom Netzteil und Vorwiderstände. Vom µC bekommst du nur 
5V.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wenn ich genügend Pins habe kann ich diesen
>Treiber auch weg lassen?

Nein, ein Atmega kann eine LED Anzeige die 8,2V benötigt
nicht ohne Treiber ansteuern.

Autor: Flo85 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg R. (solar77)
Datum:

Bewertung
0 lesenswert
nicht 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-2...

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)

: Bearbeitet durch User
Autor: Dominik W. (dominik_wa)
Datum:

Bewertung
0 lesenswert
nicht 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/T...
>>http://pdf1.alldatasheet.com/datasheet-pdf/view/55...

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

Autor: Flo85 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der TPIC ist nur ein Schieberegister, das macht gar nicht von alleine, 
weder hochzählen noch einen Taster einlesen, das muss deine Software 
machen.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du es tatsächlich mit einem Arduino-Mega machen willst, brauchst du 
den TPIC nicht. Du hast genügend I/O frei um jedes Segment einzeln 
anzusteuern.

Autor: Flo85 (Gast)
Datum:

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

Autor: Flo85 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg R. (solar77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem Überangebot an Pins reichen auch entsprechend viele BC547 O.ä..
Möglichkeiten gibt es ja wohl genug.

Die Frage ist warum ein 2560 ?
Ok, wenn es eine Vorgabe ist dann ist es halt so. Ansonsten reicht auch 
ein Atemega328 oder ein.......die Auswahl ist riesig.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Ich hab z.B. ne Jumbo-LED Anzeige direkt vom AVR treiben lassen (mit
> Vorwiderständen) und die Anoden an +11V gelegt.

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

Autor: Jörg R. (solar77)
Datum:

Bewertung
0 lesenswert
nicht 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😀

Autor: Jörg R. (solar77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Peter D. schrieb:
>> Ich hab z.B. ne Jumbo-LED Anzeige direkt vom AVR treiben lassen (mit
>> Vorwiderständen) und die Anoden an +11V gelegt.
>
> Hä? Erklär mal bitte. Kann mir das grad nicht vorstellen. Du hast da ja
> sicherlich nen Transistor als Treiber gehabt oder?

Würde mich auch interessieren. Schaltbild?

Autor: MAX7219 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein MAX7219 kann durchaus höhere Spannungen/Ströme "treiben".
https://www.maximintegrated.com/en/app-notes/index...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg R. (solar77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MAX7219 schrieb im Beitrag #4688653:
> Ein MAX7219 kann durchaus höhere Spannungen/Ströme "treiben".
> https://www.maximintegrated.com/en/app-notes/index...

Der MAX7219 kann das aber nur mit externen Bauteilen...
...This application note discusses how the MAX7219/7221 can be used with 
external drive transistors.....

Er allein kann es nicht.

Autor: Lurchi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dominik W. (dominik_wa)
Datum:

Bewertung
0 lesenswert
nicht 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/...

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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.