Hallo ich habe vor kurzem meine Steuerung für mein Luftfahrwerk fertig bekommen.
Anfangs hatte ich noch zwei knöpfe für hoch und runter. Die habe ich aber jetzt gegen eine IR Fernbedienung getauscht. Seit dem habe ich das Problem das er die Codes immer in dauerschleife abspielt und man kann kein anderes Programm auswählen.
Willst Du helfen?
Dann:
In der Arduino-IDE auf BEARBEITEN - FÜR FORUM KOPIEREN.
Editiere Deinem Ausgangspost indem Du den Code komplett markierst und mit STRG-V mit dem kopierten überschreibst.
Neu speichern.
Das wird...
n paar "}" zuviel?
An anderer Stelle sehe ich das Problem auch.
Tip: Eine Klammer pro Zeile und dann in der IDE Strg+T zum formatieren drücken, vlt findest Du dann den Fehler selber.
Also vorher ging es mit zwei Buttons.
wenn man zB Button 1 gedrückt hat und der Sensor unter 1,6V angezeigt hat, hat er über Pin 8 solange Luft rein gepumpt bis er auf diesen Wert war.
Jetzt stehen bei dem Serielen Monitor keine Wert mehr wie zB Luft vorne ok sondern es ist wie wenn ich permanent auf der Taste oben wäre.
Das ist eine Warnung. Die gibt es im Compilerfenster. Hinweis darauf, das Du Dich einer neueren Verarbeitung zuwenden sollst.
Nochmal:
Ich werde aus dem Code nicht schlau.
Beschreibe was Du da machen willst!
Oder bring den Code der mit Tasten funktionierte.
Dann könnte man mit hoher Wahrscheinlichkeit richtig raten.
Also wenn auf meiner Fernbedienung taste 1 gedrückt wird soll der Ardurino checken wie viel Spannung auf den Sensoren anliegt. Sollte diese Spannung unter 1,6V sein soll er über ein Magnetventil so viel Luft in das System pumpen bis 1,6V erreicht sind. (das ganze geht über 2 Pinouts für das Magnetventiel und 1 Input für den Sensor 2x ( Vorderachse und Hinterachse)
Wenn Ich auf der Fernbedienung Taste 0 drücke soll der Ardurino checken ob mehr wie 0,3V anliegen wenn ja soll er die Luft ablassen bis der Sensor den Wert 0,3V erreicht hat.
(2 Pinouts für Magnetventil und 1 Input für den Sensor)
Hallo
Sollen wir jetzt Deinen Sketch berichtigen oder schaust du dir dafür die SWITCH/CASE Anweisung an.
BTW. Die Funktion irrecv.resume(); brauchst Du nur einmal aufrufen, dann wenn der IR-Empfänger ein neues Datum zur Verfügung gestellt hat.
Viel Erfolg und Spass beim Codieren.
Das wird nischt.
Du fragst zweimal auf 16724175 ab - allerdings ist das Erste noch nach der Abfrage, ob überhaupt Daten vorhanden sind.
Das zweite Mal ist .resume() schon gelaufen.
Und Du trennst die Aktionen nicht sauber.
Und spätestens hier:
if (results.value == 16738455)
{
if (voltage > 1.6)
{
digitalWrite (9, HIGH);
Serial.println ("Ab vorne");
delay(500);
irrecv.resume();
}
if (voltage < 0.3)
{
Serial.println (voltage);
digitalWrite(9, LOW);
delay(500);
}
if (results.value == 16738455)
ist Schluß.
Wenn Du das mit Tasten schon mal hattest, dann würde ich mich darüber sehr freuen es zu sehen.
Und ja, dann bau ich dazu was.
also bei dieser Switch/Case Methode blicke ich gar nicht durch
Hab leider den Sketch nicht mehr aber wie oben schon gesagt habe ich nur digtitalRead mit dem IR Signal ausgetauscht.
Bin es ja so ca 3 Tage gefahren.
lg
Ich glaub Dir nicht.
Aber egal.
Hier ein Vorschlag, damit Du wenigstens irgendwas hast, was geht.
Ausgangspunkt ist Dein Post #12 - So wie da geschrieben.
Der Code kompiliert nicht.
Aber zeigt Dir wie es geht.
Den Rest musst Du selbst machen.
Iss ja nu nicht so schwer.
Im Übrigen, wenn Du nur 2 Tasten abfragen willst, solltest Du nicht drei vorsehen...