材料:
- CNY70 x 1
- 電阻 220 歐姆 x 1
- 電阻 10k 歐姆 x 1
下面是將 CNY70 和 Arduino 連接的配置圖:
由俯視圖來看,如果 CNY70 的 Mark 在右側,右側是紅外線收接端 (D),而左側是紅外線發射端 (E)。如果 CNY70前是黑色的,A0 會呈現低電位狀態,相反的,如果 CNY70 前是白色時,A0 會是呈現高電位狀態。
我們可以利用下面的程式碼來觀察數值的變化:
const int irPin = 0;
void setup() {
Serial.begin(115200);
pinMode(irPin , INPUT);
}
void loop() {
int irVal = analogRead(irPin);
Serial.println(irVal);
delay(100);
}
利用觀察到的數值,如果再加兩顆馬達,就可以玩追著黑線跑的自走車了:
- 如果數值是黑色的範圍,就驅動前進的馬達。
- 如果數值是白色的範圍,就驅動左右轉的馬達,先順(逆)時轉一下,找不到黑線就再反方向轉,找到了就繼續驅動前進的馬達。
如果用更多顆 CNY70 ,就可以更精準的判斷方向。
沒有留言:
張貼留言