아두이노

바운스 버턴

내동 2021. 10. 15. 06:45

const int buttonPin = 2; 
const int ledPin = 13;   
int ledState = HIGH;     
int buttonState;         
int lastButtonState = LOW;

unsigned long lastDebounceTime = 0; 
unsigned long debounceDelay = 50;   

void setup() {Serial.begin(9600);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, ledState);
}

void loop() {
  int reading = digitalRead(buttonPin);
  if (reading != lastButtonState) {lastDebounceTime = millis(); }

  if ((millis() - lastDebounceTime) > debounceDelay)
    { if (reading != buttonState)
      { buttonState = reading;
      if (buttonState == HIGH) { ledState = !ledState; }
       }
     }
  digitalWrite(ledPin, ledState);
  lastButtonState = reading;
    Serial.print(reading); Serial.print("    ");
    Serial.println(ledState);
    }

 

 

const int buttonPin = 2; 
const int ledPin = 13;   
int ledState = HIGH;     
int buttonState;         
int lastButtonState = LOW;

unsigned long lastDebounceTime = 0; 
unsigned long debounceDelay = 100;   

void setup() {Serial.begin(9600);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, ledState);
}

void loop() {
  int reading = digitalRead(buttonPin);
  if (reading != lastButtonState) {lastDebounceTime = millis(); }

  if ((millis() - lastDebounceTime) > debounceDelay)
    { if (reading != buttonState)
      { buttonState = reading;
      if (buttonState == HIGH) { ledState = !ledState; }
       }
     }
     if(ledState== HIGH){ analogWrite(ledPin, 150);}
     else{digitalWrite(ledPin,0);}
  lastButtonState = reading;
    Serial.print(reading); Serial.print("    ");
    Serial.println(ledState);
    }

'아두이노' 카테고리의 다른 글

RPM측정  (0) 2021.12.18
감 깍는 모타  (0) 2021.10.29
Table Tennis  (0) 2021.08.17
Pid  (0) 2021.06.13
controlling N20 Micro gear motor with encoder using arduino  (0) 2021.05.29