Arduino Due > Stoppuhr > Webserver > Excel

Hallo
Ich habe ein Projekt mit einer Stoppuhr die Ergebnisse werden mit Hilfe eines Ethernet Shildes
in ein Web-Server geschrieben und von Excel übernommen.
Es funktioniert auch im testbetrieb. Da ich keine grosse Erfahrung habe mit Arduino habe weiss ich nicht ob ich bei der Programmierung Fehler gemacht habe.

Meine bedenken sind:

Abfrage der Zeiten von Excel "bremst" das die Zeitmessung?
Ist der Arduino schnell genug dies ohne Interupts zu machen?

Der Ablauf des Programmes Kurtz erklärt:
zwei Fahrer stehen an einer Start Ampel
Die erste Lampen leuchtet -> Lampe1
eine Sekunde Pause
die zweite leuchtet -> Lampe2
eine Pause mit Zufallszahl 0.8 bis 2.4 Sekunden
Die Start Ampel leuchtet -> Lampe3
wenn ein Fahrer zu früh startet gibt es einen Fehlstart ->Fehlstartlampe (Linke oder rechte Bahn)
der erste der hinten ist hat gewonnen -> Siegerlampe (Linke oder rechte Bahn)
es gibt 4 Lichtschranken pro Bahn (total 8 Lichtschranken)
erste Lichtschranke zeigt dem Fahrer das er auf der Startlinie ist ->PositionLampe (Linke oder rechte Bahn)
zweite Lichtschranke misst allfälliger Fehlstart
dritte Lichtschranke kurz vor Ziel für Geschwindigkeitsmessung (zusammen mit 4.LS)
vierte Lichtschranke Zeitmessung beendet.
Dann noch start und reset Knopf

Der VB-Code der Excel alle sek den Webserver Abfragt funktioniert mittlerweile.

Der Arduino Sketch habe ich angehängt. Wenn da einer verbesserungsvorschläge hat - gerne

Zeitmessung mit 3 Nachkommastellen realistisch?

Es ist keine Profiveranstalltung bei der jetzt alles perfekt sein muss. Eher es soll für alle gleich sein.

Besten Dank

Stopuhr Ampel.ino (29.5 KB)

Hallo,

Veröffentlichen Sie Ihren Code zwischen den Code-Tags.

wenn du Zeitbedenken bei der http-Abfrage hast würde ich keinen HTTP Refresh machen, sondern einmalig die Seite aufbauen und dann nur mehr mittels Javascript/AJAX aktualisieren. Genau diesen AJAX Request dann auch vom Excel abfragen lassen um die zu übertragenden Daten (massiv) zu reduzieren.

Weiters würde ich

  • RAM sparen und alle Fixtexte mit dem F-Makro versehen, sowohl im Client wie im Serial!
  • Client.prints aufs minimum reduzieren, um Paketgröße zu sparen.
          client.println(F("
"
                              "
"
                              "
"
                              "Bahn Links: "));

Falls du den Webserver nicht unbedingt brauchst kannst du die Werte auch direkt seriell zu Excel senden,ich hab das mal zum Test mit einem Uno ausprobiert. Funktioniert sehr gut und sieht cool aus wenn aus den Diagrammen Animationen werden.

Gruß

Danke für die tipps

Ich werde die Datenmenge mal reduzieren. Texte muss ich eigentlich gar keine im Webbrowser haben.

Das mit dem Javascript/AJAX aktualisieren vom Arduino wie auch von Excel währe wohl DIE Lösung.
Wie sehe so ein Befehl aus. Hab da keine Ahnung?