這個作品的機構設計的不錯
五十川芳仁老師的作品,如果有直線來回動作的需求可以作為參考
這個也不錯
經典的魔術方塊
NXT SEGWAY
2010年10月31日 星期日
2010年10月29日 星期五
樂高 NXT 8547 入手
前幾天購買的 LEGO MindStorms NXT 8547 到貨了,這次是跟台南的林老師購買而林老師很信任消費者竟然先出貨才收貨款......真是勇氣十足 ^_^
8547組合跟9797 組合最大的差異在 Color Sensor 與 Light Sensor ,因為 NXC 有支援 Color Sensor 所以這次訂購 8547 玩玩看,手上有兩台 NXT 後可以試玩更多的玩法例如透過BlueTooth 互傳資料或是互動。
雖然旺弟弟只有國小二年級不會寫程式,但看到機器人還是很有興趣 !!
我答應他要組一個會敲音磚的機器人給他玩.....不知道支票會不會跳票啊
8547組合跟9797 組合最大的差異在 Color Sensor 與 Light Sensor ,因為 NXC 有支援 Color Sensor 所以這次訂購 8547 玩玩看,手上有兩台 NXT 後可以試玩更多的玩法例如透過BlueTooth 互傳資料或是互動。
雖然旺弟弟只有國小二年級不會寫程式,但看到機器人還是很有興趣 !!
我答應他要組一個會敲音磚的機器人給他玩.....不知道支票會不會跳票啊
2010年10月20日 星期三
樂高 NXT 搜尋分類機器人(二)
在 NXC 程式方面要先區分幾個步驟:
最近很忙都只有零碎時間不知道何時才能把程式碼寫完
- 啟動 UltarSonic Sensor 搜尋找球
- 驅動 NXT 到目標區
- Light Sensor 分辨球體顏色明暗度
- 抓取球體舉起到水平
- 啟動 UltarSonic Sensor 搜尋回收區位置(有一塊大小約 A4 立版當回收區的目標物)
- 驅動 NXT 到回收區
- Light Sensor 分辨回收區的顏色明暗度
- 放球
- 回到 步驟 1 再搜尋下一個目標球體
最近很忙都只有零碎時間不知道何時才能把程式碼寫完
樂高 NXT 搜尋分類機器人(一)
這次要做 樂高 NXT 搜尋分類機器人,球放置的位置不固定因此要靠超音波感應器來搜尋位置,再來就是把不同顏色的球放置在分類的特定收納區。
這次的程式應該會比較複雜一點,因為要搜尋未知的球但又不能亂找導致跑到根本沒球的區域浪費時間 ,另外找到球後要分辨顏色明暗度與搜尋回收區的位置,然後把機器人移動到回收點並放下球到特定的收納區才算成功。
這次用的樂高建構零件不多所以外觀蠻簡單的,但結構剛性不錯沒有搖搖晃晃的感覺,缺點就是最上面的馬達會擋到NXT的實體按鈕,所以會加裝一顆碰觸感應器(Touch Sensor)當啟動鈕。
當舉起球時超音波感應器的位置也變成水平因此可以用來找尋放球的收納區位置
光線感應器的裝置在底下因此抓到球後可以立刻分辨出顏色的明暗度
這次的程式應該會比較複雜一點,因為要搜尋未知的球但又不能亂找導致跑到根本沒球的區域浪費時間 ,另外找到球後要分辨顏色明暗度與搜尋回收區的位置,然後把機器人移動到回收點並放下球到特定的收納區才算成功。
這次用的樂高建構零件不多所以外觀蠻簡單的,但結構剛性不錯沒有搖搖晃晃的感覺,缺點就是最上面的馬達會擋到NXT的實體按鈕,所以會加裝一顆碰觸感應器(Touch Sensor)當啟動鈕。
當舉起球時超音波感應器的位置也變成水平因此可以用來找尋放球的收納區位置
光線感應器的裝置在底下因此抓到球後可以立刻分辨出顏色的明暗度
2010年10月19日 星期二
樂高 NXT 按鈕與NXC 關係
樂高 NXT 本體上有四顆實體按鈕:左、中 (Enter)、右、下 (Exit)
這幾顆按鈕在NXC的對應名稱:BTNLEFT、BTNCENTER、BTNRIGHT、BTNEXIT
常用的 Function
下面的程式是測試 A Port馬達的正反轉功能,當按一下左 Button後馬達停止並等待 Enter鈕的按下啟動馬達,當按一下右 Button則馬達反向驅動。
task main(){
string strMsg;
int iPower=30;
while(true){
if(ButtonPressed(BTNLEFT, false)){
Off(OUT_A);
ClearScreen();
iPower=30;
TextOut(0,LCD_LINE2,"Press CenterBtn");
TextOut(0,LCD_LINE3,"Waiting Start");
until(ButtonPressed(BTNCENTER, false)==1);
ClearScreen();
}
if (ButtonPressed(BTNRIGHT, false)){
Off(OUT_A);
ClearScreen();
iPower=-30;
TextOut(0,LCD_LINE2,"Press CenterBtn");
TextOut(0,LCD_LINE3,"Waiting Start");
until(ButtonPressed(BTNCENTER, false)==1);
ClearScreen();
}
strMsg=NumToStr(iPower);
strMsg="Power Way="+strMsg;
TextOut(0,LCD_LINE2,strMsg);
OnFwd(OUT_A,iPower);
}
}
這幾顆按鈕在NXC的對應名稱:BTNLEFT、BTNCENTER、BTNRIGHT、BTNEXIT
常用的 Function
- 按鈕是否有按下:bool ButtonPressed( const byte btn, bool resetCount )
- 計算按幾次:byte ButtonPressCount ( const byte btn )
- 等待某個按鈕是否壓下:until(ButtonPressed(BTNCENTER, false)==1)
下面的程式是測試 A Port馬達的正反轉功能,當按一下左 Button後馬達停止並等待 Enter鈕的按下啟動馬達,當按一下右 Button則馬達反向驅動。
task main(){
string strMsg;
int iPower=30;
while(true){
if(ButtonPressed(BTNLEFT, false)){
Off(OUT_A);
ClearScreen();
iPower=30;
TextOut(0,LCD_LINE2,"Press CenterBtn");
TextOut(0,LCD_LINE3,"Waiting Start");
until(ButtonPressed(BTNCENTER, false)==1);
ClearScreen();
}
if (ButtonPressed(BTNRIGHT, false)){
Off(OUT_A);
ClearScreen();
iPower=-30;
TextOut(0,LCD_LINE2,"Press CenterBtn");
TextOut(0,LCD_LINE3,"Waiting Start");
until(ButtonPressed(BTNCENTER, false)==1);
ClearScreen();
}
strMsg=NumToStr(iPower);
strMsg="Power Way="+strMsg;
TextOut(0,LCD_LINE2,strMsg);
OnFwd(OUT_A,iPower);
}
}
2010年10月12日 星期二
樂高 NXT 抓球分類車再改良
上次的樂高 NXT 抓球分類車走起來有點不穩,所以要改良把輪子改為履帶再把超音波感應器加上去,這樣放球的位置就不必固定了。
這次車體變高所以要在放球的收納區多作一些球體移動軌道來增加視覺效果,如果有兩台樂高 NXT 就可以設計分工合作的玩法,不知道我的樂高 NXT 8547 何時才會到貨???。
這次車體變高所以要在放球的收納區多作一些球體移動軌道來增加視覺效果,如果有兩台樂高 NXT 就可以設計分工合作的玩法,不知道我的樂高 NXT 8547 何時才會到貨???。
2010年10月7日 星期四
樂高 NXT 抓球分類車
能夠自主移動的樂高 LEGO NXT一直都是很吸引人的玩法,所以這次要做一個類似搬運機的LEGO NXT 。
所需材料:
目標:讓 LEGO NXT 前進到球體位置後抓取球體並分辨顏色後再放置到正確的對應收納區。
照片中的車體還沒裝上Light Sensor(用來分辨顏色明暗度) 與 UltraSonic(用來判斷距離),但爪子、轉盤、驅動這三顆馬達都已經能正確的運作,全部的車體與活動機構都能協調而不衝突。
在組裝的過程中光爪子部份就不知道拆卸多少次了,一下子會跟車體卡住一下又跟轉盤碰到,等到沒問題時又發現要跟NXT結合會缺少穩固的接觸點,實際測試時整體結構就會慢慢解體....失敗啊 !!
樂高的建構零件雖然都很輕巧但是零件一多還是有些份量的,因此要找出最少用量與最適合的零件就是一門學問與經驗,而多玩多做就是最佳的LEGO NXT學習方式。
所需材料:
- LEGO NXT 本體
- Motor 驅動馬達三個
- Light Sensor 光感應器一個
- Ultrasonic Sensor 超音波感應器一個
- LEGO建構零件
目標:讓 LEGO NXT 前進到球體位置後抓取球體並分辨顏色後再放置到正確的對應收納區。
照片中的車體還沒裝上Light Sensor(用來分辨顏色明暗度) 與 UltraSonic(用來判斷距離),但爪子、轉盤、驅動這三顆馬達都已經能正確的運作,全部的車體與活動機構都能協調而不衝突。
在組裝的過程中光爪子部份就不知道拆卸多少次了,一下子會跟車體卡住一下又跟轉盤碰到,等到沒問題時又發現要跟NXT結合會缺少穩固的接觸點,實際測試時整體結構就會慢慢解體....失敗啊 !!
樂高的建構零件雖然都很輕巧但是零件一多還是有些份量的,因此要找出最少用量與最適合的零件就是一門學問與經驗,而多玩多做就是最佳的LEGO NXT學習方式。
這台LEGO NXT車體的只能裝三顆驅動馬達,一顆用在輪子上因此LEGO NXT在移動時只有前進與後退,第二顆用在轉盤上用來調整爪子的方向,第三顆當然用在驅動爪子的抓取動作。
有時候在玩LEGO NXT的時候會覺得驅動馬達的Port 太少了想做些複雜的動作都不行,但仔細想想這是一個科學玩具因此目標要放在單一題目上,例如你想做什麼???而且在有限資源下是否能做到,其實只要我們設定明確單一的目標,相信在這些限制下我們依然能做出許多有趣的組合,目前這個機構的用途我還想到可以拿來敲音磚哦.......只要稍微做些改裝就可以了。
這是最後的成品由四輪變三輪,因為原先的右前輪會卡到轉盤所以要修改設計,而後輪驅動齒輪組也作一些修改由馬達直接驅動加快速度,另外之前要用超音波感應器來偵測前方球體也改為由程式設定固定距離與收納區的相對位置。
影片中粉紅色與綠色的球體都有固定的收納位置,因為光線感應器會分辨顏色明暗度進而告訴車體移動到特位置後再放下球體到正確的收納區。
2010年10月5日 星期二
如何教孩子玩 LEGO NXT
很多家庭買LEGO Mindstorms NXT 是因為看到相關資訊覺得不錯就買一套來給小朋友玩,但很快就會發現不易上手因為組裝就是一項挑戰其後的軟體設計更是一項大挑戰,如果沒送小孩去上課學習這套LEGO Mindstorms NXT的話時間一久很容易就靜靜的躺在角落邊。
這是一套非常棒的科學玩具能夠啟發小朋友的好奇心,更進而瞭解什麼是邏輯判斷與數學公式,我總覺得能夠讓小朋友在遊戲中學習不是一件很棒的事情嗎
這篇文章算是一種紀錄:如何教孩子玩 LEGO NXT
第一課
第二課
第三課
第四課
第五課
第6課
上完這六課如果還不能激發出孩子玩LEGO NXT 的興趣.......那就上網去二手拍賣吧(先PM我也可以) ^_^
這是一套非常棒的科學玩具能夠啟發小朋友的好奇心,更進而瞭解什麼是邏輯判斷與數學公式,我總覺得能夠讓小朋友在遊戲中學習不是一件很棒的事情嗎
這篇文章算是一種紀錄:如何教孩子玩 LEGO NXT
第一課
- 先組裝一輛外觀最簡單的 LEGO NXT 三輪車(前兩輪+後一輪)
- 用NXT-G做軟體設計:介紹NXT-G的基本用法並啟動孩子的好奇心
- 目標:讓LEGO NXT 直線前進、直線後退
第二課
- 沿用上次的LEGO NXT 三輪車體
- 用NXT-G做軟體設計:當兩輪的供電差異越大時會有什麼變化
- 目標:讓LEGO NXT 順時針或逆時針的繞圈圈行走
第三課
- 沿用上次的LEGO NXT 三輪車體另外加裝超音波感應器
- 用NXT-G做軟體設計 :如何讓超音波感應器與驅動馬達相互溝通運作
- 目標:當超音波感應器遇到前方障礙15公分時會自動停止前進
第四課
- 沿用上次的LEGO NXT 三輪車體另外加裝碰觸感應器
- 用NXT-G做軟體設計:如何讓碰觸感應器與驅動馬達相互溝通運作
- 目標:當LEGO NXT 前進時發生碰觸感應器啟動後LEGO NXT 要退後
第五課
- 沿用上次的LEGO NXT 三輪車體另外加裝光線感應器
- 用NXT-G做軟體設計:如何讓光線感應器與驅動馬達相互溝通運作
- 目標:當LEGO NXT 前進時遇到黑線時會停止
第6課
- 沿用上次的LEGO NXT 三輪車體另外加裝光線感應器
- 用NXT-G做軟體設計:當光線感應器遇到黑色對右輪供電且對左輪停止供電,遇到白色對左輪供電且對右輪停止供電
- 目標:沿著黑繞行一圈
上完這六課如果還不能激發出孩子玩LEGO NXT 的興趣.......那就上網去二手拍賣吧(先PM我也可以) ^_^
2010年10月1日 星期五
樂高 NXT 雙足機器人
這次要作 LEGO NXT 雙足機器人,我是參考大師五十川芳仁的雙足機器人範例組裝而成的,但是因為特定結構零件不足導致腳部的結構不穩,因此LEGO NXT實際前進時會發生支撐不足的現象,看樣子還是要再買些零件補充包才行。
訂閱:
文章 (Atom)