Zähler mit Anzeige und extra Knöpfe für verschiedene Zahlen

Hallo lieber Forum Freunde,

ein Projekt was ich mir aktuell machen möchte, ist ein kleines Gerät,

  • das es mit Akku oder Batterie funktioniert,
  • Ein- und Ausschaltknopf hat,
  • 3 weitere Auswahlknöpfe/Buttons für 2, 4 und 8 anzeigt,
  • wenn ich es einschalte und den 5 drücke, muss es kurz 5 zeigen aber danach fürs Zählen auf 0 Null zurückgehen,
  • bei jeder 2 mal Button drücken, muss es dann zählen (2 mal drücken = 1, dann nochmal 2 mal drücken = 2,...),
  • zwischen den 2 mal drücken benötige ich zwischen 5-10 Sekunden Zeit (also kein Doppelklick),
  • wenn die 5 gezählt wird, muss es wieder nach 5 Sekunden automatisch 0 Null anzeigen.

Ich komme zwar aus der IT Ecke aber mit Programmierung habe ich nicht viel zu tun, daher kriege ich es nich umgesetzt. Auch die Elektronische Teil bei mir fehlt leider.

Kann mir jemand (auch teilweise bei der Umsetzung) helfen?

Vielen Dan im Voraus :slightly_smiling_face:
MK

Für die Zeiten, auch zum entprellen, wirst du vermutlich millis() verwenden wollen. Und der Rahmen wird ein, oder mehrere, endliche Automaten sein.

Auch wenn du das alles noch nicht weißt.

woher kommt plötzlich 5? es sind nur 2, 4 und 8
mehr Bilder bitte. will mir nicht erraten was du meinst. weil ich Sanitäranlagen Schlosser bin/war

Zeichne ein State Diagram mit den Übergängen dann wird das vermutlich klarer als deine Prosa.

Meinst du mit "2 mal Button Drücken" einen klassischen Doppelklick?
Wie viele Buttons hast du jetzt? 3 mit den Beschriftungen 2, 4, 8, und einen vierten mit der Beschriftung 5?!?

Dann fang doch einfacher an:
Wenn du eine Taste drückst, sollen im Sekundentakt auf einem Display nacheinander
5, 4, 3, 2, 1, 0 angezeigt werden. (Und dann die 0 angezeigt bleiben, bis die Taste wieder gedrückt wird)

Ich vermute, das ist ein Teil dessen, was du eigentlich willst. Wenn nicht, dann such dir einen Teil dessen aus, was du im Kopf hast, aber kaum jemand anderem aus deiner Beschreibung in #1 klar wird.

Es sagt mir "millis" erstmal nichts aber ich habe mal gegoogelt, nun weiss ich das es ein Befehl ist. Da kann ich natürlich weiter recherchieren aber es würde mir weiterhelfen wenn ich wirklich ein groben Programm habe.

Danke nochmal

Sorry das war ein Tippfehler von mir, ich meinte natürlich 4. Aber im Grunde genommen ist das Gleiche ob 4,5 oder 6 ist. Die Funktion ist immer das Gleiche. Ich versuche es mal es per Bild es darzustellen. Ich sende es später

So grob kann ich es darstellen:

  • Ein-/Austaste (fehlt in der Grafik)
  • ich habe ein Anzeiger
  • dann kommen die 3 Buttons (2, 3 und 4), die denZählerwert auch anzeigt
  • 2 LEDs (muss aber nicht sein)
  • 2 Mal Drücken habe ich geschrieben, weil es kein Doppelklick sondern zwischen 2 betätigungen 5 bis 10 Sekunden Dauer gibt. Aber dennoch bei jeder zweites Drücken muss es eins hochzählen (also kein Doppelklick)

aus welchem IT Ecke bist du eigentlich? aus der am weitesten entfernten?

wenn du Knöpfe in Breadboard so steckst werden sie immer "gedrückt". gleiche mit LEDs. sei nicht geizig und benutze im Simulator Widerstände für jeden Segment.

für was brauchst du so ein "Zähler" ? Hausaufgabe?
ist es verboten eine Taste für Start zu benutzen?

Hoffentlich ist es mit dem State Diagramm bisschen besser zu erkennen:

grafik
was passiert wenn zu früh gedrückt wird? was passiert wenn jemand sich verzählt und beginnt 10 Sekunden zu warten von vorne, drei mal hintereinander?

