Arduino Taste "speichern"

Wattsi

User
Taste
Taste drücken = LOW
Taste loslassen würde HIGH ergeben, es soll aber weiterhin der Zustand LOW gespeicher bleiben und erst später zurückgesetzt werden.

Ich schaffe es nicht

Wolfgang
 
Und was ist jetzt genau dein Problem? Ein wenig mehr Informationen wäre hilfreich. So kann dir keiner helfen.
Kann es sein dass du noch wenig bis keine Erfahrung hast mit Arduino-Programmierung?

Gruss Lukas
 

Eckehard

User
Toggle Button

Toggle Button

Hallo,

schau mal in das folgende auf das aufs wesendliche Reduzierte.....

Einmal btnLEFTgedrückt
-> toggle = HIGH,
nochmal gedrückt
toggle -> LOW
nochmal gedrückt
toggle -> HIGH
...


Code:
...
int toggle = LOW;  // variable for toggling between THROW and SECANT
...
...
int read_LCD_buttonsFunction()
{
  adc_key_in = analogRead(0);      // read the value from the sensor / KeypadShield
  // the values depends on KeypadShield, use
  if (adc_key_in > 1000) return btnNONE;
  if (adc_key_in < 50)   return btnRIGHT;
  if (adc_key_in < 150)  return btnUP;
  if (adc_key_in < 300)  return btnDOWN  ;
  if (adc_key_in < 500)  return btnLEFT;
  if (adc_key_in < 700)  return btnSELECT;
  return btnNONE;
}
...

/*******************************************************************************************/
/************************************** FUNCTION SETUP *************************************/
/*******************************************************************************************/
void setup() {
...
}
/*******************************************************************************************/
/**************************************** FUNCTION MAIN LOOP *******************************/
/*******************************************************************************************/
void loop() {
...

  lcd_key = read_LCD_buttonsFunction();

  switch (lcd_key)               // depending on which button was pushed, we perform an action
  {
    case btnSELECT:
      {
...
      }

    case btnLEFT:
      {
        if (toggle == HIGH) {
          toggle = LOW;
        }
        else {
          toggle = HIGH;
        }
        delay (300);
        break;
      }

    case  btnUP: {
...
      }
...

    default: {
...   
  }
...

        if (toggle == HIGH) {
...
        }
        else {
...
        }
}

Grüße
Eckehard
 

Wattsi

User
Und was ist jetzt genau dein Problem? Ein wenig mehr Informationen wäre hilfreich. So kann dir keiner helfen.
Kann es sein dass du noch wenig bis keine Erfahrung hast mit Arduino-Programmierung?

Gruss Lukas
Danke für die bisherigen Hilfen
Information:
Die Kurbel eines Scheibenwischermotors läuft übern einen Mikroschalter, der Motor soll stoppen, MS == LOW, läuft aber wegen des Schwungs über den MS. der jetzt wieder MS== HIGH ist, daher läuft der motor weiter, was er aber nicht soll....
Die Vermuting ist richtig, aber irgendwo muss ich ja anfangen....
Ich habe schon dran gedacht ein RS IC aus der Grabbelkiste als Speicher zu verwenden:confused:
oder mit delay und erneutem if???

Neuer Versuch>>>

Hab's hingekriegt.:)
 
Ansicht hell / dunkel umschalten
Oben Unten