Arduino Programm starten nach Eingabe?

2 Antworten

Hallo,

mit einem Unterprogramm kannst du sowas machen, und im loop tust du die eingaben auswerten, bis bestimmte kombination (in einer bestimmten Zeit) erfüllt wurde dann erst wird das Unterprogramm ausgeführt :)

Hallo, erstmal vielen Dank.

Doch ich habe bedenken, ob das zum gewünschten Ergebnis führt, da void loop dauerhaft laufen sollte. Die Eingabe soll nur einmal erfolgen, um loop zu starten, nachher jedoch nicht mehr. Wäre das so möglich?

0
@Meisma

Du kannst ja eine Globale boolsche Variable definieren:

bool ErsterStart= true;

in der void loop (oder void setup) schreibst du dann:

void loop{
   while(ErsterStart) {
   bool abbruch = false;
   abbruch = PinCheck();
   if (abbruch = true){
     ErsterStart = false;
        }
   }
}
bool PinCheck(){
//programmieren wie das Programm feststellt erstmals auslösen zu sollen. 
//Return true, falls Joystick oben. Else: Return false
}
1

Also vom Konzept her würde ich es an meiner Stelle so machen, dass ich auf Input des Joysticks warte. Wenn dieser in die bestimmten Richtungen in einer von mir festgelegten gewissen Zeit richtig betätigt wurde, dann würde ich den Code ausführen. Wenn der Joystick dann nach X Sekunden/Minuten/Stunden nicht mehr betätigt wurde, würde ich wieder zur Anfangsposition gehen.

Wie das letztendlich in Arduino/C(++) umzusetzen ist, ist deine Aufgabe.

Genau das habe ich mir vorgestellt. Leider scheitere ich bisher bei der Umsetzung in Arduino IDE...

0

Was möchtest Du wissen?