LEGO 講義3 1. Hitechnic 紅外線sensor介紹 2. Hitechnic 顏色sensor介紹 5. 期末Project規定
Introduction 除了LEGO原廠套件所包含的sensor以外,也有其他公司所出品,支援NXT的多種sensor。 以下為Hithchnic公司所生產sensor的簡介,包含: 紅外線 sensor 顏色 sensor 加速度 sensor 電子羅盤
1. HITECHNIC 紅外線SENSOR
Hitechnic 紅外線sensor sensor內部含五顆紅外線感測器,分別以60度散開。 程式寫法可使用超音波的宣告方式。
2. HITECHNIC 顏色SENSOR
Hitechnic 顏色sensor 根據顏色差異傳回不同值。 程式寫法可使用超音波宣告方式。 測試方法:View->Ultrasonic cm 注意sensor距離不可太近或太遠,否則可能讀不到值。 讀值總共1到17,請依實際環境測試為準。(下圖僅供參考) 1 2 3 4 5 6 7 8 9 10
3. HITECHNIC 加速度SENSOR
Hitechnic 加速度sensor 加速度計,測量重力加速度的方向 程式寫法可使用超音波宣告方式。 水平面往上讀值為1-50,往下為255-205。 測試方法:View->Ultrasonic cm
4. HITECHNIC 電子羅盤
Hitechnic 電子羅盤 電子羅盤程式寫法也可使用超音波的宣告方式。 測試方法:View->Ultrasonic 讀數乘上2為實際角度,以sensor頭對準,正北邊讀數0度、東邊讀數45度(x2即90度) 、南邊讀數90度、西邊讀數135度、接近北邊讀數至179度為止。 請注意sensor的方向,否則可能會發現東西向是相反的,組裝前請先確認sensor方向正不正確。
Multithreading & #define 範例 以電子羅盤為範例的程式: #include "NXCDefs.h" task main(){ SetSensorLowspeed(IN_1); // 同超音波的宣告方式 int dir; while(true){ dir = SensorUS(IN_1); // 讀取sensor數值 NumOut(0, LCD_LINE1, dir, true); // 印出dir的值 if(dir>125 && dir<145) OnFwd(OUT_A,50); else Off(OUT_A); }
實驗練習 請同學以事先組好的輪型機器人,加上超音波sensor與光感sensor。做出能在黑線範圍內避障的機器人,場地會用黑色膠布圍住,內部任意位置會放置障礙物,機器人功能需保持在黑線範圍內,並以超音波sensor避開障礙物。 Bonus:另外裝上touch sensor,以touch sensor當作程式執行/暫停的切換開關。
期末Project規定