Hallo liebe Community,
ich bin neu hier und beschäftige mich mit dem Arduino Uno Rev3 bzgl. der Uni.
Mein Projekt ist eine Lichtschranke (Laser auf LDR) welche via Ethernet abrufbar seien soll. So weit, so gut.
Der LDR verändert ja je nach Lichteinfall seinen Widerstand. Die Spannung lese ich an einem analogen Eingang des Arduino ein.
Wenn ein bestimmter Wert überschritten wird (hier 4< V) wird im Browser (alle 1,5 Sekunden wird refresht) angezeigt, dass jemand die Schranke unterbrochen hat. Gleichzeitig zählt ein Zähler mit.
Ich möchte nun, dass ich mit einem Button im Browserfenster diesen Zähler als client wieder auf 0 setzen kann.
Mein Problem ist, dass ich keine Ahnung habe, wie ich einen Button in html-Form so programmiert bekomme, dass er beim Draufklicken eine Variable auf 0 setzt.
Meine Informatikkenntnisse sind schlecht und ich weiß nicht weiter.
Moin,
was hast du denn bis dato auf dem Arduino laufen, dass musst du ja auch irgendwie programmiert haben, oder?
Diesen Code könntest du hier schonmal veröffentlichen.
Dann solltest du uns sagen, was für Module/Shields du ansteuerst (ist da eine Netzwerkkomponente mitdabei) oder ob deine HTML-Seite auf nur einem Rechner liegen soll!
Auf jeden Fall musst du dir das Serial.read() und SELFHTML-Wiki. Dann weißt du schon in etwa wie ein Input ausgewertet wird und wie man einen Input per HTML/PHP erzeugen kann!
Anschließend musst du diebeiden Komponenten "nur" noch verbinden, Blutooth,Ethernet und WLAN sind aus meiner sicht die einfacheren Möglichkeiten. Du könntest sicherlich auch per Scriptekombination aus HTML /Javascript oder cgi-bin irgendwie die Konsole ansteuern.
mfg
Balli
Also ein HTML-Button solltest du definitiv von alleine schaffen zu programmieren, wenn du soweit gekommen bist-probier es einfach mal aus und poste deinen HTML Code, den kriegen wir dann schon verbessert. Du erzeugst einfach eine Textdatei, änderst die Endung und bearbeiten kannst du den Spaß in einem Editor deiner Wahl(z.B. pspad) und die Datei ziehst du dann einfach in Browser.
Ansonsten gibt es hier ein Thread in dem die Geschichte sehr schön Schritt für Schritt erklärt wurde-da ging es um eine Gewächshaussteuerung.
mfg
balli
Sorry, aber ich glaube Dein Ansatz ist schon etwas fehlerhaft. So wie Dein Programm arbeitet, wird nur in dem Moment die Lichtschranke geprüft, wenn gerade die HTML-Seite an einen Client geliefert wird. Selbst wenn Du den HTML-Code so baust, das der Browser die Seite jede Sekunde aufruft, ist die Wahrscheinlichkeit immer nocht ziemlich klein, das die Abfrage genau im richtigen Moment kommt.
Bevor Du Dir also Gedanken um das Zurücksetzen des Zählers machst, würde ich erstmal eine bessere Lösung zum Auslesen der Lichtschranke bauen.
Der erste Ansatz könnte sein, das das Auslesen und Zählen innerhalb der loop() Funktion zu machen, aber außerhalb des Webserver-Codes. Innerhalb des Codes wird dann nur noch die Variable des Zählers verwendet.
Was das Auswerten eines Buttons angeht, das ist nicht weiter kompliziert, da Du ja nur ein "Flag" setzen willst, das dem Code sagt, das der Zähler wieder auf Null gesetzt werden soll. Also baue dafür erstmal einen einfachen HTML-Code (plain HTML nicht im Arduino) der ein Tag und innerhalb des Formulars ein <input ..> Tag hat. Das Formular per "GET" () zu übergeben macht die Sache auch leichter, da dann dein Input-Button in der URI codiert ist und Du recht einfach per String-Suche nach dessen HTML-Namen suchen kannst.