Wie kann man mit Arduino Punkte zählen?
Hallo, ich baue gerade für ein Schulprojekt mit meiner Freundin einen Schießstand. Allerdings haben wir nun das Problem das wir nicht wissen wie wir mit dem Arduino Punkte zählen können.
Also die Punkte sollten auf einem Lcd Display angezeigt werden sobald eine Zielscheibe getroffen wurde.Außerdem wollten wir noch miteinbauen das es verschieden viel punkte gibt je nachdem wie schnell die Zielscheibe getroffen wurde.Die Zielscheibe ist Zehn sekunden oben und z.b unter 1 sek gibt es 10 Punkte under 2 sek 9 Punkte und bei 10 sek 1 Punkt ich hoffe es ist verständlich. Wir verzweifeln echt deswegen wär ich für jede Hilfe dankbar . Ihr könnt uns auch helfen wenn ihr Ideen äußert mit was wir das machen könnten also z.B if oder einer For schleife.
Ihr könnt gerne nachfragen wenn ihr wollt und ich versuche so gut zu antworten wie es geht:)
1 Antwort
Nun, die "millis()" hab ich Dir ja schon ans Herz gelegt. Damit lässt sich auch auswerten, wie lange es dauert, bis die Scheibe getroffen wurde. Wenn die Scheibe hoch geht, dann den Wert "millis()" in einer "unsigned long"-Variablen speichern, also im Prinzip wie beim Timer. Wenn die Scheibe getroffen wurde, kannst Du den gespeicherten Wert von den aktuellen "millis()" abziehen und erhälst die Differenz in Millisekunden. Über "if"-Abfragen kannst Du dann je nach Zeitdifferenz die Punkte vergeben...
Wenn auch noch der 60sek Timer dadrüber rückwärts laufen soll, musst Du auch beides mit "millis()" realisieren, da verschiedene Aufgaben und Abfragen in Echtzeit laufen und ausgewertet werden müssen. Mit "Delay" wäre das nicht möglich, da in der Wartezeit keine Aktionen und Funktionen ausgeführt werden...