Forum: Mikrocontroller und Digitale Elektronik Hilfe für digitale Stoppuhr mit Button gesucht


von Dan (danor)


Lesenswert?

Hallo zusammen,

vorweg, ich bin totaler Laie und hoffe somit auf Leute, die kompetenter 
sind.

Benötigt wird eine Count-Up-Uhr, die mittels "Hotbutton" gestartet und 
wieder gestoppt werden kann.

Ziel ist es, dass der Anwender versucht, die Uhr exakt bei 10.00 
Sekunden zu stoppen. Das Display muss als 4 Ziffern haben und soll dabei 
möglichst groß sein, mindestens 30 bis 40 cm breit. Hundertstelsekunden 
müssen beim laufen zu sehen sein.

Ich bin schon insofern schlauer, alsdass es zur Umsetzung drei 
Komponenten braucht:

_Display (LCD oder LED)

_Hotbutton / Buzzer

_Microcontroller, der den Count-up steuert und natürlich die Uhr auf 0 
setzen kann

Frage: Wie bekommt man sowas umgesetzt? Ich habe im Netz leider keine 
Bausätze gefunden, die das so abbilden.

Welche Firmen bieten sowas an? Gibt es hier Fachleute, die sowas auf 
Rechnung bauen können?

Bin für jeden Tipp dankbar. :)

Liebe Grüße

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dan schrieb:
> Hundertstelsekunden müssen beim laufen zu sehen sein.
So schnell kann man sowieso nicht schauen...

> Gibt es hier Fachleute, die sowas auf Rechnung bauen können?
Wie "fertig" muss das Ganze werden und wieviel ist dir der Spaß wert?

von Frederic S. (frederics)


Lesenswert?

Dan schrieb:
> Welche Firmen bieten sowas an? Gibt es hier Fachleute, die sowas auf
> Rechnung bauen können?

Wir setzen solche Projekte gerne um, wir arbeiten häufig für Künstler 
oder interaktive Austellungen. Selbstverständlich immer mit ordentlicher 
Rechnung.

Einfach eine kurze Mail an
Info@lightartandsound.de schreiben. www.lightartandsound.de

von Peter D. (peda)


Lesenswert?

Dan schrieb:
> Ziel ist es, dass der Anwender versucht, die Uhr exakt bei 10.00
> Sekunden zu stoppen.

Da die typische Reaktionszeit 0,3s beträgt, also bei 9,7s die Taste 
drücken.

von Steve van de Grens (roehrmond)


Lesenswert?

Wenn du keine Ahnung von Mikrocontroller hast, kann man das auch 
durchaus mit Logik-IC's machen.

Taktgeber (astabiler Multivibrator)
BCD Zähler
BCD-Zu-7-Segment Decoder

Und ein bisschen Logik drumherum für die start/stopp Signale.

Kennst du dich mit Logikschaltungen aus?

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Lothar M. schrieb:

> Dan schrieb:
>> Hundertstelsekunden müssen beim laufen zu sehen sein.
> So schnell kann man sowieso nicht schauen...

Das ist nicht ganz richtig. Er wollte ja nicht, das man die 100stel 
mitlesen kann. Er will sie nur "laufen" sehen.

Und dafür genügt der menschliche Wahrnehmungsapparat durchaus. Man kann 
auf jeden Fall sehen, dass sich da was bewegt. Also ich kann das 
zumindest. Und meine Augen sind, weiß Gott, nicht mehr die Besten.

von Jens G. (jensig)


Lesenswert?

Ob S. schrieb:
> Lothar M. schrieb:
>
>> Dan schrieb:
>>> Hundertstelsekunden müssen beim laufen zu sehen sein.
>> So schnell kann man sowieso nicht schauen...
>
> Das ist nicht ganz richtig. Er wollte ja nicht, das man die 100stel
> mitlesen kann. Er will sie nur "laufen" sehen.
>
> Und dafür genügt der menschliche Wahrnehmungsapparat durchaus. Man kann
> auf jeden Fall sehen, dass sich da was bewegt. Also ich kann das
> zumindest. Und meine Augen sind, weiß Gott, nicht mehr die Besten.

Daß die Uhr auf 10,00 zuläuft, ist ja auch kein unerwartetes und 
plötzliches Ereignis, sondern was Vorhersehbares, auf das man sich 
praktisch im Sekundenrhythmus einstellen kann. Irgendeine Reaktionszeit 
ist hier damit sowieso weitgehend irrelavant.

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich würde sowas mit LED-Matrix-Kacheln machen, pro Stelle (von den 4 
großen), je eine Tafel 32 x 64 LED in einer Größe von 16cm x 32cm. Für 
die 100stel eine Tafel in 16x32. Die Farben sind beliebig einstellbar 
... alles montiert auf eine passende Alu-Platte mit Netzteil.

Anfrage zu den Details an frank.esselbach@newz-co.de.

Nachtrag: Die Ziffern könnten wahlweise "hart" wechseln oder wie bei 
einem mechanischen Zählwerk vertikal scrollen.

: Bearbeitet durch User
von Gerald B. (gerald_b)


Lesenswert?

Frank E. schrieb:
> Ich würde sowas mit LED-Matrix-Kacheln machen...

Hm, das Multiplexen wird dann aber in ähnlicher Geschwindigkeit 
vonstatten gehen, wie die Hundertstel Sekunden wechseln. Somit nutzen 
die einem nix, wenn sie angezeigt werden.
Das Ganze ist eine schöne Äufwärmübung für Arduino.
Ich halte 2 Wege für gangbar: p. Stelle einen 74HC595, dahinter Treiber 
(zu Fuß, oder ULNirgendwas) und da dann einfarbigen LED Stripe in 7 
Segmentanordnung auf eine Platte kleben und p. Segment dann eine 
Treiberstufe.
Oder man ist faul und nimmt adressierbare Pixel, wo alle Segmente wieder 
als Kette verschaltet werden. Die Adressierung der Ziffern macht man 
dann völlig in Software. Ist softwaretechnisch anspruchsvoller, dafür 
ist die Hardware minimalistisch.

von Simon (simonberlin)


Lesenswert?

Was der TO sucht hört sich an wie jede Stopuhr für Sportereignisse. Da 
er nicht selber bauen will kann er das fix und fertig so kaufen. 
Billiger oder besser oder genauer als das was die Sportler benutzen wird 
eine Einzelanfertigung auch nicht werden...

Erster Treffer für "LED Stoppuhr"
http://www.run-electronic.de/Stoppuhren/stoppuhren.html

Bei 10cm oder 15cm Höhe dürfte das auch der gewünschten Größe ungefähr 
entsprechen. Den fetten Buzzer als Taster gibts da auch. Nicht billig, 
aber wie gesagt - als Einzelanfertigung wird hier kaum einer den Preis 
unterbieten?

Ansonsten selber machen mit Bausatz für "LED Stoppuhr" und dann selber 
bestimmen wie groß es wird...

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Gerald B. schrieb:
> Hm, das Multiplexen wird dann aber in ähnlicher Geschwindigkeit
> vonstatten gehen, wie die Hundertstel Sekunden wechseln. Somit nutzen
> die einem nix, wenn sie angezeigt werden.
> Das Ganze ist eine schöne Äufwärmübung für Arduino.

Unabhängig der Anzeige wird man sich anstrengen müssen, zuverlässig 
schnell auf die Taste zu reagieren.

von Jörg R. (solar77)


Lesenswert?

Dan schrieb:
> Ziel ist es, dass der Anwender versucht, die Uhr exakt bei 10.00
> Sekunden zu stoppen. Das Display muss als 4 Ziffern haben und soll dabei
> möglichst groß sein, mindestens 30 bis 40 cm breit. Hundertstelsekunden
> müssen beim laufen zu sehen sein.

Weshalb gibst Du die Breite des Displays an, anstatt die Ziffernhöhe?


> Ich bin schon insofern schlauer, alsdass es zur Umsetzung drei
> Komponenten braucht:
>
> _Display (LCD oder LED)
>
> _Hotbutton / Buzzer
>
> _Microcontroller, der den Count-up steuert und natürlich die Uhr auf 0
> setzen kann

Gehäuse und Stromversorgung fehlt noch.


> Frage: Wie bekommt man sowas umgesetzt? Ich habe im Netz leider keine
> Bausätze gefunden, die das so abbilden.
>
> Welche Firmen bieten sowas an? Gibt es hier Fachleute, die sowas auf
> Rechnung bauen können?

Klar gibt es so etwas. Aber was stellst Du dir vor wie teuer es wird?

@TO
Ist der Thread ernst gemeint? Für mich sieht es aktuell nach einer 
Luftnummer aus. Wäre ja nichts neues von einem frisch angemeldeten User.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Manfred P. schrieb:
> Unabhängig der Anzeige wird man sich anstrengen müssen, zuverlässig
> schnell auf die Taste zu reagieren.