Hi kolaha,
ja schon aus der IT Ecke aber ohne Programmierung :neutral_face:
Also, das hatte ich auch mit dem UNO R3 versucht und nicht geklappt, daher wollte ich Hilfe.
Ist es egal welche Widerstände ich benutze?

Es sollte für 2er, 3er und 4er Gruppen gezählt werden.
Was meinst du mit "Taste für Start"? Eine Taste für Start (Ein-Ausschalttaste) habe ich auch vor.

Das ist die Frage an der wichtigste Stelle.
Da ich ein Doppelklick vermeiden möchte, kann es auch von mir aus nach 5 Sekunden oder nach 20 Sekunden gedrückt werden. Hauptsache kein Doppelklick und bei jeder zweiter Klick muss es halt zählen.

da du in keinem relevanten Bereich Erfahrung hast, rate ich dir das Denken und das Programmieren uns zu überlassen.
du sagst was für Aufgabe hast du vom Lehrer erhalten und wir sagen wie man es lösen kann.

Flussdiagramm sieht so aus:


habe hier ein Prototyp gemacht:

Es muss noch irgend welche Abbruchbedingungen geben. Was soll den passieren, wenn mitten in solch einer "Ablaufkette" aufgehört wird eine Taste zu drücken. Also wenn beispielsweise eine Taste nur einmal gedrückt wird oder wenn z.B. bei Button (Zähler 4) bei der Anzeige 2 kein Tastendruck mehr erfolgt? Soll die Anzeige dann auf ewig so stehen bleiben?

Was soll passieren, wenn z.B. Button(Zähler 4) gedrückt wird, dann aber im Weiteren andere Buttons gedrückt werden?

mir ist noch unklar wie das Ende abläuft :

mit dem letzten Tastendruck wird die letzte Ziffer 3 angezeigt:

grafik

danach hast du ein Ende gezeichnet mit Anzeige 0.

Wenn da keine Pause dazsischen ist, wird Anzeige 0 so schnell erscheinen dass du nicht mal ansatzweise die vorherige Anzeige 3 siehst.

An was has du daher gedacht ... wie lange soll der letzte Werte sichtbar sein BEVOR wieder 0 erscheint.

Weiters. Was meinst du mit ENDE. Soll bei erreichen von ENDE tatsächlich kein weiterer Tastendruck mehr reagieren? Das System verharrt in Anzeige 0 bis es zu einem PowerCylce kommt?

Es muss definitiv nur die gewünschte Zahlen gezählt werden. Wenn es doch einmal gedrückt wird und gewisse Zeit (zB. 20 Sekunden nichts passiert) soll es abgebrochen werden.

Wenn zB. Zähler 4 gedrückt wird aber dann die zB. Zähler 3 gedrückt wird, soll dann Zähler 3 starten.

Mit Ende meine ich, dass es zurück zur Anfang geht also Zähler hat seine Aufgabe gemacht und es fängt wieder von 0 an. Da muss man aber wieder irgendein Zähler drücken, damit es zählen kann.

Diese grobe Darstellung ist natürlich kein professionelle Darstellung ist mir klar, aber ich wollte halt es bisschen grafisch darstellen, damit man ein Gefühl bekommt, was ich von den Funktionen erwarte.

Ende der Zähler kann von mir aus auch 10 oder 20 Sekunden Pause geben. Erst beim drücken der Zähler Buttons sollte die Schleife wirklich starten.

reicht nicht aus. Bevor man beginnt zu programmieren muss als erstes einmal die Spezifikation genau fertig sein.

Fazit:
Nach mehrfachen Versuch ist mir nun klar, dass ich hier kein Schritt weiterkomme. Viele Ratschläge habe ich bekommen aber gar kein Lösung. Danke fürs nicht Helfen!!!

Soweit war ich auch schon mal.
Einer erzählt mir Flussdiagramm (wozu brauche ich ein Flussdiagram, sollen wir nun Projektmanagement Methoden machen und risikoanalyse). Der Andere erzählt mir weitere Märchen, schade dass ich viel Hoffnung hier gemacht habe. Ich denke irgendwie finde ich schon raus wie ich es programmieren kann, wenn hier niemand von Programmieren Ahnung hat.

:-1: :-1: :-1: