Tag Archives: mindsensors

MindSensors 新品上市 – 陀螺 / 加速度 / 指南針三合一感測器

http://www.robotkingdom.com.tw/product_cg31558.html

http://mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=158  <- 範例程式下載, 有NXT-G 與 NXC兩種語言可以選擇。

AbsoluteIMU-ACG是一個整合陀螺儀、加速規、電子羅盤和磁場感應器的裝置,
您可以一次性的讀它們的數值,因為這些感應器是在單一的靜止基台上,故彼此之間沒有相對的移動量。這個裝置可量測陀螺儀的變動量、靜態/動態加速度,以及不同角度的傾斜度,並得到磁場方向。
    
    傾斜感應器解析度:1度
    電子羅盤解析度:1度
    加速規解析度:10 milli-g
    傾斜補償磁場羅盤
    加速規靈敏度:2G、4G、8G、16G
    陀螺儀變化量解析度:8.75 毫-度/秒
    電流消耗:電壓4.7伏特時,消耗2.1 mA

另外還有[加速規+電子羅盤] / 單獨[加速規] 與 單獨 [電子羅盤] 等簡易版本. (當然還是一次買齊比較好啦)。

 

[App Inventor教學] NxtDirectCommand的SetInputMode參數說明

在App Inventor中的NxtDirectCommand元件中有許多有趣的指令,其中的SetInputMode可以讓我們進一步設定感應器的類型與模式,這是相當進階的技巧唷!

一般的使用情況下,我們都是使用感應器的預設模式來讀取資料,例如觸碰感應器就是0或1,聲音或光感應器則是0~100的整數值。但如果要進一步設定也是可以的,這時候就要借重SetInputMode指令了。

一般我們會使用NxtLightSensor.GetLightLevel就能順利讀取光感應器值,但App Inventor會讀取的是raw值,而非我們所習慣看到的百分比。或者也可以用SetInputMode指令,將sensorType設為5,sensorMode設為128,設定完成後再使用GetInputValue指令,這樣就能讀取光感應器的百分比值了。

對於樂高官方的感應器來說,當然直接使用GetOOO指令是最方便的。但如果我今天拿到一個其他的感應器,就能這樣利用來讀取資料,不用再看App Inventor的臉色啦。

如果是I2C數位感應器的話,就要使用NxtDirectCommand的LsRead / LsWrite指令唷,MindSensors也是利用這種方法來完成他們家的App Inventor 函式庫

延伸閱讀:[CAVE專欄] 輕鬆使用Android裝置控制樂高機器人:感測器面板

詳細參數請看以下說明:
====================================================

sensorType(感應器類型):
1:觸碰感應器(RCX / NXT)
2:溫度感應器
3:RCX光感應器
4:RCX角度感應器
5:光感應器,亮燈(反射光模式)
6:光感應器,不亮燈(環境光模式)
7:聲音感應器,db
8:聲音感應器,dba
9:自製感應器
10:I2C感應器(低速通訊標準)
11:I2C感應器(低速通訊標準),另提供9V電源
12:高速通訊感應器,目前無NXT可用產品
14:樂高顏色感應器,亮紅燈
15:樂高顏色感應器,亮綠燈

16:樂高顏色感應器,亮藍燈
17:樂高顏色感應器,不亮燈

sensorMode(感應器模式,0x代表 16進位表示法)

0:(0x00)原始資料 raw
32:(0x02) 布林模式
64:(0x04) 布林值由0->1的計數,PULSE
96:(0x06) 布林值在0,1之間轉換的計數,EDGE
128:(0x08)百分比
160:(0x10)攝氏溫標
192:(0x12)華氏溫標
224:(0x14)角度步進模式(RCX角度感應器)

[mindsensors] NXTCam-v4 上市囉

mindsensors 所開發,專給 NXT 使用的視覺模組-NXTCam 推出第四版了。

NXTCam 是一個攝影鏡頭,可直接接在NXT上使用。在使用上則有兩個不同的模式:物件追蹤與循跡。在物件追蹤模式下,NXTCam 可同時追蹤 8 個不同顏色的物體之位置,而在尋跡模式下,則可將物件(也就是軌跡線)切成許多小塊,並回傳這些區塊的座標以利循跡,如下圖所示。有別於光感應器,使用攝影機的好處在於較不受限顏色深淺。

在 mindsensors 的官網上,並沒有敘述新舊款的差異,不過根據產品描述以及外觀,可以判斷跟前一代差距應該不大,可能需要寫信去跟 mindsensors 確認一下。

附帶一提,現在多數 mindsensors 的產品已與 appinventor 相容,包含此款NXTCam-v4,實在是非常便利呢!

[Arduino / NXT專案] LineLeader 循跡機器人

LineLeader 光感應器陣列將八個光感應器排成一排。 專門用來處理各種討厭的軌跡, CAVE以往曾經發表數篇文章來說明如何應用一些數學方法來讓機器人循跡的速度更快。

本影片可以從OpenElectrons 官網看到, 由本團隊謝宏恩老師所提供。 使用Arduino UNO + NXShield-D擴充板取代NXT主機。

歡迎到 http://lab.cavedu.com/file 下載謝老師的LineLeader與Arduino結合應用教學文件,以及Arduino source code。

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=tMXys7t-_KQ]

其他更多影片請看:

Arduino line following robot with P control method #1

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=GTxOZX6jK74]

Arduino line following robot with P control method #2

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=1GFVkYbPYGw]

NXT Line Follower – P control

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=0ZMz-CS0bPY]

[Arduino / NXT專案] SumoEyes 避障機器人

SumoEyes感測器特別的地方在於它不是提供距離數值, 而是以較大範圍搭配更廣的可視角。

這樣其實是很實用的, 因為如果我們要用超音波測很遠的物體時, 由於機器人持續在運動, 所以就好像用吸管看東西一樣 -> 視角會變得很窄。 SumoEyes可以先約略提供物體的遠近與方位之後, 再由其他的測距儀來偵測距離。

應該是由不同sensor來專業分工, 而並非期待有一顆萬能的感測器一票玩到底。

也和大家分享一件開心的事, http://mindsensors.com/  MindSensors官網的SumoEyes影片是由CAVE的盧玟攸老師所提供, 拍拍手唷!!

歡迎到 http://lab.cavedu.com/file 下載盧老師的SumoEyes感測器測試報告. 以及Arduino source code。

影片, 使用Arduino UNO + NXShield-D取代NXT主機。

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=nDHIvSuOhVc]

 

[Android ADK + Arduino] 姿態感測器控制Arduino/NXT機器人

使用Android手機透過USB線來控制Arduino MEGA ADK. 本專案是透過NXShield-M讓Android手機得以控制樂高NXT周邊。由於NXShield為 MindSensors公司系列產品,所以在函式庫中也完整支援了MindSensors產品。

我們之後會陸續發表更多Android ADK + Arduino的教學影片,也請大家看看 豐原高中郭老師的專業部落格

包好Android ADK的Arduino 1.0環境請按我下載

Arduino程式與Android範例程式請到 CAVE實驗室 下載

請看以下影片,聲音是阿吉老師的聲音啦(很沙啞)  歡迎分享~