Seit der Erfindung von Interrupts sollte das möglich sein.
Selbst, wenn man den Timer0 mitbenutzt, der sowieso für den 
Millisekunden-Zähler läuft, ist das schnell genug.

Die erste Flanke stoppt die Uhr und danach können weitere 
Interrupt/Kontaktereignisse einige Zeit oder bis zum Nullstellen der 
Anzeige unterbunden werden, damit Kontaktprellen keine Chance hat, das 
Ergebnis zu verfälschen.

von Michael B. (laberkopp)


Lesenswert?

Manfred P. schrieb:
> Unabhängig der Anzeige wird man sich anstrengen müssen, zuverlässig
> schnell auf die Taste zu reagieren.

Eigentlich nicht. Wer auf 1/100 Sekunde anzeigen kann, kann auch auf 
1/100 reagieren.

Aber der TO kann nicht z.B. einen uC programmieren, ich trau ihm nicht 
mal zu, eine kleine Stoppuhr mit Transistoren zur Ansteuerung einer 
geossen LED Anzeige umzubauen.

Er kann wohl nur was Fertiges nehmen 
https://www.elektronik-star.de/Sport-Fitness/Fitness-Zubehoer/Timeter-2-0-4-Sporttimer-Tabata-Timer-4-Ziffern-V-2-0-4-Ziffern.html

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Angehängte Dateien:

Lesenswert?

Hallo
Habe mal sowas gebaut wie du im Anhang sehen kannst.
Ist eine Stoppuhr die auf 100stel misst und mit den
Buttons kann man sie starten und auch löschen. Zusätzlich
kann man das ganze auf USB-Stick die Zeiten speichern lassen.

von Steve van de Grens (roehrmond)


Lesenswert?

Peter K. schrieb:
> Habe mal sowas gebaut wie du im Anhang sehen kannst.

Ein schön kompaktes Ding. Was war der Anwendungsfall?

von Rolf (rolf22)


Lesenswert?

Dan schrieb:

> _Display (LCD oder LED)

PC-Monitor gibt es an jeder Straßenecke, billiger als jede 
Spezialanfertigung. Ein TV-Gerät mit HDMI-Anschluss tut es auch.

> _Microcontroller, der den Count-up steuert und natürlich die Uhr auf 0
> setzen kann

Einen Raspberry o. Ä., der den Monitor über seine HDMI-Buchse ansteuern 
kann und einen Digital-Eingang für eine Taste hat.

Raspberry, Netzteil und Gehäuse sind billiger als jede 
Spezialanfertigung und lassen sich einfach in 5 Minuten zusammenstecken, 
dann ist die Hardware ohne große Bastelei fix und fertig. Man braucht 
dann nur noch einen Software-Kasper, der ein kleines Programm schreibt.

von Steve van de Grens (roehrmond)


Lesenswert?

Rolf schrieb:
> Man braucht dann nur noch einen Software-Kasper,
> der ein kleines Programm schreibt

Du weißt aber schon, dass Linux eher nicht echtzeitfähig ist, oder?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rolf schrieb:
> PC-Monitor gibt es an jeder Straßenecke, billiger als jede
> Spezialanfertigung.
Mit 100 Hz Bildwiederholrate.

Rolf schrieb:
> Einen Raspberry ...
> Man braucht dann nur noch einen Software-Kasper, der ein kleines
> Programm schreibt.
Das auf <<10ms echtzeitfähig sein sollte. Der "normale" 
Softwareentwickler bzw. dessen Software könnte da schon mal ins Stolpern 
kommen.

Steve van de Grens schrieb:
> dass Linux eher nicht echtzeitfähig ist, oder?
Und auch mit RT-Patches wird garantiert nicht die Grafikausgabe auf 
Echtzeit getrimmt.

: Bearbeitet durch Moderator
von Toxy T. (toxy_t)


Lesenswert?

Dan schrieb:
> Frage: Wie bekommt man sowas umgesetzt? Ich habe im Netz leider keine
> Bausätze gefunden, die das so abbilden.

