Tag Archives: arduino

[Android ADK] 環境建置說明 #2 Android裝置 ADK環境設定

[Android ADK] 環境建置說明 #2

Android裝置 ADK環境設定並執行DemoKit 範例程式

請先閱讀 [Android ADK] 環境建置說明 #1 Arduino 與相關函式庫

請注意執行時,ADK開發板需使用DC電源,不可使用AC電源,否則可能會抓不到裝置甚至損壞。

方才下載的ADK套件中的app資料夾是一個名為DemoKit的 Android程式,它可以讓您的Android裝置與ADK開發板互相溝通。ADK開發板可接收來自Android裝置的指令,例如點亮ADK開發板上 的LED燈;或是回送指令給Android裝置,例如ADK開發板上的搖桿狀態與溫度計讀數。

在Eclipse環境中安裝並執行DemoKit範例程式:

1.      您必須先依序安裝下列項目才能建置Android開發環境,詳細安裝步驟請參考:http://code.google.com/p/androidbmi/wiki/InstallAndroid . 大部分的時間都花在這…

A.    JDK

B.     Eclipse

C.     在Eclipse中下載Android開發套件

2.      確認已安裝了 Google APIs API Level 10 add-on 函式庫,裡頭包含了支援周邊模式(accessory mode)的Open Accessory函式庫,可支援Android手機2.3.4或Android平板3.1以上的裝置。如果您的設備都在3.1以上,您只需要使用API Level 12即可。更多有關API Level的使用資訊請參考the USB Accessory 說明頁面。(http://developer.android.com/guide/topics/usb /accessory.html#choosing)

3.      點選 File > New > Project…,然後點選Android > Android Project。

4.      在Project name: 欄位中輸入專案名稱:DemoKit。

5.      接著選擇Create project from existing source,點選 Browse,選擇剛剛的app 資料夾之後點選 Open,最後點選 Finish來關閉對話視窗。

6.      在Build Target中選擇「 Google APIs (Platform 2.3.3, API Level 10) 」。

注意:即便這裡只顯示 2.3.3,最新的Google API add-on 函式庫API level 10 已支援了USB Open Accessory API。

7.      正確載入如下圖,點選頁面下方的 Finish。

8.      將Demokit安裝在您的Android裝置上。手機設定請參考此頁:

http://www.appinventor.tw/phone

9.      將ADK開發板 (USB-A) 與您的Android裝置連接(micro-USB)。請確認ADK開發板的DC 電源已接上,或使用micro-USB 連接ADK開發板與電腦,這樣可以讓您監測(this also allows you to monitor the ADK開發板). 連接之後會跳出一個視窗,詢問您是否讓DemoKit程式與ADK開發版進行溝通。如果沒有出現prompt,請確認DC電源是否接上並重新連接ADK開 發板。

終於完成了!您可以在Android裝置上移動彩色LED或servo控制條來和ADK互動了(當然您得找個小伺服機),也可以按下螢幕上的relay按鈕。另一方面,您可以按下ADK開發板上的按鈕或轉動搖桿,看看Android裝置螢幕上所產生的效果。

        注意:Teemino與Arduino MEGA ADK這兩片板子並無LED與搖桿。

監測ADK開發板

The ADK 韌體檔案中包含了一些重要的資料,日後您如果需要開發專屬的周邊設備,您就需要好好了解它們。在firmware/arduino_libs /AndroidAccessory 資料夾下的檔案相當重要,因為它們負責偵測並連接那些已支援周邊模式的Android裝置。您可以自行對 arduino_libraries_directory /AndroidAccessory 資料夾下的相關程式碼,以及 firmware/demokit/demokit.pde 這個韌體檔中加上必要的 除錯指令(例如Arduino的 Serial.print() 指令),接著重新上傳到ADK開發板來看看韌體的實際運作方式。

您也可 以從Arduino Serial Monitor 來檢查相關訊息,請點選 Tools > Serial Monitor 並設定baud rate為 115200。如果您要進一步理解USB周邊是如何與Android裝置進行溝通的話,請參閱以下頁 面:http://developer.android.com/guide/topics/usb/adk.html#accessory- protocol。

[Android ADK] 環境建置說明 #1 Arduino 與相關函式庫

Android ADK安裝手冊  #1 Arduino 與相關函式庫

本文件說明如何安裝Arduino軟體,並接續安裝ADK開發板上的Android應用程式。開始安裝之前,請先下載以下檔案來設定開發環境:

注意:本文件是以Windows作業系統來說明,如果您使用MAC或是Linux,請自行參閱http://developer.android.com/guide/topics/usb/adk.html

注意:Android ADK要求Android版本為2.3.4(手機)或3.1(平板電腦)以上,所以請先確認您的Android裝置的版本符合此項需求。

懶人包:500MB製作中

您需要下載以下的東西:

1. Arduino軟體:包含了相關的函式庫以及開發環境,我們就是由此安裝ADK開發板的韌體。

2. CapSense 函式庫:包含了可感測體電容(human capacitance)的相關函式. ADK開發板上裝有這種電容按鈕。

3. ADK套件: 包含ADK開發板的韌體檔案,以及ADK開發板與Shield轉接板相關的硬體設計檔案。

安裝 Arduino軟體與相關函式庫

1.      由Arduino官方網站下載並安裝Arduino軟體。

2.      下載並解壓縮ADK套件,您會看到app、firmware以及hardware 這三個資料夾。

3.      下載並解壓縮CapSense

4.      安裝函式庫:

a.       將 firmware/arduino_libs/AndroidAccessory and firmware/arduino_libs /USB_Host_Shield 這兩個資料夾複製到 /libraries/ 資 料夾下,請注意要複製完整的資料夾,不能只複製底下的檔案。

b.      在  /libraries/ 資料夾下建立一個名為「CapSense」的資料夾。

c.       從剛剛解壓縮的CapSense 檔案中找到 CapSense.cpp and CapSense.h,將這兩個檔案複製到上一步所建立的CapSense 資料夾。

這時候您應該會在Arduino的libraries資料夾下看到以下三個資料夾: AndroidAccessory, USB_Host_Shield, and CapSense。

安裝ADK開發板的韌體:

1.      使用micro-USB埠將ADK開發板連接到您的電腦,這可讓電腦與開發板進行雙向通訊同時讓電腦對ADK開發板供電。

2.      啟動Arduino軟體。

3.      點選 Tools > Board > Arduino Mega 2560 來指定ADK開發板的種類。

注意:

4.      選擇正確的USB 埠:

點 選 Tools > Serial Port > COM# 來指定正確的通訊埠。COM埠會根據不同的電腦而有所不同,不一定都是同一組號碼。COM1 通常會被保留, ADK板一般來說會被指定為COM2或COM3, 依序延伸. 您可由下圖中看到ADK開發板被指定為COM14。


5.      點選 File > Open and 選擇 firmware/demokit/demokit.pde 來開啟檔案, 這是ADK開發板的韌體檔. 也可以直接將這個檔案拖拉至Arduino環境。

6.      點選 Sketch > Verify/Compile 來確保sketch可以順利編譯沒有錯誤。編譯成功會顯示Done Compiling, 如下圖。

7.      點選File > Upload to I/O Board。當Arduino畫面顯示「Done uploading.」,這時ADK開發板已經可以與您的Android裝置進行雙向溝通了。

請接續下篇 -> #2 Android裝置 ADK環境設定

[Arduino] RC Servo Rotate

Arduino的使用其實非常簡單,當我們下載Arduino IDE後就已經有一些基本的範例可以使用,並且已經將libraries寫好了,只需要打幾個簡單的函式,就可以達到我們要的效果,就拿Servo當範例。請您在Arduino環境中找到 Files –> Examples –> Servos, 底下有 Knob與 Sweep兩個範例, 現在我們來看看Sweep:

#include <Servo.h>
 
Servo myservo;  // 建立一個servo物件, 最多可以到8個
 
int pos = 0;    // 用來儲存servo位置的變數
 
void setup()
{
  myservo.attach(9);  // 指定servo接在pin 9
}
 
 
void loop()
{
  for(pos = 0; pos < 180; pos += 1)  // 要servo從0度轉動到180度的位置, 每次正向轉動1度
  {                               
    myservo.write(pos);              // 以變數pos的值來指定servo 的位置
    delay(15);                       // 等候15毫秒讓動作做完
  }
  for(pos = 180; pos>=1; pos-=1)     要servo從180度轉動到0度的位置, 每次逆向轉動1度
  {                               
    myservo.write(pos);             
    delay(15);                      
  }
}

我們就可以發現,我們如果要指定Servo轉到某個位置,不需要自己寫PWM,只需要打myservo.write(pos);    pos指定0~180就可以滿足我們的要求, 不需要處理一些低階的I/O指令。

大家一起試看看吧~

安裝LabVIEW for ardinuo

Arduino 也有為LabVIEW 撰寫toolkit,如果習慣使用圖形化介面來撰寫程式的朋友可以試看看~

首先我們先到下面網址點選下載:
http://sine.ni.com/nips/cds/view/p/lang/zht/nid/209835

我們需要先安裝JKI ,他是專門在撰寫LabVIEW第三方外掛的公司,必須要透過這個平台才能安裝 ardinuo toolkit

安裝完JKI後就可以點選下載toolkit啦~

在左上角點選你LabVIEW的版本及安裝

下載後我們就可以在function裡面看到Ardinuo toolkit了~

Modkit初體驗

大家現在對於Arduino應該不太陌生。除了原本Arduino所提供類似C語言的文字是開發環境之外,今天要為各位介紹一個另一個類似App Inventor的雲端圖控Arduino環境: Modkit。大家可以先進入到以下的網站

http://www.modk.it/

此程式的開發者因為受到Scratch的啟發,所以創建了這套程式,此程式的用法跟NXT-G及LabVIEW及APP Inventor相當類似,都是用圖控的方式來達成我們的目的,好處是不用記一堆程式碼,而且編寫起來也相當有效率,對於有新鮮構想但是程式基礎較為薄弱 的同學們,這套軟體想必可以帶給你們幫助,以下阿邦老師介紹一段教學影片,此影片教你怎麼撰寫 Hello World 等級的入門程式及閃爍燈號的成是,以下程式有 for 迴圈、delay() 函式。在編寫上真的比文字式的程式還要方便許多!

 by CAVE阿邦老師


除了Arduino之外,Modkit也支援其它的開發板,例如Lilypad, Knobcard, Servocard等

以Arduino來說,支援了Uno, Duemilanove(很難念…)與Diecimila。可以與Android手機連接的MEGA ADK目前沒有。

Modkit 把程式碼處理得很可愛呢,下圖是設定pin2的高電位0.3秒後,設定低電位0.5秒,並重覆執行。

 

[Arduino] Arduino 控制LEGO NXT機器人

自從拿到 NXShield-M之後, 就迫不急待要把它和NXT結合。 正確來說應該是把NXT主機取代掉, 讓Arduino控制器可以透過 NXShield來控制NXT馬達與感應器。 樂高零件的方便性與Arduino的開放, 將帶給您無限的可能! 先來看基礎示範影片, 控制馬達運轉:

請鎖定CAVE教育團隊部落格來挖出更多好玩的東西唷. NXShield中文化文件請看此

請注意: NXShield需另外供電9V。

要完成這一台小機器人您需要:

硬體:

1. Arduino控制板 x1

2. NXshield轉接板 x1

3. LEGO NXT機器人 1套

4. 9V電池與電池盒 x1

軟體:

Arduino 開發環境: http://www.arduino.cc/

NXshield 函式庫: http://openelectrons.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=8


9V電池盒. (紅線剛好掉了)

Adruino / NXT機器人套件上市囉!!

Arduino機器人周邊產品上市囉, 也請注意我們即將於1月舉辦的 Adruino 機器人研習課程, 歡迎報名參加。

以下皆為定價, 歡迎電洽 02 2306 2900 或 service@cavedu.com 詢問優惠價格。

NXshield-D : 定價3300

——————————————————————————————————————————–

 

NXshield-M : 定價3700
——————————————————————————————————————————–
Teemino  : 定價4000
檔案中文化業面請按我

LabVIEW的Arduino開發套件

http://sine.ni.com/nips/cds/view/p/lang/zht/nid/209835


NI針對Arduino套件的LabVIEW介面可讓您以簡單的LabVIEW操作介面來與Arduino微控制器進行互動。

 

藉由這個toolkitLabVIEW您可以控制或從Arduino微控制器取得資料,進而透過LabVIEW內建數以百計的函式庫進行資料分析或是開發控制Arduino硬體的演算法並將您的成果以優雅的介面呈現

 

Arduino的開發環境在此變成了一個以序列通訊埠與LabVIEW程式互動的I/O引擎。這可讓您快速地將Arduino上的資訊移到LabVIEW中,而不需要繁瑣的通訊調整,同步甚至要透過C語言來處理。您只要使用LabIVIEW中的開檔,讀寫檔案與關檔功能就可以存取Arduino上的數位/類比, PWM, I2CSPI等訊號。如果要進一步了解底層是如何運作好進一步修改並擴充功能,您只要將LabVIEWsubVI展開或是進到Arduino開發環境就可以了。

 

Arduino微控制器必須以USB序列通訊埠藍牙或XBee連接到已安裝LabVIEW的電腦Toolkit不提供離線操作

 

支援資訊

更多支援資訊與常見問題請參考 ni.com/arduino.

NXShield 文件中文化完成

http://www.openelectrons.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=8

這個可愛的小東西,可以讓Arduino的控制板來控制NXT的馬達與感應器,簡單來說就是把NXT主機放一邊吧!使用Arduino 來擁抱開放式硬體資源,您會找到更多 DIY 的經驗與樂趣。

工欲善其事,必先利其器。先把文件中文化是我們應該做的,接下來就是研習與課程囉!

檔案中文化感謝ch_lego 與 Bridan 兩位資深前輩的熱心協助。

檔案請按我下載

CAVE已經正式開賣本項產品,與 Arduino控制板 / NXT機器人合購另有優惠,請寄信(service@cavedu.com)或電洽 02 2306 2900。

延伸閱讀:ch_lego前輩的精彩使用心得

 

NXShield-M for Arduino Mega or ADK 上市了!!

http://www.openelectrons.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=8

OpenElectronics 發表的 [NXShield-M for Arduino Mega or ADK] 可以使用Android手機 <-> ADK板 <-> NXShield-M <-> 原本NXT sensor and motor。 可以玩的東西又更多了。

CAVE有代理這一系列的產品, 相關的sample code 與教學課程也已經準備好了,  歡迎大家寫信至 service@cavedu.com 詢價, 也請密切注意我們的課程發表!

自走車範例

接上Mindsensor的 Lineleader光感陣列

Arduino MEGA ADK for Android

http://www.arduino.cc/en/Main/ArduinoBoardADK

為了實現將Android 裝置變成小型嵌入式系統的核心, 需要這一塊小小的轉接板。 CAVE先拿到這一塊板子, 然後依照Android開發者網站的ADK說明把一些環境架起來。對於CAVE來說這是一個全新的領域, 希望紮實努力之後就可以看到成果。

之後CAVE如果開設小型的workshop, 還希望大家一同熱情參與!!

也請大家延伸閱讀ch_lego前輩在這方面的相關精彩報告

[影片] Fivebot 雙輪移動平台 搭配NXT / 無線手把遙控

Fivebro雙輪機器人的Arduino控制板換成 NXT 機器人, 即可享用 LabVIEW 強大的程式運算資源, 當然也可以使用NXC, RobotC 以及 Java等各種不同的語言來控制。

使用了Faulhaber馬達, 扭矩大速度快, 載重可達15kg, 足以在上面外掛各種擴充套件(Wifi, camera, GPS以及各種您想要的)。 並已經內建了touch sensor 與 身體周圍一整圈的超音波測距儀。

有興趣購買這台強悍機器人設備的老師與朋友們請與我們連絡(service@cavedu.com), 價格漂亮並有CAVE團隊的技術支援!!

以下影片可以很清楚地看到使用PS2無線手把來控制機器人運動, 按下按鈕後則是呼叫定位子程式, 機器人會自動轉到設定的方位(本程式中為北方)後停止, 並已將PID控制演算法整合於機器人定位控制之中。