[youtube=https://www.youtube.com/watch?feature=player_embedded&v=hHVM_5KmHdA]

Arduino 遙控全向輪平台 Arduino Remote Control Omnibot

使用Arduino 結合 NXShield 所控制的全向輪平台, 並可使用PS2無線手把進行遙控(搭配 MindSensors PSP手把轉接器)。

全向輪平台可直接朝向任意方向移動, 不需先行轉向,  較差速驅動平台相比是不錯的選擇。三個輪子轉速互呈三角函數關係, 請參閱CAVE實習生計畫的研究報告 ,共有:

  • [三輪全向輪的應用]
  • [全向輪實現紅外線避障]
  • [全向輪數學模型推導].

by 盧玟攸同學與劉几銘同學

機構設計使用 HiTechnic的 RotaBot , Arduino程式碼請按我下載

[youtube=https://www.youtube.com/watch?v=qTZhjaHxBz0]




MindSensors的 App Inventor API與範例程式碼

http://www.mindsensors.com/index.php?module=documents&JAS_DocumentManager_op=viewDocument&JAS_Document_id=181

如果我們要用App Inventor來存取樂高NXT機器人狀態的話, 受限於NXT Direct Command, 所以只能控制樂高官方的感應器(touch , light, color, sound, ultrasonic) 與馬達。

那麼如果我們想要控制NXT的外接感應器例如 Mindsensors或 HiTechnic呢?   NXT Direct Command還留有一條路給我們, 就是 LsRead 與 LsWrite這兩個指令。

Ls是指 Low Speed, 也就是I2C介面的低速數位通訊介面標準。 只要接在NXT機器人上且符合I2C規格的裝置都可以透過 LsRead/LsWrite 來進行讀寫。 至於每次存取的資料長度就要參照詳細的產品規格 (這一定會寫得很清楚, 但不是件太容易的事情)。

現在MindSensor已經將其產品的App Inventor 函式庫都寫好了, 還等什麼? 快打開電源來玩玩看吧!

mindsensors 新產品 – Relay driver for NXT

最近 mindsensors 又有新產品上市了 – Relay driver for NXT 繼電器驅動器,繼電器事實上就是一種自動開關,是一個基礎的電子元件,我們可以用它來控制馬達的正反轉,或是燈的開關等。

mindesnsors 的官網就有一個範例影片,利用此驅動器控制電燈,請看:

繼電器的應用非常廣泛,就看您怎麼應用囉!

mindsensors 新產品預告

有在關心mindsensors產品的朋友們,不知是否有注意到在即將上市(coming soon)的項目中,有一個沒公告內容的神祕產品,且原定2月會上市。

如今已經三月多了,此產品仍不見上市跡象,不過mindsensors公布了此產品的功能-

觸控螢幕!

沒錯,這個即將上市的神祕產品就是可以與NXT相容的觸控螢幕,根據mindsensors的說明,它可以「將被觸碰的點對應到LCD螢幕上的畫素」。感覺是一個潛力無窮的產品阿!

更多訊息可以上mindsensors網站查詢。

http://www.mindsensors.com/

MindSensors的 NXT 氣壓閥控制器

http://mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=54&MMN_position=22:22

http://technicbricks.blogspot.com/2011/01/pneumatic-control-for-nxt.html

MindSensor即將推出 NXT 用的氣壓閥門, 對於氣壓零件的死硬派是一大福音呢!

本零件要使用 MindSensors 的 NXTServo-v2來控制, 和先前的 RC servo kit 相比, 有針對樂高氣壓零件額外設計一些特別的mounting 零件。

上市時間還不確定, 不過大家可以把氣壓零件拿出來準備囉~

[重要] mindsensors 釋出新的LabVIEW module!

之前我們曾發文介紹如何在LabVIEW的Remote mode中使用mindsensors的產品(參考連結),然而事實上是mindsensors的LabVIEW 模組有問題,因為它的模組應該是要可以在兩種模式下使用的,而不用另外在Remote mode加入。

現在mindsensors釋出了新的LabVIEW模組,經測試可以在雙模式下使用,有需要的人趕快去下載吧!

下載網址請點我

如何在Remote mode下使用mindsensors產品

 mindsensors是一家第三方的樂高感應器與控制器製造商,他們的產品豐富,從NXT專用的攝影機NXTCam到專業的微型線性致動器都有,而他們的產品也都可以與所有樂高相關的程式語言相容,如NXT-G、NXC、LeJOS、LabVIEW、RobotC…等。

然而,在mindsnesors的官方說明文件上,只有說明如何在LabVIEW的Direct mode(target to computer)下使用他們的產品(說明下載請點我),也就是說傳輸線一定要連在NXT上,並讓電腦執行所有運算,NXT只是電腦的延伸而已。

 如上所述,mindsensors的說明文件只教我們如何在Direct Mode下匯入他們的.mnu檔(細節請參閱上段的說明連結),而至於要如何在Remote Mode(target to NXT)下使用他們的產品則沒有多做說明,其實,方法是一樣的,您可以在所下載的mindsensors.com LVEE Toolkit資料夾裡找到一個名為Remote的資料夾,裡面及有另一個dir.mnu檔,要匯入它,首先將LabVIEW設為Remote Mode,再匯入這個dir.mnu檔,您就可以在Remote mode下使用mindsensors的產品了。

Mindsensors MagicWand 的寫字方法

 

Mindsensor在 Extreme NXT 一書中Philippe Hurban所設計的Magic Wand為基礎 ,推出了已經組裝好的成品讓大家享用啦~

 

各位如果不知道要怎麼寫程式來跑的話可以上Mindsensor官網去下載NXC示範程式:

http://www.mindsensors.com/index.phpmodule=pagemaster&PAGE_user_op=view_page&PAGE_id=128

 

Magic Wand 最重要的就是讓他顯示我們想要的字,但下載下來的示範程式卻是一大堆的16進位的矩陣,這該怎麼辦呢???????

 

在各位開始寫字前有幾個重要的事情要注意:

。二進位當中的”1″代表燈開,相對的”0″就代表燈關

。最後一個byte一定要是0

。每個pattern做多只能有15個byte(不包含最後一個0)

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

以CAVE來舉例:

byte C_[] = {0, 0xfe, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0}; //此為16進位

==改為二進位==

0 82    82    82    0

fe    82    82    82

01  1  1  1  1  1  1  0         <= 第八個燈

 1  0  0  0  0  0  0        <= 第七個燈

0  1  0  0  0  0  0  0         <= 第六個燈

0  1  0  0  0  0  0  0         <= 第五個燈

0  1  0  0  0  0  0  0         <= 第四個燈

0  1  0  0  0  0  0  0         <= 第三個燈

0  1  1  1  1  1  1  1  0         <= 第二個燈

0  0  0  0  0  0  0  0        <= 第一個燈

 

byte A_[] = {0xc0, 0x30, 0x2c,0x22,0x22,0x22,0x22,0x22, 0x22, 0x2c, 0x30, 0xc0,0};

//此為16進位

 

==改為二進位==

c0    2c    22    22    22    2c  c0

30    22    22    22    2c    30    0

1  0  0  0  0  0  0  0  0  0  0  1  0       <= 第八個燈

1  0  0  0  0  0  0  0  0  0  0  1  0      <= 第七個燈

1  1  1  1  1  1  1  1  1  1  1  0  0      <= 第六個燈

1  0  0  0  0  0  0  0  0  1  0  0   <= 第五個燈

0  0  1  0  0  0  0  0  0  1  0  0  0    <= 第四個燈

0  0  1  0  0  0  0  0  0  1  0  0  0     <= 第三個燈

0  0  0  1  1  1  1  1  1  0  0  0  0    <= 第二個燈

0  0  0  0  0  0  0  0  0  0  0  0  0       <= 第一個燈

PS第一個燈是Magic Wand的上面第一個燈

 

理用同理就可以寫出”VE”啦~~不知道各位了解要怎麼寫字了嗎?

byte V_[] = {0x6, 0x18, 0x60, 0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80, 0x60, 0x18, 0x6, 0};

byte E_[] = {0xff, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0};

動手試看看吧~