www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stoppuhr programmieren


Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin neu hier nur mal zur info.

Also ich möchte eine sensorgesteuerte Stoppuhr programmieren die auch 
Wasserdicht ist für den Schwimmverein.

Habe leider bisher noch keine Programmierungserfahrung aber mit 
Elektronik kenn ich mich einigermaßen aus.
Zuerst meine Frage: Was für ein Entwicklerboard ist geeignet für meine 
Bedürfnisse und es sollte unter 100 Euro sein!!!

Perfekt wäre natürlich wenn der Start/Stopp geber Wasserdicht wäre und 
ich die Impulse per funk übertragen könnte.

#aber zur Not wäre ich auch mit einer kabelgebundenen Lösung zufrieden.

Die Impulse Start Stopp ist kein Problem ich hab Induktive/Optische 
Sensoren/Ultraschall zur verfügung bzw. kann ich die besorgen oder 
selber bauen.

Möchte nur mal wissen mit was man(n) am besten anfängt.Das ich die 
Programmierung dann selber lernen muss ist mir klar.

Vielen Dank im vorraus,

michael

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael "j" (mj23)

>Also ich möchte eine sensorgesteuerte Stoppuhr programmieren die auch
>Wasserdicht ist für den Schwimmverein.

AVR-Tutorial: Uhr

>Zuerst meine Frage: Was für ein Entwicklerboard ist geeignet für meine
>Bedürfnisse und es sollte unter 100 Euro sein!!!

STK500.

>Perfekt wäre natürlich wenn der Start/Stopp geber Wasserdicht wäre und
>ich die Impulse per funk übertragen könnte.

Überwasser kein Thema. Unter Wasser sehr aufwändig.

MfG
Falk

Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schon mal für den stk500 die Empfehlung hat ich von einem früheren 
Arbeitskollegen auch schon bekommen.Hab ja die Branche gewechselt. Den 
werd ich mir dann wohl mal holen und mich weiter einlesen.

Was für eine Programmiersprache hat der denn?Ist der gut zu erlernen?

Mit der Wasserfestigkeit das sehe ich nicht so als Problem eher die 
Übertragung.Hab ein Sensor nach IP68 der müsste für diese Geschichte 
geeignet sein.

Gruss

MJ

Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und danke für den link  great :-)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Michael "j" (mj23)

>Was für eine Programmiersprache hat der denn?

Wass du willst. C, Assembler, BASIC. Siehe AVR.

>Ist der gut zu erlernen?

Denk schon.

>Mit der Wasserfestigkeit das sehe ich nicht so als Problem eher die
>Übertragung.Hab ein Sensor nach IP68 der müsste für diese Geschichte
>geeignet sein.

Was soll das denn werden? Für welche Sportart?

MfG
Falk

Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Zeitmesser damit man selber tranieren kann und nicht immer einen 
2ten Mann dazu braucht zum Schwimmen.

Autor: Untertaucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich das richtig kapiert habe geht's um Rundenzeiten.
Ist eine Runde zwei Bahnen, oder eine ?
Wenn zwei ist das einfachste, wenn Du einen Magneten z.B. an Deiner 
Kappe befestigst, dann an der Bande (oder wie heißt der Rand des Beckens 
?) einen REED-Kontakt und den via Kabel zum trocken liegenden Gerät.
Je nachdem wieviele Runden Du speichern willst ist eventuell noch ein 
externes EEPROM sinnvoll.
So sparst Du Dir in jedem Falle schonmal ein wasserdichtes Gehäuse.
Wenn's bei jeder geschwommenen Bahn zählen soll, entweder eine 
IR-Fernbedienung an der anderen Seite mit REED anbringen und dann an der 
Stoppuhr erkennen, oder selbst sowas basteln.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael "j" (mj23)

>Ein Zeitmesser damit man selber tranieren kann und nicht immer einen
>2ten Mann dazu braucht zum Schwimmen.

???
Was spricht gegen eine einfache, wasserdichte Armbanduhr?

MfG
Falk

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
>Was spricht gegen eine einfache, wasserdichte Armbanduhr?

Dass man sie fertig kaufen kann...   ;-)

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin zwar jetzt kein Schwimmer,aber ich könnte mir folgende zwei 
Gründe vorstellen:

.) Eine Armbanduhr stört beim Schwimmen
.) Die gewonnenen Werte nach einer Trainingssession kann man eventuell 
aufbereiten oder analysieren.

Das wären meine Vermutungen.

Bernhard

Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Schwimmen stört ne Uhr nicht so aber ist nicht so genau bis man die 
taste wieder gefunden hat zum stopp drücken.

Und der eigentliche Gedanke liegt darin das es von der öffentlichkeit 
also dem Badegast benutzt werden kann und sollte.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Alternatives Board wäre auch der ATmel Butterfly interressant, da 
hat man schon ein LCD Dispaly mit darn, und es ist recht günstig.

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde zum einstieg reicht das Board von Pollin....

Wenn nach einiger Zeit die Erfahrungen groß genug sind kann man sich 
nach was anderem Umschauen....

Bin mit den Board immer recht gut gefahren.

Bye Rene

