紅外避障使用很簡單,就是OUT口檢測到有效距離内有障礙物時,給OUT發送高電平(或低電平)。可以利用這一特性,進行計數。
需要注意的是,根據障礙物在識别範圍内所停留的時間不同,子產品可能會在障礙物停留的這一段時間頻繁的發送高電平(或低電平),是以,要判斷兩個标志,一個是障礙物進入,一個是障礙物移出,保證在進入後隻記錄一次資料即可。
代碼如下:
int i=; //計數
bool b=false; //障礙物是否進入
void setup() {
Serial.begin();
pinMode(,INPUT);
}
void loop() {
if (digitalRead()==LOW) //如果發送低電平,識别到障礙物進入
{
if (b==false) { //如果上一次檢測時,障礙物沒有進入,則視為第一次進入。
b=true; //先将标志記錄為障礙物已進入。
i+=; //計數+1
Serial.print("OK:");
Serial.println(i);
}
}
else { //如果檢測到障礙物移出
b=false; //将标志記錄為障礙物已移出。
}
delay();
}