Suche mit Begriffen wie stopwatch circuit etc also nicht in deutscher 
Sprache sondern in english.
Hier ein Beispiel,das deiner Vorstellung ziemlich nahe kommt - dauerte 
5s um dieses Projekt zu "finden".(es gbt auch eine LCDversion dieses 
Projekts aber mit LEDs hast du die Moeglichkeit groessere Displays zu 
basteln
Ob es was taugt - keine Ahnung - kommt aber mit Code und setzt einen 
Arduino ein.Kann man also innerhalb 30 Minuten fuer Testzewcke 
aufbauen(sollten die Bauteile vorhanden sein)

https://how2electronics.com/stopwatch-using-4-digit-7-segment-display-arduino/

von Dan (danor)


Lesenswert?

Vielen Dank erstmal an die vielen Antwortgebern. Ich bin bereits mit 
mehreren Anbietern in Kontakt, die Links haben mir aber schon wahnsinnig 
weitergeholfen.

Auch spannend wie die Umsetzung unter Fachleuten diskutiert wird. Ich 
bin noch am Durcharbeiten der einzelnen Antworten und gebe gerne 
demnächst ein Update, welche Lösung es geworden ist. :-)

von Rolf (rolf22)


Lesenswert?

Steve van de Grens schrieb:
> Du weißt aber schon, dass Linux eher nicht echtzeitfähig ist, oder?

Hatte ich Linux gemeint? Für so ein simples Gadget braucht man kein 
"richtiges" Betriebssystem.
Sieh dir mal an, was man z. B. mit einem Arduino alles machen kann. Bei 
dem braucht man nur zum Starten den Systemstummel im ROM, den Rest kann 
man ohne Systemaufrufe programmieren, sogar mit dem gcc.
Was die HDMI-Ausgabe angeht, da sollte sich etwas im Web oder bei Github 
finden. Man muss ja auch keine Videos abspielen, sondern nur die Ziffern 
von 0 bis 9 anzeigen können - dafür kann man Bitmuster als Konstanten im 
Programm speichern.

(In den 1970ern hat mir mein Chef mal das "kürzeste Betriebsystem der 
Welt" in Assembler gezeigt:
DisableINTs
LoadStackpointer, 0x1000
NOP
Jump $-1
:-)

von Steve van de Grens (roehrmond)


Lesenswert?

Rolf schrieb:
>> Du weißt aber schon, dass Linux eher nicht echtzeitfähig ist, oder?
> Hatte ich Linux gemeint?

Ich denke schon:

Rolf schrieb:
> Einen Raspberry o. Ä., der den Monitor über seine HDMI-Buchse ansteuern
> kann und einen Digital-Eingang für eine Taste hat.

Oder wolltest du den Raspberry Pi ohne Betriebssystem laufen lassen?

von Rainer W. (rawi)


Lesenswert?

Dan schrieb:
> Das Display muss als 4 Ziffern haben und soll dabei
> möglichst groß sein, mindestens 30 bis 40 cm breit

Wenn es möglichst groß sein soll, ist bei 40 cm Breite noch lange nicht 
Schluss. Hier ein flexibles Konzept, gesteuert z.B. mit einem Arduino 
Nano
https://www.youtube.com/watch?app=desktop&v=pyFtAkwqVZ4

: Bearbeitet durch User
von Rolf (rolf22)


Angehängte Dateien:

Lesenswert?

Steve van de Grens schrieb:
> wolltest du den Raspberry Pi ohne Betriebssystem laufen lassen?

Wieso denn nicht? Zumindest die einfache Anwendung hier braucht kein 
Betriebssystem. Früher (1975+) haben wir Betriebssysteme überhaupt nur 
zum Entwickeln benutzt und die Anwendung als endgültigen Binärcode in 
den Speicher geladen oder in einen ROM gebrannt. Das war bei Software 
für Maschinen und Automaten in Fabrikhallen Standard. Treiber etc. hat 
man selber geschrieben, und fertige Libs, die das taten, was man 
brauchte, gab es ohnehin praktisch nicht.

Das kann man leicht auch heute noch so machen, wenn die Funktionalität 
der Anwendung so trivial ist wie in unserem Fall.
Heute geht es sogar sehr viel leichter und vor allem schneller als 
damals: Wir hatten keine maschinennahen Hochsprachen (wie z. B. C++) und 
keine Echtzeit-Debugger. (Eine harte Schule, aber dabei lernt man, 
sauber zu arbeiten.)

Eine Softwarelösung wäre jedenfalls später leicht erweiterbar. Kaum 
läuft diese einfache Stoppuhr zufriedenstellend, dann kommt garantiert 
"Wenn wir nun schon mal eine große Bildschirm-Anzeige und Tasten haben, 
da könnten wir doch auch XXX damit machen."

