NXT-Touch Sensor
首先來介紹下NXT的線
NXT-線材
看起來很像電話線(題外話)
好 拿起線材看一下他裡面的顏色吧!
NXT的線是固定的顏色
由右至左看的話
白 , 黑 , 紅 , 綠 , 黃 , 藍
每條線都對不同的Sensor都有不同的意義
所以千萬別亂接
為了要接到RoBoard上
可能需要買轉接頭 (如果要直接剪線直接做也是可以)
需要注意的一點是
白線要特別做一個10歐姆的電阻然後要並聯接起來(圖上是9+1)
一切準備就緒後
將Sensor接上RB吧!
首先
將白線10歐姆那條 接到VCC(5V)
白線 無電阻的那條接到 AD
黑線 接到GND
紅線 接到AD的GND
這是標準的接法 (讓兩條共地)
小提醒: 要先接地再接電比較安全喔
注意別接錯了 Sensor燒壞... 不負責...
程式部份
基本上 他只是讀取AD值
未按下時通常為5V(值1023左右)
被按下時會變到0.93V(值190左右)
範例影片:
範例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 == ADC_READFAIL){
printf("error\n");
break;
}else{
if(val < 512 && !setDo){
setDo = true;
system("CLS");
printf("PRESS\n");
}else if(val >= 512 && setDo){
setDo = false;
system("CLS");
printf("RELEASE\n");
}
}
}
spi_Close();
return 0;
}




0 留言:
張貼留言