Tag Archives: ev3

[樂高EV3機器人]超音波感測器

Ultrasonic Sensor Block(超音波感測器指令)

超音波感測器指令從超音波感測器讀取數值。您可以用它來測量與某個物體之間的距離,單位可以是英吋或是公分。你也可以將偵測結果與自訂數值做比較,並取得一個邏輯的輸出值。你也可以將其調整至listen only模式,讓超音波感測器可以偵測其他的超音波訊號。

Continue reading

[樂高EV3機器人教學] 陀螺儀感測器

http://lab.cavedu.com/ev3_gyroscope

本文件係翻譯自Lego MindStorms EV3 軟體中的說明頁面,一切資訊皆以此樂高公司官方資訊為準。本團隊基於教學與分享,並無侵權之意,如有直接或間接損害他人權益行為,我們將立刻移除有疑慮的文件,特此聲明

Gyro Sensor Block(陀螺儀指令)

陀螺儀指令讀取陀螺儀所感測到的數據。你可以量旋轉速率或是旋轉角度並得到一個輸出的數值。你也可以用偵測到的數據跟一個門檻值比較後得到一個邏輯的真偽值輸出。

Continue reading

[樂高EV3機器人教學] 顏色感測器

本文件係翻譯自Lego MindStorms EV3 軟體中的說明頁面,一切資訊皆以此樂高公司官方資訊為準。本團隊基於教學與分享,並無侵權之意,如有直接或間接損害他人權益行為,我們將立刻移除有疑慮的文件,特此聲明

http://lab.cavedu.com/ev3_color

Color Sensor Block(
顏色感測器指令)

顏色感測器指令會從顏色感測器中讀取資料。您可以透過它來測量物體表面的顏色或是反射光的強度 (這好比是早期的光感測器)。您也可以將感測器資料與某個數值進行比較 (例如是否大於50?),並得到一個邏輯判斷結果。

選擇port以及模式

1.      選取Port

選取您將顏色感測器接在 EV3主機上的那一個port(1234)

2.      選取模式

選取您將如何使用顏色感測器,共有測量、比較與校正三種模式。您選擇某個模式之後,之後的輸入與輸出欄位也會跟著改變。

3.      輸入(Inputs)

輸入

類型

備註

顏色

數值

偵測到的顏色數值:

0=沒顏色

1=黑色

2=藍色

3=綠色

4=黃色

5=紅色

6=白色

7=棕色

比較結果

邏輯

比較模式下的真偽結果

測量數值

數值

比較模式下偵測到的數值

 

4.      輸出(Outputs)

  

輸出

類型

數值範圍

備註

顏色種類

數值陣列

0-7

用來選擇顏色給比較顏色模式:

0=沒顏色

1=黑色

2=藍色

3=綠色

4=黃色

5=紅色

6=白色

7=棕色

比較類型

數值

0-5

0: =等於

1:≠不等於

2: >大於

3: ≥大於等於

4: <小於

5: ≤小於等於

臨界值

數值

任何數值

與感測器值比較用的門檻值(threshold)

百分比

數值

0-100

用於計算校準模式中的光強度

 


顏色感測器的模式

顏色感測器共有三種模式:測量(Measure)、比較(Compare)與校正(Calibration),接下來將依序說明:

1. 測量模式


1-1  測量模式顏色

輸出值為感測器感測到的顏色的數字代碼。

1-2  測量模式反射光強度

顏色感測器前端LED會發光來增加物體表面與周遭的光值差,這裡我們期待的是兩者的差距愈大愈好 (但有時候反而效果不好,所以有可能要改用環境光模式),輸出的值為反射光強度,以百分比呈現,0pct(光強度最低,接近黑色或近乎無光線)~100pct(光強度最高,代表白色或發光光源)。

1-3  測量模式環境光強度

同1-2,差別在於顏色感測器前端LED不會發亮。


2. 比較模式 

2-1  比較模式顏色

在本模式中,將比較顏色感測器所測量到的顏色是否等於我們所指定的某個顏色,輸出值有兩個,左邊尖頭的是比較後的邏輯判斷結果(T/F),右邊圓頭的是測量到的顏色數值。

2-2  比較模式-反射光強度

在本模式中,將比較顏色感測器所測量到的反射光強度是否等於我們所指定的某個值,輸出值有兩個,左邊尖頭的是比較後的邏輯判斷結果(T/F),右邊圓頭的是測量到的光強度數值。

2-3  比較模式環境光強度

同2-2,差別在於顏色感測器前端LED不會發亮。



3. 校正模式

3-1 校正模式-校正反射光強度

有時候我們需要對顏色感測器的上下限進行校正來貼近實際使用的狀況。

在本模式中,您可指定某個狀況為顏色感測器的最小值(Minimum)與最大值(Maximum),或將顏色感測器重置回出廠預設值(Reset)。

     設定現在顏色感測器所偵測到的數值為20

    顏色感測器重置回出廠預設值

樂高EV3機器人 – 簡易雙馬達機體範例

http://lab.cavedu.com/ev3_basic-1

樂高EV3套件中提供了 Driving Base 這個雙馬達車體,但對於初學者來說,要組起來要花一段時間,因此 CAVE 提供了一個更簡單的雙馬達機體範例。使用零件很少,可以很快組裝好,適合初級課程使用。等到日後學生需要更強壯的機體時,老師再引入更多有關插銷、桿件與連接器的使用方式。



目前Lego Digital  Designer軟體尚未更新 EV3 圖檔,因此我們使用 Ldraw 來繪製。頁面最下方提供了數位檔案,請使用 LDraw系列軟體開啟。



   
  


Loop Interrupt Block(中斷迴圈指令)

今天要介紹的是中斷迴圈指令。EV3中的迴圈多了一個設定迴圈名稱的功能,而迴圈名稱的用意就是讓你可以透過迴圈名稱利用中斷迴圈指令來控制迴圈。

 

中斷迴圈指令可以強制結束一個迴圈。讓迴圈中的任何一個程式都無法再執行,直接跳出迴圈,執行迴圈後面的程式。透過迴圈名字可以指定你的中斷迴圈指令控制的是哪一個迴圈。

你可以利用中斷迴圈指令使一個迴圈比它平常結束的時間更加提早結束,或是以不同的情況做回應。你可以從迴圈本身內部中斷迴圈,也可以利用多工的方式,利用另一條線路上的指令來中斷特定的迴圈。


 


選擇迴圈名稱



舉例來說,下圖的程式中,原本會反覆執行五次一秒的音樂一秒的閃爍。但是如果我按下按鈕強制中斷迴圈(注意:迴圈中斷指令的迴圈名稱要符合你要中斷的迴圈名稱),不管這個迴圈執行到哪裡(例如:音樂執行到第二次的0.7),它都會強制中斷,直接跳去執行A迴圈後面的向前走一圈。

(參考資料:官方EV3 Help)

 

<文:雨錡>


[樂高EV3機器人教學] 觸碰感測器

Touch Sensor Block(觸控感測器指令)

觸控感測器指令可以讀取觸控感測器的感測值。可以藉由偵測觸控感測器的狀態:壓下(Pressed)、釋放(Released)、彈起(Bumped,壓下後釋放)來做邏輯輸出(真假,true or false)

1.      選擇觸碰感測器的port


用來選擇你的觸碰感測器是連接於EV3主機的哪一個接孔(port1234)上。

 

2.      模式選擇

a.      測量(輸出)模式(Measure-State)

      

在這個模式下,可以測得感測器的狀態,若壓下即為真,釋放即為假,可以透過邏輯來控制其他感應器的動作。

範例一:

如果觸碰感測器所偵測到的結果為真,EV3螢幕上便出現節奏性的橘色閃爍。


 

b.      比較(輸入)模式(Compare-State)

     

可以選擇你要測試哪一種模式: 壓下(Pressed)、釋放(Released)、彈起(Bumped)。再與後面比較真偽。

 

3.      輸入

輸入可以透過資料線(Data Wire)由數字(Numeric)來控制,範圍是0~20代表釋放(Released)1代表壓下(Pressed)2代表彈起(Bumped)

 

 

4.      輸出

輸出有三種:

輸出

資料類型

備註

狀態

邏輯(Logic)

於測量模式下使用,壓下為真,釋放為假。

比較結果

邏輯(Logic)

是比較模式下所選擇的感測器狀態下產生的值。

測量值

數字(Numeric)

比較模式下當下的感測器狀態:

0=釋放(Released)

1=壓下(Pressed)

2=彈起(Bumped)

     (參考資料 : EV3官方HELP)

EV3首發教學

今天是七夕情人節,也是小朋友開始跟EV3相親相愛的日子。

CAVE教育團隊開始全面使用最新一代的EV3做機器人教學了!


小朋友一拿到主機就開心地摸索起來。

 

Otto2機器人營隊第一天

  

看小朋友專心的樣子

 

EV3的零件數量及種類變多,讓小朋友可以有更大的發揮空間。

風車

這個是風力發電吧!

多了萬向輪之後,三分鐘才可以做好的車變成一分鐘就可以完成囉!

 

 

EV3NXT

硬體及軟體的比較可以參考之前的

到底要不要買EV3?(上)

到底要不要買EV3?(下)

 

<文:雨錡>

 

 

[樂高EV3機器人教學] 資料擷取功能 – 01_實驗設置

1. 實驗設置


請參考先前的文章來對EV3 機器人有更多認識。

EV3 主機介紹

到底要不要買EV3?(上)

到底要不要買EV3?(下)

以下是我們針對 EV3軟體中所提供的說明文件中,有關資料擷取功能的中文化。請大家給我們支持與鼓勵,當然也歡迎轉貼分享。
=====================================================================

實驗設置
 
   實驗設置的選項用於設置一個實驗,這包括實驗運行多久時間、多久記錄一次感測器的資料,和收集哪個感測器的資料。您可以透過實驗配置的選項(齒輪圖示)打開它。


1. 實驗配置

Duration(持續時間):設定想要收集多久時間的資料,可以是幾秒鐘或是幾分鐘。


Rate(頻率):設定多久記錄一次資料,可以是每秒一次或是一秒數次。

 

●提示和訣竅我該如何選擇頻率?

頻率的衡量將取決於您要進行的實驗,假設您想記錄超音波感測器接近東西的速度有多快,那麼可能每秒需要取樣許多次(EV3 最多可以每秒取樣1000次!應該相當夠)。然而如果只是想測量一杯水的溫度變化,那麼一分鐘一次應該就夠了。


感測器設定


   一旦設定持續時間與比例,就可開始紀錄感測器的資料,EV3同時可以記錄8個感測器的資料,四個接到輸入端1至4的感測器,以及四個連接到輸出端口A到D馬達(測量馬達角度感測器值)。

 1. 感測器狀態

 2. 選擇感測器

 3. 選擇感測器模式和單位

 4. 選擇端口

 5. 選擇顏色(視情況)

 6. 刪除感測器


>硬體自動辨識

 
    如果您的EV3 已經開機且連接上電腦,並且軟體的硬體頁面(Hardware Page)也開啟了的話,感測器會自動辨識完成。



一旦實驗設定完成之後,您已經準備好來執行它了。請接續看下一篇「建立實驗」。

[EV3新貨]開箱文

昨天到的EV3機器人教育版新貨開箱了!

台灣only的貝登堡零件收納盒

 

盒子插進去EV3箱子裡就破了,不過洞的大小剛剛好。

每個EV3都有自己的"車牌號碼",主機跟保證書上都有編號,說不定可以買個ME 8888討吉利

近看主機的編號

 

努力的讓零件在貝登堡盒子裡排排站!

EV3軟體內建教學資源

(文:稚然)

        EV3除了軟硬體功能的提升外,這次EV3軟體內也提供了相當多的教學資源,看來樂高也卯足了勁要大大強化機器人教育這部分呢!讓我們來看看軟體內有哪些資源可以利用吧!

 

      首先開啟EV3-G,可以在畫面左側看到兩列欄位:

 

      預設的快速開始(Quick Start)內是一個個的介紹影片,

 

      第一項核心模型組(Model Core Set)內是四個大專題,點選右下角的open進一步了解內容。

 

       進入程式編輯畫面後,除了現成的程式碼之外,右上角還有教案出現。

 

      這是EV3新增的內建教案功能,除了文字之外,還可以插入圖片、影片、文件、組裝過程等等內容。在機器人教學、程式碼的分享上相當的實用。下周將會向大家介紹教案的編輯方式。

 

      檔案(File)項目是簡單的開啟程式,機器人教育家(Robot Educator)則有大量範例程式,總共有48堂課,而且每份都有完整的教案解說呢!

 

      最後一項工程專案設計(Design Engineering Project)則是各種有趣工程的介紹。

 

      這次就先介紹到這邊,詳細的資料內容則帶大家去發掘。下周會向大家介紹EV3-G獨有的教案編輯功能!

130804 樂高EV3機器人開箱會

炎炎酷暑,待在家裡玩機器人也不錯,來 CAVE 和我們一起玩最新最火紅的 EV3 機器人更棒!

最近愈來愈多 EV3 的分享、測試與研究報告都公布了,我們昨天也就 NXC、EV3與 LabVIEW 等可控制樂高機器人的程式環境寫了一篇文章,歡迎大家看看,如有錯誤疏漏,也請不吝指正唷。

[樂高EV3機器人]淺談圖形化程式設計於小朋友程式教學

親愛的家長們,也請參閱 CAVE 的開課課程與合作教室列表,我們在台北市與新北市都有許多合作教室,期待與您相見。

(CAVE 許多現在一線的講師或是實習生,當年都是玩樂高機器人長大的,在此就不一一點名啦,他們每一位都各自有各自專長的領域呢!)

(文:CAVE阿吉)

EV3 軟體的全新資料擷取介面,愈來愈有架勢了(上一代只有資料檢視,沒什麼運算功能)

上課隨筆,使用比例控制方法來說明進階軌跡機器人的控制理論

來看看樂高機器人三代同堂的照片吧,放在一起就發現,主機的體積可是愈來愈大了呢!

謝謝 RCX 與 NXT 陪台灣許多小朋友一起長大(阿吉老師也從當年18好青春,到今年31囉… QQ),回想當年用 Robolab 寫 RCX程式還要用紅外線發射器在那邊對來對去,一天到晚都在流失韌體,真是好時光啊~

[樂高EV3機器人]淺談圖形化程式設計於小朋友程式教學

http://lab.cavedu.com/ev3,下文中所提到的程式載點請到本頁面下載

文:CAVE 阿吉
=============================================================

相關的文章或研討會文獻已經相當多,本文僅以樂高 EV3 程式環境與其核心引擎 LabVIEW,輔以 NXC 文字式介面來說明圖形化程式設計對於小朋友學習程式這件事上的幫助。以上三個程式環境都是可控制樂高機器人的程式環境,各有勝場。





CAVE 想強調的是:沒有絕對好用的程式環境,如果有的話,早就一統天下啦!應該是根據您專案的需求,選擇合適的程式語言。再者,學生在開發專案時,常常是「因為我只會這個程式語言」,而非「選擇足以完成專案的程式語言」。前者當發現卡關的時候,通常木已成舟,要改也改不動捨不得,最後專案不了了之。

當我們使用某個程式語言時,我們已經隱含了接受該程式語言開發者的邏輯與思考架構。所以才會常常有這個問題「ㄟ?在別的語言,這裡是這樣寫的耶!通常學生在學習程式設計時會遇到的困難有幾項:

1. 不會使用開發環境
2. 找不到指令
3. 不會除錯

簡單來說,圖形化程式設計的優點有以下:
1. 直觀,先決定大致上的執行順序再深入調整參數
2. 進入門檻低(進入門檻高的圖形化介面我想應該沒人要學…)
3. 使用資料線(data wire)來處理變數傳值
4. 顏色與線條形狀粗細可以代表很多事情,例如資料型態與維度

另一方面,圖形化程式介面常見的缺點有以下:

1. 程式畫面很容易變得很雜亂
2. 相同的功能,通常效率較差
3. 通常擴充性較低,例如要在 EV3 自訂一個模組就是大工程
4. 有時候簡單的四則運算算式反而用掉一大堆空間


程式可讀性

我們以B馬達轉兩秒來說,以NXC 來說是這樣寫的:

task main(){
    OnFwd(OUT_B, 75);
    Wait(2000);
    Off(OUT_A);
}

一般而言,學生初次開始自行輸入程式碼時會碰到的問題有:
1. 大小寫未注意
2. 分號常忘記
3. 括號漏掉

以EV3 圖形化介面來說是這樣寫的:程式碼在本頁最下方
從指令的圖示可看出與馬達有關,電力為75,轉動秒數為2秒。所有參數都是點選後再輸入數值即可。

以LabVIEW 來說是這樣寫的,粉紅色的線是 sequence beam代表執行的順序,當指令之間沒有資料傳遞時可以用這種方式來強制規定執行順序。




資料線範例1:馬達控制

接著我們要來深入談資料線,這應該是圖形化程式介面的一大優點,透過不同顏色的資料線可以明確表示資料的型態與流向,使用者可由資料的流向來看出程式執行的順序,使用上相對親民多了。(文字介面表示:我也有顏色區別不同的資料型態啊!但是在呈現資料的走向上就還是輸圖形化介面一點點…)

在NXC中,我們可以另外宣告一個副函式 move,它有兩個參數 power 與 time,當被呼叫的時候,它會根據從外部在需要的時候呼叫它,並透過傳值來得到不同的執行結果。但學生通常對於數值是如何從 main() 飛到 move() 不太理解。

sub move(int power, int time){
    OnFwd(OUT_A, power);
    Wait(time);
    Off(OUT_A);
}
task main(){
    move(75, 1500);  //第一次呼叫move
    move(-50, 2000);
//第二次呼叫move
}

另外,如果我們要用光感測器來控制馬達轉速,也就是光值愈高(愈亮)馬達轉愈快,以NXC 來說,可以這樣寫:


task main(){
    SetSensorLight(S1);  //將光感
測器接在輸入端1
    while(true){
         s = Sensor(S1);   //取得光感測器值
         OnFwd(OUT_B, s); //將光感測器指定為馬達轉速
    }
}

以EV3 圖形化介面來說,是這樣寫的:程式碼在本頁最下方


上圖:將顏色感測器的值直接指定為D馬達的轉速,範圍為0~100。轉動區間為On,亦即EV3主機可負擔的最小執行區間。

下圖:將顏色感測器的值直接指定為D馬達的轉速,範圍為0~100。轉動區間為On for Seconds,在此設定為0.2秒,亦即每次迴圈都一定會執行0.2秒。


同一筆資料也可以同時給兩個單位來使用,如下圖程式碼在本頁最下方)。同樣一筆光感測器值,除了直接指定為B馬達轉速之外,還另外加個負號之後再指定為C馬達轉速。


我們另外以LabVIEW 來舉例,使用一個 Slide controller 來控制 B馬達的電力,下圖中我們可以看到左側 Slide controller 輸出的值(-100~100)同時給數值顯示器與B馬達的電力。


資料線範例2:顯示感測器值

本範例是使用LabVIEW 來說明不同資料型態的呈現方式,您可以看到程式中使用了不同的顯示元件來呈現資料,相當豐富。EV3 軟體中雖然沒有像 LabVIEW一樣的 Front Panel 來進行視覺呈現,但還是有 Datalogging 頁面來觀看並記錄您的資料。




附錄:EV3中的資料接口與資料線說明,共有邏輯、數值、文字、數值陣列與邏輯陣列等五種格式。您可看到陣列的線條會比純量來得粗,這在LabVIEW中也是一樣的概念。如下圖中是一個九九乘法表的LabVIEW程式,最終的Array為二維數值陣列


EV3與上一代NXT相比,多了陣列的支援,在大筆資料的應用上會更加方便,日後會另以專文介紹。



[樂高EV3機器人教學] Data logging 實驗設置

發文:阿吉老師

請參考先前的文章來對EV3 機器人有更多認識。

[樂高EV3機器人] EV3 主機介紹

到底要不要買EV3?(上)

到底要不要買EV3?(下)

以下是我們針對 EV3 官方的資料擷取功能的官方文件所作之中文化,請大家給我們支持與鼓勵,當然也歡迎轉貼分享。

=====================================================================

實驗設置
 
   實驗設置的選項用於設置一個實驗,這包括實驗運行多久時間、多久記錄一次感測器的資料,和收集哪個感測器的資料。您可以透過實驗配置的選項(齒輪圖示)打開它。

 

實驗配置


Duration(持續時間):設定想要收集多久時間的資料,可以是幾秒鐘或是幾分鐘。

Rate(頻率):設定多久記錄一次資料,可以是每秒一次或是一秒數次。

 

●提示和訣竅我該如何選擇頻率?

頻率的衡量將取決於您要進行的實驗,假設您想記錄超音波感測器接近東西的速度有多快,那麼可能每秒需要取樣許多次(EV3 最多可以每秒取樣1000次!應該相當夠)。然而如果只是想測量一杯水的溫度變化,那麼一分鐘一次應該就夠了。


感測器設定

 

   一旦設定持續時間與比例,就可開始紀錄感測器的資料,EV3同時可以記錄8個感測器的資料,四個接到輸入端1至4的感測器,以及四個連接到輸出端口A到D馬達(測量馬達角度感測器值


 

 1. 感測器狀態

 2. 選擇感測器

 3. 選擇感測器模式和單位

 4. 選擇端口

 5. 選擇顏色(視情況)

 6. 刪除感測器


>硬體自動辨識

 
    如果您的EV3 已經開機且連接上電腦,並且軟體的硬體頁面(Hardware Page)也開啟了的話,感測器會自動辨識完成