Tag Archives: android

精簡版Android環境建置

螢幕快照 2014-02-20 下午10.44.45

https://sites.google.com/a/cavedu.com/androidrobot2014/setup

1. 下載並安裝 Java Developer Kit  

2. 下載並安裝 ADT-Bundle
    下載完成之後解壓縮,開啓Eclispe即可。
    注意:這只會包含最新的Android版本。其餘版本需自行下載(非必要)
畫面跑掉怎麼辦?
工具列 Window-> Reset Perspective
檢查Android SDK路徑
工具列 Preferences->找到Android選項。右側的 SDK Location
重要介面
SDK Manager(在此管理所有Android版本與相依套件)
AVD Manager(在此管理所有模擬器)
AVD是指 Android Virtual Machine,就是手機模擬器。當沒有實體手機時,可用模擬器來執行(部分應體功能會無法使用)
新增模擬器
1. 點選New…
2. 設定AVD Name, Device(解析度,不用選太高,電腦會變慢), Target(Android版本)。設定好按OK。
3. 新增完成,AVD可自由編輯或刪除。
如何啟動/安裝程式到模擬器
當程式沒錯時,即可執行程式。有兩種做法:
1. 對專案根目錄點右鍵:在選單中點選 Run As… Android Application
2. 工具列上的 Run按鈕,點選下拉式選單:Run As… Android Application
如何開啟手機權限
Android手機預設是無法安裝非 Google Play下載的程式的。因此需要做以下兩件事:
1. 設定->開發人員選項->USB偵錯(請勾選)。這時再次將手機以 USB 連上電腦會要求安裝驅動程式。
2. 設定->安全性->不明來源(請勾選)。
  
怎麼知道我的手機版本?
設定->關於手機->Android版本
開發人員選項不見了怎麼辦?(從Android 4.2之後)

到 設定->關於手機/平板電腦

不斷點選”版本號碼”,直到出現”您現在已成為開發人員!”訊息即可
再回到設定選單,就會看到”開發人員選項”了
如何確定手機連到電腦了?
點選畫面右上角的+號,點選DDMS
在畫面左側會列出目前連線的機器,下圖中有一台模擬器與一隻Samsung

140312開始三個週三晚上 Arduino習作計畫-春季班@MakerBar Taipei

401503652229616

報名請按我

【MakerBar Taipei Workshop】- Arduino習作計畫-春季班
一系列的Arduino實作課程,
有燈光、有動作還有無線藍牙操控。
帶你進入有趣的控制器狂想曲。
 
想像一下,家中的床頭燈可以用手機直接操控明暗,或者讓機器開始走路…..

Arduino,是一種易取得且有趣的控制器平台,只要懂得基本操作,就可以自行設計生活中與周遭物品的互動方式,產生許多不同的趣味及應用。
邀請專業的機器人教育團隊,推出一系列的輕鬆上手的Arduino習作計畫,跟著我們開始練習打造專屬的互動生活。

Arduino 習作三步驟:★★ 單場報名費 800元,三場合報特價2,000元。★★
->3/12(三) – Arduino燈光之夜 
->3/19(三) – Arduino動力之夜 
->3/26(三) – Arduino膜拜之夜 
 

課程材料包購買
1.本活動需另購材料包,可於活動現場購買 ,每人/場需1材料。各場材料包費用如下:
   3/12 (三)- 燈光之夜材料包:1,200元(材料包括Arduino、線材、LED、各式電阻等)
   3/19(三) -動力之夜材料包:1,400元(材料包括Arduino、各式馬達、驅動晶片、電池等)
   3/26 (三) -膜拜之夜材料包:1,400元(材料包括Arduino、藍牙模組、線材、LED、電阻等)
2. 三場活動可使用同一片Arduino,故報名一場以上者,可自行選擇是否購買Arduino。      

《課程介紹》
3/12 (三):Arduino燈光之夜 – 學習如何自由操控燈光顏色與閃爍
→使用Arduino搭配單色與三色LED燈,製作出各種閃爍與呼吸燈效果,這是您踏入互動裝置藝術的第一步唷!課程當中將熟悉Arduino的基礎程式語法、電路連接方式以及如何控制燈的閃爍頻率與顏色。
 
 3/19(三):Arduino動力之夜 –  學習駕馭各式馬達及PWM   
→本課程中,您將可學會如何使用Arduino搭配馬達控制晶片來控制各種馬達,含小型直流馬達、伺服馬達與步進馬達等等,還有基礎的PWM(脈衝頻寬調變)控制方法,深入淺出,一點也不難!
 
3/26 (三) : Arduino膜拜之夜 Mobile –
輕鬆開發Android Arduino互動APP:ArduinoV.S App Inventor及藍牙通訊
→使用App Inventor來編寫簡單的Android程式,透過藍牙通訊與Arduino進行互動,本次課程中將控制單色與三色LED燈的閃爍與呼吸燈效果。

 課程資訊:
• 日期:3/12、3/19、3/26  每周三19:00-21:00。
• 講師:CAVE教育團隊講師
• 課程人數: 4人即開班,至多20人。
• 活動地點:台北市金山南路一段九號5樓(近忠孝新生站2號出口)
• 主辦單位:MakerBar Taipei
• 洽詢電話:02-2322-1772
• Email:hello@makerbartaipei.com
• 本活動如有未盡事宜,主辦單位擁有保留修改活動內容之權利。

北科大互動媒體Android系統互動創作課程‎:以藍牙操控之互動展示裝置

程式碼下載:http://www.appinventor.tw/ntut_app/bluetooth-interactive-device

專題目標:
透過利用App Inventor所開發的手機,來控制電腦畫面中Processing所繪製的方格陣列色塊,
使用者透過翻轉手機,來改變畫面中的陣列的色塊;轉動手機將改變畫面中方塊顏色的RGB,期望使用者在操作的過程中,呈現出互動裝置藝術設計之目的。功能應用說明:
1. 藍牙傳輸應用: 
    透過手機的藍牙裝置與電腦相連接。 
2. Orientation Sensor應用: 
    透過手機的上下左右翻轉,運用偵測Pitch、Roll以及Azimuth三軸的數值,改變Processing所設計的畫面。 
3. Processing應用: 

    透過Processing撰寫顯示的互動畫面,並與手機做藍牙的連線的數值接收。

北科大互動媒體設計系 – Android系統互動創作課程

這學期阿吉老師在北科大互動媒體設計系開了一門「Android系統互動創作課程」,針對互動系的同學,以App Inventor 來教大家智慧型手機的程式設計實務。

以下是課程介紹,重點是最下面有同學的專題(包含了期末報告、code與影片),一共有五組,還有同學的作品結合了 processing 或 Arduino,也有同學是從身障者找廁所不便的角度來出發,做出了很棒的校園導覽軟體!

課程名稱: Android系統互動創作

講師: 曾吉弘老師
上課時間: 101學年第二學期每週三6:30 pm~9:30 pm
地點: 北科大共同科館313室   學分數: 3

課程簡介:
本課程主要學習由AppInventor開發Android應用程式,並結合Arduino與Processing作進一步的互動裝置應用,
例如:機器人自走車,於期末則發表由各組自行發揮所創作的專題。

課程內容:

2/20 學期課程簡介、AppInventor入門基本介紹
2/27 資料型態與陣列運用、Canvas基本介紹
3/06 WebViewer基本介紹、Google map定位
3/13 TextToSpeech、簡訊寄送、用ActivityStarter寄email
3/20 校園行動導覽(BarcodeScanner、VideoPlayer等運用)
3/27 手機藍芽控制樂高機器人
4/10 期末專題提案發表
4/17 Arduino與Processing入門基本程式介紹
4/24 用AppInventor控制
機器人自走車
5/01 語音控制機器人自走車、scratch_S4A基本程式介紹
5/08 Arduino傳送資訊至AppInventor
5/15 期末專題課堂討論
5/22 Google Chart API介紹
5/29 隨堂測驗:成績輸出查詢系統
6/05 期末專題發表

學期作業成果

作業一: 簡易計算機
作業三: Raspberry Pi提案
作業四: 機器人自走車

期末專題成果
第四組: 雲端智慧窗簾
第五組: 北科●大滿足

[Android 補筆記] Google I/O 開發者大會所宣布的 Android Studio

在以往的學習過程當中,Android 開發環境都是先下載 Eclipse,再透過 Install New Software 去把 Android Developer Tool (ADT) 拉下來,缺點就是當全班一起在做這件事的時候,就很測試網路的極限。不過這樣作也過了很多年。

後來的作法變成下載 ADT-Bundle,其實就是裝好Android SDK 的Eclipse,下載好直接解壓縮就有最新版的Android (目前是4.2.2 API17)可以使用。如果要舊版的Android 就要另外下載。

在兩週前的 Google I/O 開發者大會,發佈了 Android Studio 0.1版,按照官方的說法是目前還在開發階段,不適合正式的程式開發。並說明 Android Studio 是基於Gradle的新型開發系統,允許使用者在IDE中及伺服器上來開發專案。它也有一個基於IntelliJ IDEA的程式編輯器,可支援智慧型編輯、進階程式開發或程式分析等。 



Android Studio具備流暢與豐富的圖形管理介面,可預覽程式在不同尺寸及平台等裝置上所呈現的樣貌(基本上我覺得這是 Android 開發者的最痛…),也讓使用者可由該IDE中更容易存取各種Google服務。這樣看來是很明顯的,雖然官方說明還是會支援在 Eclipse 上來開發 Android 專案,但日後就是會逐漸轉移到 Android Studio 來開發了,所以有需要的朋友就裝起來玩玩看吧。



有興趣的朋友可以觀看以下影片是 Google I/O 上對於 Android Studio 的發布影片


[Scratch for Arduino] 北科大 Android 系統設計課程 – App Inventor 語音控制 Arduino 機器人

本週北科大 Android 系統設計課程來到了使用 App Inventor 完成一個語音辨識程式,並能藍牙控制 Arduino 機器人語音。使用 SpeechRecognizer元件搭配 BluetoothClient 元件即可完成。如下圖所示,當語音辨識的結果為"go",則透過luetoothClient 元件送出字元 f 。

Arduino 端程式自然是使用無窮迴圈來判斷接收到資料,如果等於某個字元,就執行對應指令。

例如:

if(Serial.available())   
{ val = Serial.read();
switch(val){
 case 'f': //前進
digitalWrite( Motor_M1, HIGH);
digitalWrite( Motor_M2, HIGH);
 analogWrite( Motor_E1, motorspeed);
analogWrite( Motor_E2, motorspeed);
break;
                    case 'l':   //左轉                 
digitalWrite( Motor_M1, HIGH);
digitalWrite( Motor_M2, HIGH);
analogWrite( Motor_E1, 0);
analogWrite( Motor_E2, motorspeed);
break;

//...以下以此類推

換言之,Arduino 機器人不在意手機端的指令是如何得到的,按鈕也好、觸碰也好,或是如本文中的語音辨識,總之就是一個口令一個動作。這樣大家是不是更清楚了呢?有興趣的朋友請由 App Inventor 中文學習網的檔案庫來下載 App Inventor 與 Arduino 端程式。


改為按鈕控制也是完全一樣的概念,差別在於按下按鈕發送對應的字元。完全不用修改 Arduino 端程式!

來看看同學們上課的照片啊,個個情緒高昂鬥志高呢!

課程中也介紹如何使用 Scratch for Arduino 進行快速的 Arduino 專案開發。歡迎延伸閱讀苗栗蟠桃國小范運平老師的 Youtube 頻道


補上范運平老師的 BB車藍牙控制影片

[Processing][Android] 如何讓您的Processing安裝到 Android手機?

先前文章回顧:[Processing 初體驗 – 結合Android手機]

Processing 的 Android wiki:http://wiki.processing.org/w/Android

上圖就是將 Processing 程式直接透過 Processing IDE 安裝到 Android 手機(模擬器)。

如果您想要將 Processing 的互動小程式安裝到 Android 手機上的話,只需要以下步驟就可以了:

1. 取得 Processing (http://processing.org/),下載後解壓縮找到 Processing icon 點擊就可以開啟 Processing IDE。

2. 取得 Android SDK(http://developer.android.com/sdk/index.html),下載後解壓縮即可。

3. 在  Processing 中指定 Android SDK 資料夾後,即可切換到 Android 模式。頁面的顏色會變成草綠色。

4. 直接點選左側的[Run on Device] ,Processing 會以實體Android裝置優先安裝,如果沒有的話則啟動模擬器(需使用 Android AVD Manager 新增模擬器唷!)。

    還提供了 Export Android Project 將這個Processing 程式匯出成Android專案,可在 Eclipse中開啟後新增更多有趣的功能。

5. 如果您要安裝在實體的Android裝置上,請確認您的Android裝置已開啟相關權限,電腦上也安裝了對應的驅動或同步程式。教學:http://www.appinventor.tw/phone

121124 Scratch for Arduino @ 北科大互動媒體

週六來到北科大互動媒體研究所,感謝王聖銘老師的邀約,能和同學們分享 Scratch 來控制 Arduino。

最近 Arduino 真的是熱到拿不住,LabVIEw, App Inventor 到 Scratch 都要和 Arduino 連上線,不論您選的是哪一種軟體環境,Arduino 都能有相當不錯的整合度!

這次同學來自互動媒體所與資工所的碩士班同學,希望能結合雙方所長,能由互動媒體的角度出發,輔以資工的技術加以實踐。CAVE 覺得是非常好的搭配,畢竟一個專案不是 coding 就代表一切,還要有好的企劃,美工與專案管理等等。讓同學能收到來自不同背景的意見來腦力激盪一下,是很好的磨練。




機器人結合手機的重要拼圖: Android + openCV達成視覺辨識

CAVE於去年出版的[Android / NXT 機器人大戰:智慧型手機控制機器人]內容在討論Android手機上的各樣硬體如何與機器人結合, 包括觸控螢幕, 感測器控制等。 類似的功能也能透過簡易版的Android開發環境, 也就是App Inventor來達成。

我們也有專文[Google Map 路徑追蹤機器人]來討論如何讓機器人根據Google Map的路徑分析結果來移動, 雖然精度受限於手機的GPS晶片, 但已經有基本的雛形。歡迎來信索取source code。

Google Play上也上架了四隻程式, 有興趣的朋友可以下載來玩玩看。當然, 也歡迎來信索取source code。

當時尚未討論到的是如何利用手機進行視覺辨識, 讓機器人得以利用手機上優秀的相機鏡頭來進行各種動作。 我們初步的構想是讓機器人透過手機來跟著手電筒光源跑移動。由於相機所擷取到的資訊對於機器人而言太多也太雜, 所以希望將資訊單純化。所以需要借重openCV這個專門的視覺處理函式庫, 將它轉到Android平台上執行。 這需要做一些步驟, 包含下載openCV的Android SDK, 下載cygwin以及Android NDK等等。因此我們將另外以專文來介紹如何順利在您的Android手機上build up openCV環境。

對於物體追蹤來說, 很重要的一個步驟就是邊界偵測(Edge detection)來說, 我們假設一個像素的周圍8個點顏色都是相近的, 如果周圍像素的顏色出現大幅度變化, 代表這裡很有可能是邊緣。 下圖是擷取網路的示範效果。

各位可以從下圖CAVE老師手中的相機畫面看到, 我們已經順利將手機相機擷取畫面二值化並可擷取物體(畫面中亮部)的坐標與XY分量。 如此就能根據手電筒光源位於畫面的左/右側來控制機器人左右修正, 試圖保持光源位於畫面中央。另外也可透過光源所占像素面積來判斷遠近。

12/07/28 北科大互動媒體研究所 App Inventor機器人研習

延續上周7/21的App Inventor研習課程第一天, 今天的課程內容是App Inventor實際裝載在Android裝置上後, 針對觸碰, 感測器, TexttoSpeech, 語音辨識以及藍牙通訊等功能的介紹。

感謝王聖銘老師的大力支持, 之後期待可以看到App Inventor結合Arduino / Processing在互動媒體方面有更多有趣的應用。 也請各位朋友多多使用App Inventor中文學習唷!

QRCode二維條碼輕鬆做。


當然也有demo 在Android裝置上實際運作Processing的範例, 又快又簡單。

最近的天空都藍得不像話, 隨手拍一張留紀念

07/21 App Inventor研習@北科大互動媒體設計研究所

今天CAVE教育團隊到北科大互動媒體設計研究所和碩班的同學來辦理App Inventor研習, 感謝王聖銘老師的邀請。 王老師的團隊在使用Android手機 + Arduino / Processing 進行各種互動媒體/ 藝術於生活上的應用。

王老師居高臨下, 所以大家都很認真(呵呵)

Processing 初體驗 – 結合Android手機

Processing 互動程式初體驗 –

1. 手指頭接觸點會有一個白色小圓圈, 畫面中的正方形會隨著手指頭移動而旋轉。
boxRotation += (float)(pmouseX – mouseX)/100;
rotate(boxRotation);
rect(0, 0, 150, 150);

2. 觸碰點與畫面中心連線, line(width/2, height/2, mouseX, mouseY);

3.背景顏色也會隨著坐標而改變 background(mouseX * (255.0/800), mouseY * (255.0/280), 0);

要轉換到Android上執行只要切換到Android mode就好了, 電腦上必須要有Android SDK, 並裝好您Android手機的driver就可以了。 相當輕鬆。


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

float boxRotation = 0;

void setup(){
size(480, 800);
smooth();
stroke(255);
fill(255);
rectMode(CENTER);

};

void draw(){
background(mouseX * (255.0/800), mouseY * (255.0/280), 0);
boxRotation += (float)(pmouseX – mouseX)/100;

line(width/2, height/2, mouseX, mouseY);
ellipse(mouseX, mouseY, 40, 40);
pushMatrix();
translate(width/2, height/2);
rotate(boxRotation);
rect(0, 0, 150, 150);
popMatrix();
};

Android 4.1 Jelly Bean來了!!

三更半夜不睡覺在看 Google I/O 2012 線上直播, 重點有兩個

1. Android 4.1 Jelly Bean。

2. NEXUS 7平板來了, 由ASUS代工, ASUS施崇棠先生也在現場。 規格如下:

1. 1280×800, 213dpi
2. Jelly bean 4.1
3. 4核心, 51MHz-1.3GHz
4. NFC, GPS, Gyroscope, Light, Compass, Accelerometer sensors
5. 前置鏡頭
6. 支援 USB host and accessory modes


(圖片引用癮科技 http://www.engadget.com/2012/06/27/nexus-7-tablet-hands-on/)

還有 ADK 2.0 要發布, 在Day 2(6/28) 會介紹新的ADK周邊開發套件2.0。CAVE最期待的就是這個, 讓Android手機透過ADK開發板進行更多有趣的電子電路專題。

快打開Eclipse來更新吧!!