Autor: Mj 23 (mj23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieses hier? ATMEL Evaluations-Board Version 2.0 - Bausatz
Das hört sich gut an.

Was meint ihr soll ich mit Assembler anfangen oder gleich C.

Die meinungen darüber gehen ja ziemlich weit auseinander.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich empfehle C.

MFG
Falk

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Die meinungen darüber gehen ja ziemlich weit auseinander.

und das wird in diesem Thread nicht anders sein. Da (wie mir bestimmt 
95% aller Leute zustimmen) für deine Anwendung C locker ausreicht und es 
einfacher zu lernen ist, kann ich es dir nur empfehlen :P

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Henni_D (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nabend :) !
Also bei mir gehts auch um eine Stoppuhr. Und ich will auch nicht kommen 
mit "Hilfe, wie konfigurier ich den Timer?" und so.
Ich habe im Anhang einen Quellcode angehängt. Der ist noch nicht fertig 
und ich weiß, daß er wohl auch etwas umständlich sein mag. Ich 
programmiere aber noch nicht sooo lange in C.
Zählen tut die Anzeige, um die es gaht auch schon korrekt, nur an den 
genauen Zeiten muß ich noch drehen.
JETZT aber zu meinem Problem (für das ich nicht extra nen neues Thema 
aufmachen wollte): die Anzeigen "ghosten" z.T. sehr stark. Wie, wenn man 
multiplext, beim Umschalten der Adresse aber vergisst den Datenbus leer 
zu machen, versteht ihr?
Könnt ihr vielleicht einmal über den Code gucken und evtl melden, woran 
das mit dem "ge-ghoste" liegen könnte?

Danke und bis später!
Henni_D

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Knackpunkt ist vermutlich (da du den Schaltplan nicht angegeben hast) 
diese Stelle:

  while(1)
  {

    for(a=0; a<=5; a++)
      { 
        // Stromzufuhr an ein Display 0..5 EIN
        PORTA = adresse[a];
        
        // Stromabfuhr an Segmente 1..7 des Display 0..5 auswählen
        PORTD = anzwert[zeiger[a]];

        // Stromzufuhr alle Displays 0..5 AUS
        PORTA = 0xFF;
      }
  }


Sinnvoll wäre das Umgekehrte:

  while(1)
  {

    for(a=0; a<=5; a++)
      { 
        // Stromzufuhr alle Displays 0..5 AUS
        PORTA = 0xFF;

        // Stromabfuhr an Segmente 1..7 des Display 0..5 auswählen
        PORTD = anzwert[zeiger[a]];

        // Stromzufuhr an ein Display 0..5 EIN
        PORTA = adresse[a];      
      }
  }

Autor: Henni_D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, cool, die Antwort kam ja superschnell!

Deinen Vorschlag habe ich umgesetzt. Aber es brachte leider nichts. Wär 
auch zu einfach gewesen ;).

Die Schaltung ist eigentlich einfach: an PORTA hängen sechs 
PNP-Transistoren, die also bei logisch-0 5V durchsteuern und die dann 
über die jeweiligen LED-Elemente nach PORTD abfließen (mit 
Vorwiderstand). Ich denke mal das Multipleexn selbst brauch ich nicht zu 
erklären oder? Hab mir auch über die Schaltung gedanken gemacht. Aber 
sooo derbe kapazitive Kopplung kann da gar nicht drin sein.

Habs auch schon probiert einfach beider Ports aus zu machen (0xFF) aber 
das brachte auch nichts. Komisch...

Henni_D

Autor: Henni_D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, ich seh grad ist ist ziehmlich genau diese Schaltung :)
http://www.mikrocontroller.net/articles/AVR-Tutori...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henni_D wrote:
> Ah, ich seh grad ist ist ziehmlich genau diese Schaltung :)


Ja, diese Schaltung geistert, da Emitterschaltung.

Du gibst außerdem den Digits keine Zeit zum leuchten.
Du brauchst unbedingt nen Timerinterrupt, damit die LEDs ne zeitlang 
leuchten können und um die Pause zum Entladen der Transistoren zu haben 
(100..400Hz * Digitzahl ist optimal).


Peter

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mal auf die Hardware für's Schwimmbad zurückzukommen:

ein Rafi-Notaustaster (Wasserdicht) auf einen Vakuum-Glasheber (diese 
Saugnapf-Teile) montiert, mitsamt der wasserdichten Elektronik am Ende/ 
Anfang der Bahn 'festgesaugt', ist vom Schwimmer selbst per Anschlag 
leicht zu bedienen. Ein zweiter Taster auf dem Startblock könnte zum 
Starten ausreichen.
Ich denke nicht, dass der Bademeister was dagegen hat, wenn du mit ihm 
redest.

Autor: Henni_D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, dann nurnoch eine kleine Sache in eigener... ähm... Sache. Dann lass 
ich euch hier in Ruhe Bademeistern ;)

@Peter:
Daß die LEDs kaum Zeit haben zum leuchten weiß ich. Sie sind auch noch 
nicht ganz so hell. Aber der Code ist auch noch (lange) nicht fertig. 
Trotzdem danke für den Hinweis.
Kannst du mir denn vielleicht nochmal folgendess näher erläutern oder 
entsprechende Links schicken?

1. WARUM ist das in Emitterschaltung so mit dem Entladen der 
Transistoren?
2. Würde es helfen, wenn ich die Schaltung für npn-Transistoren umbaue 
und dann nicht-invertierte Werte nehme? Und dann lieber emitter- oder 
Kollektorschaltung?
3. Wie kommst du auf die Formel?
4. Liegt im AVR-Studio nen Fehler vor? Bei mir werden für manche 
Timer0-Register nicht alle Bits wie im Datenblatt angezeigt o_O ...

Danke nochmal an Peter und Stefan für die Antworten,
Henni_D

oh, ich seh grad, daß ich keine Basis-Widerstände hab :) ...

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.