Befehle für Tastatureingaben von Arduino zu Cerea

  • Mögliche Kommandos:


    // on marc
    // on contur
    // on new
    // on a
    // on b
    // on auto
    // on left
    // on right
    // on turn left
    // on turn right



    Serial.print ("@SDOSE;1;0;0;0;0;0;0;0;0;0;0;END"); //wenn Kontakt frei Marc ein
    Serial.print ('\r');
    Serial.print ('\n');


    Serial.print ("@SDOSE;0;0;0;0;0;0;0;0;0;0;0;END"); //wenn Kontakt auf GND Marc aus
    Serial.print ('\r');
    Serial.print ('\n');



    neue Befehle:


    Serial.print ("@MARC"); //Simuliert das Drücken der Marc Taste
    Serial.print ('\r');
    Serial.print ('\n');


    Serial.print ("@AUTO"); //Simuliert das Drücken der Auto Taste
    Serial.print ('\r');
    Serial.print ('\n');

    • Offizieller Beitrag

    Um die Eingabe von Befehlen zu erweitern, sollte man mit Variablen Arbeiten.


    Erst einmal Variablen declarieren und Inhalt definieren:

    Code
    string StrMarc="0;";string StrContur="0;";string StrNew="0;";string StrA="0;";string StrB="0;";string StrAuto="0;";string StrLeft="0;";string StrRight="0;";string StrTurnLeft="0;";string StrTurnRight="0;";


    Mit den Variablen kann man die einzelnen Funktionen zu den Ausgabestring zusammen Basteln und der aktuelle Schaltzustand wir gespeichert!


    Kommen wir jetzt zum ändern eines Schaltzustandes:


    Als erstes fehlt für mich eine Variable, die als Merker dient, ob sich ein Schaltzustand geändert hat!

    Code
    int merker=0;


    Für die Eingabe muß noch ein Pin deklariert werden

    Code
    pinMode(10, INPUT_PULLUP);   // Marcar ein oder aus


    Hier Pin 10 für Marca, kann jeder machen wie er will
    z.b.

    Code
    pinMode(15, INPUT_PULLUP);   // Auto ein oder aus


    Jetzt die Pinabfrage: (Hier Marca auf Pin 10 nur als Beispiel)

    Code
    if (digitalRead(10) == HIGH)  // pin 10 Abfragen Taste für Marca  {    do {} while (digitalRead(10) == LOW); // entprellen    if (StrMarc == "1;") // Marca ändern    {      StrMarc = "0;";    }    else    {      StrMarc = "1;";     }    merker=1; // es wurde was geändert  }


    Zum Schluß wird, falls es ein Änderung gegeben hat, Der String für Cerea zusammen gebaut und Abgeschickt:

    Code
    if (merker == 1)
      {
        merker=0; // zurücksetzen
        Serial.print ("@SDOSE;"+StrMarc+StrContur+StrNew+StrA+StrB+StrAuto+StrLeft+StrRight+StrTurnLeft+StrTurnRight+"END"); //String für Cerea
        Serial.print ('\r');
        Serial.print ('\n');
      }


    Dies soll ein Beispiel sein, wie eine Tasteneingabe über dem Arduino zu Cerea aussehen könnte. Wahrscheinlich sind da Fehler enthalten, aber als Beispiel und Funktion einer Eingabe über Arduino sollte gegeben sein.


    Bitte ergänzen

    • Offizieller Beitrag

    Auf den Arduino Pro Micro läuft das Programm bei mir so nicht.
    wenn ich den Teilbreitenteil lösche geht es.
    Cerea hängt sich aber oft auf, was aber auch daran liegen kann, das ich kein Taster sondern eine Kabelstecker benutzt habe, außerdem schlechtes Gps hatte(ich stand in der Garage).


    Hier Klaus sein Sketch ohne Teilbreiten Teil
    Tasten4.zip

  • Vielleicht kann einer von Euch uns helfen. Junior programmiert mir nen Arduino uno. Fürs erste wollte ich über ein Relais das markieren ein und ausschalten sowie autosteer ein und ausschalten. Wenn ich das richtig verstanden habe funktioniert die Übertragung über das senden von Buchstaben. Also je nach Einstellung im konfigurationsfile on cerea beispielsweise "m" zum einschalten der markierfunktion mit steigender flanke und nochmal "m" zum wieder ausschalten bei fallender flanke. Das auswerten haben wir soweit hinprogrammiert aber wie sendet man das? Wenn man das einfach über die serielle Schnittstelle sendet, kommt der Buchstabe im cerea nicht an. Wenn ich eure vorschläge so sehe dann muss man das über seriell drucken oder wie geht das?

  • Hallo, gut. Ich bin neu in diesem Forum, und Spanisch, ich möchte einen Knopf mit dem Knopf Auto und mit einem induktiven Sensor herstellen. Wenn Sie den Aufzug heben, hören Sie auf, die Cerea zu bemalen. Kannst du mir helfen, das Arduino zu programmieren?


    Grüße


    PS: Verzeih mein Deutsch.

    • Offizieller Beitrag

    Hast du den Anhang noch?

  • Hallo Leute!


    Ich bräuchte bitte eure Hilfe, da ich mit meiner Weisheit anstehe!


    Ich hab von Riku (danke an dieser Stelle) die Touchsrceen-Bedieneinheit nachgebaut und wollte 2 Tasten ersetzen und verwenden für automatisches Wenden!


    Ich hab mich dazu an Daniel auf Github gewendet und er hat mir einen neuen Sketch geschrieben.


    Die Oberfläche sieht sehr gut aus... alle Tasten funktionieren außer die beiden zum Wenden.

    Das Bedienelement reagiert bei Tastendruck aber in Cerea kommt nichts an.

    Wir kommen leider nicht drauf, was hier das Problem sein könnte!


    Hat von euch denn jemand Erfahrung und einen Rat?


    Danke!


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    Hier der Link zum Sketch auf Github;


    https://github.com/danrauch/ar…emote/cerea-remote.ino#L1

  • Hallo Leute,

    Habt ihr das Problem gelöst bekommen würde mich nehmlich auch interessieren? Gruß michael