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 留言:
張貼留言