2012年9月18日 星期二
2010年12月27日 星期一
樂高網路影片分享
影片中NXT的OutPort沒有接任何一條線卻可以行走,為什麼???
因為NXT的馬達不是只有一種可以使用,更多的介紹請看 探奇邱老師用PF馬達把樂高NXT融入日常生活中
把你的數位相機攝影功能打開裝在樂高上你就是導演「Michael Bay」
光用看的就知道這不是一般人做的出來的「逸品」
樂高NXT溝通與協調運作
這次打算要作兩台NXT可以互動的設計,一台NXT做取出物件的服務、另一台NXT軌跡車做搬運的服務,兩台NXT透過藍牙溝通協調達成任務。
軌跡車要加上置物與頃倒的功能,而下面這台NXT要負責拿取物件與告訴軌跡車物件的顏色,讓軌跡車運送到對應顏色的指定地點頃倒。
以上都是想法,接下來要如何實踐才是挑戰 !!
軌跡車要加上置物與頃倒的功能,而下面這台NXT要負責拿取物件與告訴軌跡車物件的顏色,讓軌跡車運送到對應顏色的指定地點頃倒。
以上都是想法,接下來要如何實踐才是挑戰 !!
2010年12月21日 星期二
NXT 軌跡車馬達 PID 控制
在做NXT軌跡車設計時如果路線是轉彎度平滑筆直的時候NXT走得很順利,但如果把路線的轉彎角度變大時會發現NXT有時會偏離路線走失了。
這是因為NXT左右兩顆驅動馬達的反應速度跟不上路線的變化導致無法即時修正,這時候就是馬達PID控制可以發揮所長的地方,因為除了比例P模式之外還有微分模式、積分模式可以更快速反應路線的變化資訊給NXT做必要的修正。
比例P模式:P(t) = E(t) LightSensor與Motor電力比例值
積分I 模式:I(t) = I(t-1) + E(t) 每次讀取比例值的累積
微分D模式:D(t) = E(t) – E(t-1) LightSensor 前次與本次差異值累積
這三個參數的調整方式都有不一樣的效果建議大家試試看,如何走的順又平穩就是最佳的參數值,像影片中的走法還有改進的空間雖然LightSensor一直維持在黑線中間但電力的供應還不夠平順。
這是因為NXT左右兩顆驅動馬達的反應速度跟不上路線的變化導致無法即時修正,這時候就是馬達PID控制可以發揮所長的地方,因為除了比例P模式之外還有微分模式、積分模式可以更快速反應路線的變化資訊給NXT做必要的修正。
比例P模式:P(t) = E(t) LightSensor與Motor電力比例值
積分I 模式:I(t) = I(t-1) + E(t) 每次讀取比例值的累積
微分D模式:D(t) = E(t) – E(t-1) LightSensor 前次與本次差異值累積
這三個參數的調整方式都有不一樣的效果建議大家試試看,如何走的順又平穩就是最佳的參數值,像影片中的走法還有改進的空間雖然LightSensor一直維持在黑線中間但電力的供應還不夠平順。
2010年12月16日 星期四
NXC 指令:ColorSensor
NXT2.0 有一個新的感應器 ColorSensor 可以辨識6種顏色
Color Define:
用TouchSensor來操控ColorSensor的燈光顏色,每按一下就換一種燈光顏色
Example:
task main(){
int Light=0;
SetSensorTouch(S2);
while(true){
Color Define:
- Black
- Blue
- Green
- Yellow
- Red
- White
用TouchSensor來操控ColorSensor的燈光顏色,每按一下就換一種燈光顏色
Example:
task main(){
int Light=0;
SetSensorTouch(S2);
while(true){
if(Sensor(S2)==1){
Light++;
Wait(300);
}
switch(Light){
case 1:
SetSensorColorRed(S3);
break;
case 2:
SetSensorColorGreen(S3);
break;
case 3:
SetSensorColorBlue(S3);
break;
case 4:
SetSensorColorFull(S3);
Light=0;
break;
}
NumOut(20, LCD_LINE3, Sensor(S3)) //讀取ColorSensor的數值
NumOut(20, LCD_LINE3, Sensor(S3)) //讀取ColorSensor的數值
}
}
NXC 指令:關掉Sensor功能
有網友在探奇向邱老師提出一個問題「如何關掉超音波 Sensor 的功能」
一開始我覺得把SetSensorLowspeed(S1) 改為 SetSensorLowspeed(NULL) 應該就可以了但實際測試失敗, 我查了一下NXC 的 Help 發現Sensor_TYPE_ 裡面有SENSOR_TYPE_NONE,所以改為SetSensorType(S1,SENSOR_TYPE_NONE) 就可以關掉特定Port的Sensor Function。
反過來想到底何時會想關掉特定Sensor功能呢???我覺得至少在電力方面應該有其需要....^_^
一開始我覺得把SetSensorLowspeed(S1) 改為 SetSensorLowspeed(NULL) 應該就可以了但實際測試失敗, 我查了一下NXC 的 Help 發現Sensor_TYPE_ 裡面有SENSOR_TYPE_NONE,所以改為SetSensorType(S1,SENSOR_TYPE_NONE) 就可以關掉特定Port的Sensor Function。
反過來想到底何時會想關掉特定Sensor功能呢???我覺得至少在電力方面應該有其需要....^_^
訂閱:
文章 (Atom)

