목차

IbounceOn()

IbounceOn()는 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다.

IbounceOn 명령어 동작 흐름

bool IbounceOn(uint8_t pin, uint32_t debounceTime)

명령어

명령어 인수 반환값 동작
IbounceOn(pin, debounceTime) uint8_t pin — 입력 핀번호
uint32_t debounceTime — 안정 상태 확인 시간(ms)
bool 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다.

예제

const uint8_t START_INPUT = 0;
const uint8_t STOP_INPUT = 1;
const uint8_t RUN_OUTPUT = 32;
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  const bool start = IbounceOn(START_INPUT, 100);  // 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다.
  const bool stop = IbounceOff(STOP_INPUT, 100);  // 입력이 ON에서 OFF로 바뀔 때만 시간 필터를 적용합니다.
  const bool run = start && !stop;
  digitalWrite(RUN_OUTPUT, run ? HIGH : LOW);
 
  static bool previousRun = false;
  if (run != previousRun) {
    previousRun = run;
    Serial.println(run ? F("motor RUN") : F("motor STOP"));
  }
}

주의사항

Ibounce 계열은 상태를 기억하므로 loop()에서 계속 호출하십시오. 사용하는 제품의 실제 핀 또는 논리 채널을 지정해야 합니다.

같은 카테고리의 내장 명령어

← 내장 명령어 리스트