(Ich habe hier einen Arduino, an den sind u. a. eine Uhr, Tasten und ein 
Display angeschlossen. Habe ich alles in C++ gemacht, ohne jeden 
Systemaufruf. Auch die Hardware wird direkt in C++ angesprochen - nix 
Betriebssystem. Und ja, Interrupts werden da auch genutzt, mit 
Reaktionszeiten, die jedes Linux alt aussehen lassen.)

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Rolf schrieb:
>> wolltest du den Raspberry Pi ohne Betriebssystem laufen lassen?

> Wieso denn nicht? Zumindest die einfache Anwendung hier braucht kein
> Betriebssystem

Den HDMI Ausgang des Raspberry Pi kannst du ohne Linux Treiber benutzen? 
Das will ich sehen!

Rolf schrieb:
> Einen Raspberry o. Ä., der den Monitor über seine HDMI-Buchse ansteuern
> kann

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Gerald B. schrieb:

> Hm, das Multiplexen wird dann aber in ähnlicher Geschwindigkeit
> vonstatten gehen, wie die Hundertstel Sekunden wechseln. Somit nutzen
> die einem nix, wenn sie angezeigt werden.

Klassischer Trugschluß: Die einfache und naheliegende Lösung ist 
natürlich: Das Muxing erfolgt mit exakt 100Hz * Stellenzahl, hier also 
mit genau 600Hz. Das ist kein Problem, für keine der beteiligten 
Komponenten.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Ob S. schrieb:

> Das Muxing erfolgt mit exakt 100Hz * Stellenzahl, hier also
> mit genau 600Hz.

Unsinn. Es waren vier Stellen gewünscht, also natürlich 400Hz.

von Rolf (rolf22)


Lesenswert?

Steve van de Grens schrieb:
> Den HDMI Ausgang des Raspberry Pi kannst du ohne Linux Treiber benutzen?
> Das will ich sehen!

Einfach so mal eben kann ICH es nicht, es ist schon ein gewisser 
Einarbeitungs-Aufwand nötig. Aber "man" kann es natürlich.
Im Prinzip müsste es in unserer Anwendung einfacher sein als das 
Anzeigen von Videos. Und: Der Raspi hat ja Grafik-Hardware von Broadcom 
bereits eingebaut, und für die gibt es Software, die man studieren oder 
umarbeiten kann.

Muss man halt mal im Web nach "bare metal" suchen.
Ansatzpunkte findet Google, z. B. diesen: 
https://forums.raspberrypi.com/viewtopic.php?t=339104https://forums.raspberrypi.com/viewtopic.php?t=339104

Es gibt auch Leute, die ein rudimentäres "Bare metal"-Betriebssystem 
geschrieben haben, um eine HDMI-Ausgabe zu erzeugen: 
https://github.com/gitstay-cmd/JRaspbi#readme
oder (etwas neuer): https://github.com/rsta2/circle

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ob S. schrieb:
> Die einfache und naheliegende Lösung ist natürlich
Ich schließe alle Segmente gänzlich ohne Muxen mit einer 
Schieberegisterkette an und eliminiere so das Flackern des Multiplexers 
grundsätzlich. Denn dieses Flackern ist bei "geraden" 100Hz Frequenzen 
dann besonders schlimm, wenn im Raum auch noch eine Leuchtstoffröhre mit 
"ähnlichen" 100 Hz vor sich hin flackert.

Rolf schrieb:
> um eine HDMI-Ausgabe zu erzeugen
Allerdings vermutlich auch nicht mit >100 fps.

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Ich schließe alle Segmente gänzlich ohne Muxen mit einer
> Schieberegisterkette an und eliminiere so das Flackern des Multiplexers
> grundsätzlich.

Z.B. mit dem MM5450 kann man 4 Digits direkt ansteuern:

https://www.microchip.com/en-us/product/mm5450

Beitrag #7530266 wurde vom Autor gelöscht.
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Lothar M. schrieb:

> Ich schließe alle Segmente gänzlich ohne Muxen mit einer
> Schieberegisterkette an und eliminiere so das Flackern des Multiplexers
> grundsätzlich. Denn dieses Flackern ist bei "geraden" 100Hz Frequenzen
> dann besonders schlimm, wenn im Raum auch noch eine Leuchtstoffröhre mit
> "ähnlichen" 100 Hz vor sich hin flackert.

Wen willst du hier verarschen?

Natürlich interferiert ein aktives Display kein bissel mit der 
Beleuchtung der Umgebung. Wäre es tatsächlich so, wäre praktisch jeder 
Monitor bei heutzutage üblicher Bürobeleuchtung vollkommen unbrauchbar.

Also langsam glaube ich, dass du nichtmehr so ganz geistig beisammen 
bist.

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.