사용자 도구

사이트 도구


commands:ibounce

문서의 이전 판입니다!


Ibounce()

Ibounce()는 입력 상태가 지정한 시간 동안 상태가 변하지 않고 유지된 값을 반환하는 함수입니다. 입력이 짧게 흔들리거나 기계식 스위치에서 채터링이 발생해도 안정된 상태만 반환합니다.

이 함수는 delay()처럼 프로그램을 멈추지 않으므로 loop()에서 계속 호출할 수 있습니다.

Ibounce 입력 필터 동작

명령어

bool Ibounce(uint8_t pin, uint32_t debounceTime)

명령어 인수 반환값 동작
Ibounce(pin, debounceTime) pin: 디지털 입력 핀 또는 논리 입력 번호
debounceTime: 상태 유지 시간(ms)
bool 입력 상태가 지정한 시간 동안 변하지 않으면 유지된 값을 반환합니다.

예제

다음 예제는 MPAINO의 첫 번째 디지털 입력 0을 50ms 동안 필터링하여 첫 번째 디지털 출력 64로 전달합니다.

void loop() {
  // 입력 0번의 상태가 50ms 동안 변하지 않으면 유지된 값을 반환합니다.
  bool inputState = Ibounce(0, 50);
  digitalWrite(64, inputState);
}

주의사항

  • Ibounce()는 ON과 OFF 양방향에 같은 안정 시간을 적용합니다.
  • loop()에서 짧은 주기로 계속 호출해야 합니다. 호출 간격이 길면 입력 상태 반영도 늦어집니다.
  • debounceTime을 길게 설정하면 노이즈에는 강해지지만 정상 입력의 응답도 그만큼 느려집니다.
  • pin은 사용하는 제품의 입력 번호 기준을 따라야 합니다. MPINO는 제품별 Arduino 디지털 입력 핀 번호를 사용하고, 지원되는 MPAINO는 0부터 시작하는 논리 입력 번호를 사용합니다.
  • 유효하지 않은 핀 번호를 지정하면 false를 반환합니다.

← 내장 명령어 리스트

commands/ibounce.1788250221.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki