RoBoard魔人的機器人日誌

2012/1/19

[NXT系列第二彈] RoBoard控制Light Sensor

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;
}
Share:

0 留言:

張貼留言

技術提供:Blogger.

追蹤者