NXT-Light Sensor
上次已經介紹過了線材
所以這次就不多說了
Light Sensor要用到的線有5條
白,黑,紅,綠,黃
白 ─┬─●──VCC(5V)
└────AD
黑 ──────GND
紅 ──────AD-GND
綠 ──────VCC(5V)
黃 ──────GPIO(3.3V)
藍
附註: ●代表10歐姆電阻
黃線的GPIO其實是控制紅色LED亮暗用的
在範例程式中沒有用到GPIO 是因為本魔直接使用I2C的3.3V
這樣LED就會一直亮著(有點偷吃步啦)
Light Sensor的原理其實是由一個LED燈 與一個光明感測器做成的
平常是拿來走軌跡用的
因為黑色會吸光 白色會反光 所以LED照下去後 讀取到的值會有差
而我影片中用的... 並不是專門用的.. 所以反光效果較不穩定
範例影片:
範例code:
#include "stdio.h"
#include "conio.h"
#include "roboard.h"
int main(){
roboio_SetRBVer(RB_110);
int val = 0;
bool setDo = false;
spi_Init(SPICLK_21400KHZ);
while(!kbhit()){
val = adc_ReadCH(0);
if(val < 500 && !setDo){
setDo = true;
system("CLS");
printf("LIGHT\n");
}else if(val >= 500 && setDo){
setDo = false;
system("CLS");
printf("DARK\n");
}
spi_Close();
return 0;
}


0 留言:
張貼留言