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!
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...
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
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
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
Die ist alleine tragbar, ohne Scherz! Hat sogar nen ausbalancierten Griff in der Mitte.
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.
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.
@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?
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.
> 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.
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.
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)
:
Bearbeitet durch User
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
Der TPIC ist nur ein Schieberegister, das macht gar nicht von alleine, weder hochzählen noch einen Taster einlesen, das muss deine Software machen.
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.
Biite lies doch mal den Thread bevor du postest! Eine LED Anzeige die 8,2V braucht kann man nicht direkt mit einen µC ansteuern.
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.
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
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.
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.
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?
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?
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?
Ein MAX7219 kann durchaus höhere Spannungen/Ströme "treiben". https://www.maximintegrated.com/en/app-notes/index.mvp/id/1196
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.
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.
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.
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.
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.