debounce maar dan anders?

Arduino specifieke Software
Berichten: 68
Geregistreerd: 28 Aug 2012, 15:14

Re: debounce maar dan anders?

Berichtdoor Nald » 05 Dec 2012, 11:51

om terug on topic te komen, eventueel voor andere mensen die met hetzelfde probleem zitten.

Het probleem was dat wanneer ik bereik verloor, de arduino er mee stopte. Ik wilde dat wanneer het bereik met bv 1sec wegviel, dat de arduino doorging met zijn opdracht en wanneer hij weer contact maakte, weer op dezelfde voet verder ging.

Ik heb dit als volgt opgelost:

Code: Alles selecteren
int buttonPin=3;
int breading;

unsigned long debounce;
int storing =5000;   //5 sec om het zivhtbaar te maken.

int buttonState = HIGH;
int buttonPushCounter = 1;
int lastbuttonState=LOW;

void setup(){
  pinMode (buttonPin, INPUT);
  Serial.begin(9600);
}

void loop(){

  unsigned long now = millis();
  breading=digitalRead(buttonPin);

  if (breading==HIGH){
    debounce =now;
    buttonState=HIGH;
  }

  if (breading==LOW){
    if (now-debounce<storing){
      buttonState=HIGH;
    }
    else
    {
      buttonState=LOW;
    }
  }


  if (buttonState != lastbuttonState){
    if (buttonState == HIGH){
      buttonPushCounter++;
    }
  }
  lastbuttonState= buttonState;
}

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: debounce maar dan anders?

Berichtdoor pjh » 06 Dec 2012, 21:35

heel goed dat je terug komt om je oplossing te delen. Er zijn vele wegen die naar Rome leiden... Deze lijkt me prima! Maar.... wie ben ik....:-)

Vorige

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten