Category Archives: 技術交流

QNAP 將與 Arduino 為 IoT 開發者推出私有雲服務

QNAP 將與 Arduino 為 IoT 開發者推出私有雲服務,真是好消息。對CAVEDU這種常常去學校上課的單位來說,學校的網路由於安全性、學生積極搜尋資訊以及社群網路的需求,必須要做一些限制,有時候會造成教課時某些服務不可用或回應太慢,例如 7688 npm install module 時就會一直等等等…   造成上課節奏不順暢。更可怕的是,學校的網管可能當天請假或公差外出,想到就冷汗直流…

總之以 Qnap 專攻NAS的角度來說,如果能在NAS上放一些常用的服務,這樣就能在區域網路下運作,可以省掉很多網路的問題。

來源:http://www.iotconnectivitysolutions.com/news/2016/10/20/8439833.htm, IoT Tech Expo, Santa Clara, CA, Oct. 20, 2016 (GLOBE NEWSWIRE)

以下翻譯部分內容,完整內容請參考以上連結

QNAP 將與 Arduino 合作,針對 IoT 開發者使用相關產品服務來處理、存放本地端資料,並加強與 Arduino 相關硬體的連結性。QIoT Suite Lite software (container) 會在 2017 Q1 準備好支援 Arduino。

“Arduino 提供的低成本、開放微控制器技術,被愈來愈多 maker 採用來製作各種IoT裝置”YT, Lee QNAP VP表示 “我們會不斷提供資料存放與高端資料處理的服務,搭配易用的介面,讓顧客得以連結並視覺化其 IoT 專案所產生的資料。不管是IP攝影機、家庭音響系統、智能家電感測器、居家保全與各種聯網裝置都會產生許多資料,有些需要長時間保存,有些則只要數天。資料存放雖然是在背後的事情,但對於 IoT 來說卻至關重要

“這項合作可讓 IoT maker 們得以自製或下載可執行在 Qnap 私有雲上的第三方應用程式” Kathy Giori, Arduino VP of Operations表示。 “IoT 開發者們需要連接並存放多種類型的資料;但在生態系統上的標準仍不一,並害怕把所有東西丟上網路的擔憂,以上兩項顧慮催生了開放原始碼與本地端處理與存放資料的需求。除了 QNAP 的 Ethernet 與 USB 接口之外,開法者可透過 Arduino Yun 或 Tian 透過 Wi-Fi 與 Bluetooth Low Energy (BLE) 來連接 IoT 裝置。其他像是 LoRa 等通訊方式則需透過擴充板即可使用。… (後略)”

QIoT Suite Lite 具備多種通訊協定與儀表板,讓使用者能取得接在開發板上的各種感測器,並將像是 Node-RED 與 Freeboard 等應用程式發佈到QNAP NAS上。從感測器收到資料可透過多種通訊協定(MQTT, CoAP等) 回送到 QNAP NAS,使用者透過儀表板就能遠端監控所有東西。

Arduino Yun 與 Tian 支援 Wi-Fi 與 BLE,Qnap 目前則支援 Ethernet 與 USB。新款的Arduino Uno Wi-FiStar Otto 與 Primo 等開發板則可經由 Wi-Fi 與 Yun 與 Tian通訊,這樣開發者可更彈性運用這些開發板來開發所需的專案。

(阿吉老師補充:Arduino.cc 與 .org 分家之爭已落幕,但 Tian、Uno Wi-Fi、Star Otto 與 Primo 等經搜尋結果還歸在 Arduino.org 下)

 

Inventec AVATAR開發板 (微軟Azure IoT認證裝置與 Qualcomm 四核心處理器)

還記得前幾年水果拼盤(各類型 Raspberry Pi 相容板、有香蕉橘子蓮霧鳳梨喔) 開始流行的時候,光有板子就很開心了,但現在大家的胃口被養大了,光有板子是不夠的,有沒有什麼更方便的應用呢?例如,直接打通了某些雲服務,聽起來就很吸引我。

最近英業達 Inventec 有一片 Avatar (阿凡達?) 出來了,主打項目應該是 Microsoft Azure IoT Certificate 與採用 Qualcomm 四核心處理器

085

 

目前 Inventec 在 hackster.io 所放上的專題應用有智慧小玩具、居家助手與監控攝影機等三個專題。也提供了完整的作法,就等拿到板子之後來玩玩看囉。

最後是目前可看到的規格

  • CPU:Quad Cortex-A7, up to 1.094 GHz / Qualcomm APQ8009
  • Memory:8GB eMMC + 1GB LPDDR2
  • Communications:Dual-band 2×2 802.11ac + Bluetooth 4.1 / Qualcomm QCA6174A
  • Audio Codec:Standalone Hi-Fi audio codec IC / Qualcomm WCD9326
  • Speaker AMP:Class-D smart speaker AMP up to 2W/8Ω / WSA8810
  • Microphone:-38dB, Wide bandwidth, Low noise-38dB / A-Mic
  • Camera:1/2.9″ color CMOS 1080p HDR HD image sensor / OmniVision OV2718
  • GPU:O.S. Support

比較令我感興趣的是這個:Microsoft Azure Certified for IoT。不知道可以幫開發者省掉哪些步驟呢?如果只要登入之後就可以直接使用一些範例程式就太棒啦(許願中…)

LattePanda 開機步驟與連接螢幕

看了這麼多 Lattepanda 開箱文與規格介紹之後,開機來玩玩看吧

作者:CAVEDU 2016 實習生歐新暘

本次開箱用到的東西: 電腦、LattePanda 開發板本體、IPS Display、Touch Panel、USB線。請注意 Lattepanda 所附的 IPS 螢幕無觸碰功能,需要另外裝一層 touch panel.

pic01

壹.開機

1. 使用USB線,讓電腦提供LattePanda電源。(也可使用轉接頭接插座)

02

 

2. 待LattePanda藍光消失,按下電源鍵一秒,就完成開機啦! 

03

 

3. 完成開機紅光會亮起。

04

貳.連接IPS Display和Touch Panel

注意: 請在LattePanda開機之前連接好

1.把致動器(actuator)豎起來。

05

2.把柔性電路板(FPC)插進去。 注意插入方向正確與否

正確方向圖

06

3.壓下制動器,完成連接。

07

4.IPS Display和Touch Panel連接方式一樣,完成就可以來測試LattePanda的內建Win10了。

08

 

參.LattePanda系統

LattePanda是個小電腦,連接Wifi、上網玩小遊戲、開多個桌面(Win10功能)都沒有問題,也有內建小畫家、3D Builder、Arduino(版本1.0.6),

還可透過虛擬鍵盤來輸入,最大特點是支援多點觸控,不必滑鼠也可以操作,如果用不慣還是可以外接一個滑鼠。(長按螢幕直到出現正方形方塊放掉,為右鍵點法)

不過也是有個小問題,點選Wifi連線時,Wifi圖示和文字有點被吃掉了,這個透過螢幕往上滑,就可以看到了,

但在安裝Visual Studio的時候,安裝按鈕被擋住了,沒辦法安裝,這時候需要把工具列隱藏才能安裝。

在工具列上長按(直到出現正方形放掉)點properties,在Taskbar 打勾 Auto-hide the taskbar就可以安裝了。

09

10

參考資料: http://www.lattepanda.com/docs/

MultiSIM BLUE – 室內明暗度檢測裝置

本文將依序介紹電路繪製軟體 MultiSIM Blue 的操作方式,歡迎有興趣的朋友歡迎跟著一起做喔。MultiSIM 環境介紹請參考:MultiSIM BLUE 安裝教學 & 基本介面介紹 – 小燈泡

作者:鄭秉恩(CAVEDU 2016實習生)

今天要做的是室內明暗度檢測,如下圖

000

功能說明:

1.控制VR500K電阻,可以讓LED燈長亮,或是隨者外在光線變化亮度。

2.此電路不會隨者9V的電量減少,而要調整電路,只要微調VR500K即可。

所需元件

  • LED
  • C9013 光敏電阻
  • 500K歐姆可變電阻
  • 220歐姆電阻
  • 9V電池

MultiSIM 電路圖繪製

004

因沒有光敏電阻的圖示 所以我們用50k的可變電阻代替

006

007

接線完成 模擬圖因無法看出電燈的亮暗 所以我們實際去接了電路在麵包版上

008

當光敏電阻值發生變化(光線變亮)時,燈泡微暗

010

當光敏電阻 被遮起來時 光線不夠亮所以燈泡變很亮

009

我們也可以使用可變電阻500k旋鈕 來控制led燈的亮滅


轉成PCB

如果真的要把電路板洗出來的話,就需要把電路圖轉成PCB電路,這時可能會因當初沒定義好或某些因素,所以無法直接把線接好,還需要手動調一下。不過我們這個電路相當簡單,所以直接就轉好了。

011

EAGLE生成的電路板3D示意圖,是不是很簡單呢?

 012

[客製化好東西] 物聯網展示小屋,歡迎公司學校洽詢

看過來看過來,CAVEDU 物聯網展示小屋出門見客了。很適合在展場或是學校中進行展示,各方面都可客製化並搭配各主要開發板。歡迎大家洽詢喔!

高度約為150cm 高,使用木板製作,堅固程度OK

2016-05-16 11.15.14

小屋內部有挑歌可放物各種展示用的家電,畫面右上角的黑色物體是窗簾(我知道有點醜…),已可用步進馬達搭配光感測器來自動開闔,當然也可透過 MCS 網頁與手機App 來控制。

2016-05-16 11.19.31

辨識功能採用 Raspberry Pi 3 來處理,同時也可用 LinkIt Smart 7688 串流上 MCS 雲服務。畫面左側的門可用 RFID tag 來感應開啟。

2016-05-16 11.14.40

屋頂先加裝太陽能板與溫度感測器,很多應用可以做

2016-05-16 11.14.48

屋內天花板的 RGB LED 模組,可當作情境燈使用,自由控制各種顏色

2016-05-16 11.15.30

Seeed Studio 募資中:開放原始碼手機 rephone,募資 12美金起

Seeed Studio 募資中:開放原始碼手機  Rephone 套件包,號稱是世界第一支開放原始碼與模組化的行動電話,還有 Lua、Javascript 與 Arduino 相關的開發套件已經準備好。KickStarter 上現在募資中,12美金可以拿到 GSM 與 BLE 模組,39美金以上才能拿到完整的 rephone kit Create開發套件 (39 美金  = 1200 NTD,不貴哩)。如果願意贊助 $5000 美金的話,就可以在您的國家舉辦 rephone 的黑客松,

rephone 這兩個月在台灣辦過兩場的見面會,報名可說是秒殺啊,之後請大家多多關注相關的消息囉

20150924082227352

RePhone 是由三個元件所組成:RePhone 核心模組 GSM + BLE(低功耗藍牙)RePhone 核心模組 3G 與 RePhone kit Create.

c82caabf9f791eecfbeb1f0ef10b0946_original

先來看影片

 

另外也有擴充包,使用 Seeed Studio 新的 Xadow 系列,主板是一片名為 Xadow Duino 的開發板,看到 XX duino 應該可以安心一點,與 Arduino 周邊的相容性應該是 OK,與 Seeed 自家的 Xadow 接頭周邊那就更沒問題囉

有 1.54吋的觸碰螢幕,GSM模組(不然哪叫電話呢?)、GPS、NFC、音效模組(收發語音)相關感測器與 520 mAh 的電池

7b185d93c937836c24f7caa352c6f490_original

模組間連線的概念大概是這樣,模組與主板之間是用 FPC 排線連接,模組上也可焊接也能接麵包板

0927004b0a5c76c740bb91a91bef753e_original

厚紙板 外殼已經準備好了,當然要做更堅固一點的就用雷切吧

759d4f188a699d7c52994f19c42635e3_original

五顏六色的外殼,看了就挺開心

fbf28c6b3bf4ed2682e488662708b638_original (1)

可以做成寵物的項圈,好像更適合做穿戴式

6e24e8566ce912b5e4382cf3ca774cbf_original

有開發套件的好處不用我說,就是可以做一些簡單的判斷,您不把 rephone 當成電話也可以,至少是一個可以發送簡訊的裝置。

5b56a2cf3d78fbeb1b948bb7ad480c8c_original

Seeed 表示 rephone 相容於 Arduino 與 pebble 智慧手錶

7010334d225b38d52019fb97e90c7e00_original

 

 

使用86duino製作六足機器人_種子教師培訓

01

 

今天小編的腳步來到瞻營全電子公司,這裡正在舉辦教師研習營,配合這間公司出版的86duino製作小六足機器人。86duino相關資訊,下面是這次製作的小六足機器人Demo影片,86duino在軟體方面除了有相容於Arduino的開發環境,這次還釋放了設計機器人動作不可或缺的動作編輯,讓86duino在製作機器人方面便利許多。

本文下方有瞻營全所提供的製作講義。總共分成四個部分:3D列印與組裝、伺服機電路組裝、86ME機器人動作編輯器講解、Servo86函式庫程式教學

 

這次小編覺得最亮的亮點在於影片上的動作編輯器,資料除了支援這次的伺服機SG90,此外來有支援kondo等有名的伺服機資料,如果伺服機有提供回傳角度的資訊。在動作編輯器上的動作也可以自動轉換為86duino的程式碼,轉換程式碼的部分,也可以設定用自動、藍芽、鍵盤、PS2搖桿等模式,在測試機器人動作上方便許多。

 

想要自己製作六足機器人,可以下載

軟體設備

1、六組機器人3D圖檔—>的86duino的3D圖檔

2、86duino開發環境—>86duinoIDE開發環境

3、伺服機動作編輯器—>86ME動作編輯器

設備材料請準備

1. 86Duino Enjoy 3D印表機一台及列印耗材

2. 86小六足組裝零配件 (例如: 螺絲)

3. 組裝工具 (例如: 攻牙刀, 銼刀, 螺絲起子)

4. SG90 伺服機 12 顆_參考連結
5. 7.4V 鋰電池 1 顆 (容量 850mAH 或更高)_參考連結

6. 86Duino Zero 或 86Duino One 一片_參考連結

 

這是六足機器人單腳

20150906_132713

 

六足機器人的背面,可以將十二顆伺服機的線整線至背後。

20150906_190253

 

這是瞻營全實習生,模仿LOL的史家納做出的六足機器人

 

後面還有詳細的86duino_Servo函式庫解說與Demo,聽說還會再開教師研習營,敬請期待!!

20150906_172340

 

最後小編的小組,與郭皇甫、施力維、緣佑緣一起合力完成的六足機器人,回家再來慢慢地整線

20150906_214239

 

3D列印與組裝


 

電路配置


 

動作編輯器


 

六足機器人運動


150720 漫談 DIY 二輪平衡車@FutureWard

Maker Faire Taipei 結束過了一個半月了,這次找齊了Segway比賽的三組人馬來向大家分享Segway的製作經驗。

01 02 03

第一組上台是使用樹莓派、電動車馬達&摩托車輪胎製作平衡車的 好朋友-Kevin先生

20150712_133724 20150712_131835

第二祖的是使用Arduino開發版、腳踏車輪胎製作機構的馥林文化-郭有迪先生

恩~聽完兩組分享,馬達驅動晶片燒掉好像是必定會發生的劇情

20150712_13474720150712_135912

最後是來自聯發科的黃傑,分享在大學所學習的機構經驗,最後製作出低底盤、鋰電池供電的二輪平衡車,聽他的分享真的會讓人熱血沸騰阿。最後樓下有二輪平衡車試乘會,騎著騎著會讓人想把他騎走,不行不行,想騎的話自己也來做一台吧!!

20150712_14255020150712_132051

樓上也有黃傑與郭有迪先生帶來的藍芽遙控車可以試玩,果然Make後的經驗分享可以幫助大家教學相長,往後還會有相關的經驗分享會,歡迎大家一起來參加。(不用錢喔~…..大概)

20150712_14562920150712_150602

以下是三位分享時所使用的簡報檔案




 

 

[Untiy3D]使用Arduino光敏電阻控制Unity

本篇介紹使用Arduino光敏電阻來控制Unity。簡單來說,Arduino當成輸入端;Unity當成輸出端,同樣是使用序列通訊SerialPort來當作溝通橋樑。

準備材料:

1.Arduino板一塊

2.麵包板一塊

3.光敏電阻一顆

4.500k可變電阻一顆

5.跳線數條

6.色碼電阻220紅紅棕一顆

Step1:先將光敏電阻與可變電阻、色碼電阻接在麵包板上,電路圖如下:

5

Step2:打開Arduino IDE編寫如下程式碼:

4

a.設定類比腳位為0

b.設定變數sensorValue

c.設定公式:sensorValue = 0.5*sensorValue+0.5*analogRead(analogInPin)  將測到的數值做平均值計算

上述程式的概念是將光敏電阻測到的值顯示出來。先把光敏電阻測到的值利用可變電阻來調整敏感度後,再設立條件如果測到的值大於100,表示手沒有遮住光敏電阻,則傳一個為0的值;否則表示手遮住了光敏電阻,傳一個為11的值,程式碼新增如下:

7

新增之後請將前二行的Serial.println(sensorValue);和delay(100);註解掉。

Step3:打開Untiy,在Asset中建立一個C#腳本,命名為read,程式碼如下:

6

程式的概念是當讀取到Arduino傳來的值為0時,則方塊向右跑;若傳來的值為11時,方塊向左跑,在Unity中讀取Arduino傳來的值使用ReadLine()指令。

Step4:建立一個物件,並將腳本拖進物件後執行程式。執行後即可看到如下結果喔!

[Unity3D] Arduino for Unity控制Led燈亮滅

今天要來跟大家分享如何使用Unity(輸入)來控制Arduino(輸出),在這邊我們會使用到序列通訊(SerialPort)的指令,您可以把序列通訊的角色看成是翻譯,作用在於充當Arduino與Unity之間溝通的橋樑。當然,這一切都只有簡單的幾行程式就能夠做到了喔!(使用Arduino UNO、Untiy5.0)

準備材料:

1.Arduino一塊

2.麵包板一塊

3.Led一顆

4.色碼電阻:紅紅棕

5.跳線

Step1:將Led接在13號腳位,再接一個電阻。

Step2:在Arduino IDE編寫如下的程式碼並上傳至Arduino。

2

在Arduino使用序列通訊會用到的幾個指令

1.Serial.begin():設定鮑率

2.Serial.read():讀取值

3.Serial.print():寫值

程式的架構很簡單,分為二部份:1.讀值;2.Led亮暗。由於我們將Led做為輸出,所以要先設定pingMode(腳位,OUTPUT),接著當Untiy傳過來的值為1時,Led亮digitalWrite(腳位,HIGH);反之值為0時,Led暗digitalWrite(腳位,LOW)。

Step3:在Untiy的Asset下建立一個C#腳本,命名為write,編寫如下程式碼。

3

在Untiy中要與Arduino溝通,同樣要使用到序列通訊SerialPort的指令。

1.using System.IO.Ports:調用控制序列埠的類別。

2.SerialPort 變數 = new SerialPort(“COM8”,9600):設定連接埠與鮑率,請與Arduino實際連接情況一致。

3.變數.Open();變數.IsOpen:開啟序列埠連線,是否開啟。

4.變數.Read();變數.Write():讀值、寫值。

Step4:建立一個空物件,並將write腳本丟進物件。

Step5:設定。在file->Build Settings->Player Settings->Other Settings展開後往底下找到Api Compatibility Level,將.Net 2.0 Subs改為.Net 2.0。如此一來,在調用控制序列埠時才不會出錯。

1

Step6:執行。在Unity遊戲執行畫面中分別按下a、b,我們就可以看到Led的燈亮、燈滅囉!

Maker Faire 2015 展品

各位朋友,週末就是Maker Faire Taipei,CAVEDU 的攤位除了商品、書籍之外,還有一些有趣的互動專題。有些是本團隊同仁製作,有些則是阿吉老師的學生專題,希望您都能來看看喔!


 

物聯網相關

智慧子彈寵物追蹤器貓車
台灣漸漸步入智能的城市,身在智慧生活之中的你,對物聯網除了和身邊方便有考慮過安全這考量嗎?我們針對警察或者是未來槍械和法化的情況下,希望槍械在使用時可以”立即”上傳GPS位址,讓警察能立即反應各種支援現場狀況。現代人家裡普遍會養寵物,但有時沒辦法整天陪在寵物身邊。此專案能讓在外的主人透過手機就能知道看到寵物的行蹤,有些寵物可能會不小心走失或被抱走,此專案就能馬上定位出寵物的位置。當發現寵物失蹤時,能啟動裝置上面的警報器跟亮燈,就能更快速找到寵物了。

影片:https://www.youtube.com/watch?v=eWNoZSiS3ps

透過手機藍牙來遙控的逗貓棒,並回傳貓咪與逗貓棒的交流次數到雲端,讓您和自己的寵物玩耍的更開⼼!
台灣科技大學 林楷崴台灣大學 熊佑庭、朱亮愷元智大學藝術設計系 孫效群、陳雅玲元智大學藝術設計系 丁鏐音、周靖翔、⿈猷杰
11257685_1091035484242972_898927163_n寵物追蹤器1    寵物追蹤器3貓車
Windows 10 + Raspberry Pi 遙控檯燈溫溼度感應器WEB版Arduino Yun 智慧家電系統
本作品在Raspberry Pi 2上安裝Windows 10,並且可以透過網頁控制開啓、關閉檯燈或是家中其他的電器。本作品可以將偵測環境的溫度和濕度的資訊上傳至指定的網頁。Electric imp可以利用APP發出光訊號,告知imp要連線的基地台。imp使用雲端的開發環境,我們可以遠端撰寫程式,將程式燒錄至imp。

影片:https://youtu.be/wWlzzoV4q0k

本作品可以透過網頁、以及輸入網址的方式啟動以及關閉。可以將該電器每一段時間的耗電量記錄在Google試算表當中。影片:https://youtu.be/sPv0MWNRy7c
CAVEDU 陳暐杰CAVEDU 徐豐智CAVEDU 徐豐智
win10_rpiimp0210353093_738626246208252_332885323332732160_n

機器人

多模式機器手臂寵物玩伴86duino 堆高機器人
此作品的設計、組裝與程式皆為DIY,
搭配伺服馬達與微控制器組合成多模式機械手臂,
可透過手機的藍芽連線操控此機械手臂,
並且可切換藍芽手動操控與自動操控等模式。
本裝置以飼料為誘餌幫助寵物運動,擁有自動行走避障以及app藍牙遙控兩種模式。外殼以3D列印製作,兼具了美觀與保護電路的作用。期望能透過此裝置增進寵物與主人之間的

互動,培養感情之餘還能增進寵物的健康。

使用國產 86duino 控制器所製作的堆高機機器人
DIY 機器手臂寵物玩伴堆高車
兩輪自平衡車Double Robot v0.1
本作品利用六軸慣性感測器(IMU)偵測車體傾斜程度, 並實作PID控制理論讓車體保持不倒下狀態。本作品取材自今年火紅產品 Double Robot, 利用webRTC P2P技術,讓您可以像阿凡達一樣有分身啦!!
KKueiKKuei

趣味應用

功夫刀等身大初音Kondo 卡片遊戲機
自己製作的功夫刀, 磨得好辛苦啊!源自對於初音的熱愛超熱血的 Kondo 機器人卡片對戰機,來CAVEDU攤位消費滿額就可以玩一次喔!
功夫刀等身初音 等身初音 (1)街機 (1)
Circle GO !Scratch感應手指_射擊遊戲

在這個智慧型手機充斥的年代,人們的世界縮小到3.5吋的螢幕當中,誰還記得小時候,手機只有3310的貪食蛇年代,常為了玩一場貪食蛇而大打出手,還有誰記得石器時代,

那股野性的悸動,用最原始的敲擊,來滿足內心那沉醉於”玩”渴望。

Scratch為小學同學常使用的程式設計,透過ScratchBoard,我們套上指套,按壓桌上按鈕即可控制機器人移動、射擊

詳細教學

 元智大學藝術設計系 黃予恩、張可人 CAVEDU 徐豐智
All Items======14-17

 

[Unity3D] 2D動畫製作Animation

在Unity中提供了Animation Editor(動畫編輯)的功能,這讓玩家可以自由的編輯動畫,今天我們就要來用它製作一個簡單的2D動畫。2D動畫原理是播放一張張連續的圖片,所以在製作動畫前,要先準備幾張連續圖片,在GOOGLE上搜尋關鍵字「sprite sheet」,它是將連續圖片整合在同一張圖上,類似工作表的概念,在製作動畫時非常方便。接下來我們只需要幾個簡單的步驟就可以製作出好玩的2D動畫囉!

STEP1 導入圖片:將準備好的圖片直接拉進Unity中的Assets。

step1

STEP2設定圖片:首先要去背,點擊圖片後,在右方的inspector(檢視)中,找到Alpha Is Transparen並打勾,按下Apply;接著將圖片設定為Sprite類型,在Texture Type(貼圖類型)中選擇Sprite,Sprite Mode選擇Multiple,選擇Multiple的原因在於我們的圖片裡有多張連續圖片。

step3-2

STEP3剪裁連續圖片:點擊Inspector中的Sprite Editor,會跑出一個編輯視窗,在此可以將連續圖片剪裁成適當的大小,或是選擇左上角Slice中的Type為Grid,Grid會把圖片等分成裁剪的大小,點擊Apply即可完成Sprite的裁剪。

step3

STEP4建立動畫:點選Window->Animation,開啟視窗後,建立一個空物件(GameObject->Create Empty),在上一步驟剛建立好的sprite圖片右側有一個小箭頭,點擊打開後會看到所有裁剪好的圖,將圖片拖曳至Animation中。

step4

STEP5執行:在Animation的視窗中的Sample可以調整播放速度,簡單來說,數字愈小,動畫會以愈慢的速度播放,這樣就完成囉,附上本範例的資源包供下載!!!

 

Matlab & Simulink 的支援硬體:Raspberry Pi、Arduino與樂高機器人

Matlab 可說是所以電機、機械、資工相關科系必備良藥,具備了完整的數學運算功能,尤其是複雜的多維矩陣運算。另外還可以連接外部硬體,從一開始的樂高機器人與Arduino,現在也支援了 Raspberry Pi喔。現在不論是 Matlab 或是 Simulink 圖形化介面,都支援這三種硬體了,您可以使用慣用的硬體來作為資料擷取切面,例如主機狀態與感測器資料(數位/類比)就可以透過 Matlab 來分析出有趣的結果了。

這樣的架構其實用 LabVIEW 也可以,就看您喜歡青菜還是蘿蔔。也請參考 CAVEDU 研究室的 LabVIEW for Arduino 教學

Matlab 網頁介紹

以 Raspberry Pi 來說,以下介面的資訊都能直接取得,很方便。您只要有 Matlab 軟體(有試用版可以先玩玩看,或是大專院校應該都有校園版)以及 Raspberry Pi 就可以開始囉!

  • 攝影機模組
  • I2C 介面
  • SPI 介面
  • Serial 介面
  • GPIO 腳位

參考網頁:

Raspberry Pi support from Matlab  /  Raspberry Pi support from Simulink

 

[雙A計畫] 常見問題整理

許多朋友對於 App Inventor 透過藍牙來控制 Arduino 這個議題相當有興趣,事實上通訊這個主題一直是非常吸引人的,當然也有一定程度的難度啦…

首先整理我們雙A計畫文章總覽:

[雙A計畫] 常見問題整理

[雙A計畫] 藍芽模組(HC05/06)常用指令教學

[雙A計劃] Part1:App Inventor 經由藍牙控制 Arduino LED 亮滅

[雙A計劃] Part2:App Inventor 經由藍牙控制 Arduino LED 漸明漸暗

[雙A計劃] Part3:Android 手機透過藍牙接收 Arduino 類比腳位狀態

[雙A計劃] Part4:App Inventor 藍牙遙控 Arduino 雙輪機器人

[雙A計劃] Part5:Paperduino 藍牙控制 LED 閃爍

[雙A計畫] Part6:Arduino 傳兩筆資料到 Android 手機

[雙A計劃] Part7:Arduino超音波感測距離回傳數值給Android手機

[雙A計劃] Part8:Android 手機對 Arduino 同時進行資料收發

English version

Arduino LED Blink

Arduino LED PWM

Arduino LED Blink (Arduino 101 with BLE)

Arduino LED PWM (Arduino 101 with BLE)

就以下這兩點來說,讓大家有些基礎的概念:

1. 絕大部分的狀況,控制端(例如Android手機) 與被控端(例如 Arduino ) 的程式語言是完全不同的。

2. 牽涉到通訊與硬體就是很麻煩,錯任何一項就是不會動,所以要檢查再檢查喔!

請先參考我們的教學投影片,所有的雙A計畫範例請點我下載


補充一些常見問題如下

1. BTList 點選下去漆黑一片

手機需要先與藍牙發射器配對,我們才能用這個指令來抓到 Android 手機已配對的藍牙裝置位址(address)與名稱(name)。當然您可以直接使用藍牙發射器的 MAC address 來連線,但非常不建議這麼做,因為很容易輸入錯誤而當機。或是您很確定就是要連某片藍牙發射器的話,就把位址寫死在App Inventor 裡吧。

螢幕快照 2015-02-19 下午8.58.27

2. Serial Monitor 亂碼

請檢查鮑率。這會寫在 Arduino 程式中的這一行: Serial.begin(9600);

3. 藍牙發射器上的 LED 燈閃爍或是一直亮是什麼意思?

以 HC05, Hc06 這兩款常見的藍牙發射器來說,只要通電就會閃紅燈,代表正常啟動並可接受外來連線要求。一旦連線成功之後,

4. 藍牙發射器配對碼是什麼?

一般來說都是 1234 或 0000 。您可以透過 AT  command 來修改,但沒有必要。

5. 為什麼需要修改藍牙發射器名稱?鮑率需要改嗎?

就教室管理的角度來說,這件事很重要,否則 Android 掃描下去會看到十幾片同樣名稱的裝置,這樣就無法順利配對完成了。因此建議學校老師可以先使用 AT command (請參閱以上投影片)把藍牙發射器名稱改成 BT001, BT002 或任何好管理的名稱,再把這個名稱用標籤貼紙貼在發射器上。

鮑率一般來說不需要修改。

以上兩件事,如果您是個人使用者,周遭只有一片藍牙發射器而不容易搞混的話,就不太需要做這件事。

6. 什麼是序列通訊?

 

簡單來說,就是在同一條線上一次發送一個位元,因此是先發出去的一定先到。Arduino 端是透過I2CBT.read() 與 I2CBT.write() 來讀寫藍牙序列資料。與序列通訊對應的就是平行通訊,可以同時發送多筆資料。

補充:維基百科的序列通訊頁面

7. 為什麼在範例3 中要加入檢查碼?不加會怎麼樣?

封包傳輸過程中,會有一定的機率遺失,這與傳輸長度以及訊號強弱有關係。當然無線又比有線來的容易掉封包,因此如果掉了一個封包導致讀取位置錯誤的話,您就會感覺到資料怪怪的(例如電位器明明沒有轉動,但手機畫面的數值跳動範圍很大)。因此我們加了字元 ‘a’ 作為資料的第一段,App Inventor 每次讀到a,就知道這是一段封包的第一包(data[0]),就會接續處理後續兩筆資料(Data[1] 與 Data[2])。

至於要使用什麼字元,只要通訊兩端講好就好。重點在於哪邊是頭,以及一次要讀取多少 byte 的資料。這可以說是最基礎的通訊協定(protocol)喔!

螢幕快照 2015-02-19 下午9.31.52

另一方面,手機端會透過 Clock 元件定期發送 49 ,告訴 Arduino: [你可以把資料丟過來囉!]。Arduino 會在讀取到這筆資料後,把 Data[] 陣列送出去。我們可以將其視為基礎的握手(hand shaking)機制

螢幕快照 2015-02-19 下午9.31.41

 

 

8. 同一片藍牙發射器可以同時被多台 Android 裝置連線嗎?

無法。藍牙發射器是被控端 (slave),Android 裝置 (master)則視實際狀況可以控制多個 slave。例如兩台樂高機器人:

9. 程式無法順利執行?

這其實牽一髮動全身,大概會有幾個問題

a. 兩邊的程式沒有對應,請再次檢查程式是否正確

b. 藍牙發射器沒有先與Android 手機配對完成,請參考 1.

c. 連線失敗,請確認藍牙發射器的燈號是閃爍的紅燈。連線成功會恆亮紅燈。如果一開始就恆亮紅燈代表前一個連線還沒結束,這時候就無法被連。我們在 App Inventor 程式中是在點選之後發起連線 (BluetoothClient.Connect 指令),因此您在此會感覺到程式稍微停頓了一下,就是這時候 Android 會對藍牙發射器進行連線。

螢幕快照 2015-02-19 下午9.12.03

d. 執行程式時,可以先按一下 Arduino 的 reset 鈕讓程式強制重新啟動,確認藍牙發射器在閃紅燈,這時再執行手機 app。

最後也請大家參考 Cooper Maa 的藍牙教學,祝大家順利成功喔~