Category Archives: 技術交流

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 的藍牙教學,祝大家順利成功喔~

 

141220 北科大數位應用工作坊 – App Inventor 應用於跨領域教學

12/20 週六下午,阿吉老師到北科大數位應用工作坊,與老師與同學們分享一些關於App Inventor 的心得。這是咱們 2014 最後一場研習。話說,咱們 2014 年辦了45 場 App Inventor 研習,一場平均人數以10人來算的話,也有 450 人哩。實在是令人開心的一件事啊

還是要請大家多多運用與支持 App Inventor 中文學習網,上面的範例教學愈來愈多囉!

DSCN9246

以下是課程照片

DSCN9271 DSCN9243   DSCN9249

Broadcom WICED Sense – Bluetooth Smart Sensor Tag 開發環境建置

Broadcom 公司推出的 WICED Sense – Bluetooth Smart Sensor Tag 最近在各大社群討論的相當熱烈。本文要介紹如何安裝其驅動程式,以及安裝 IDE 並燒錄第一支程式。定價19.99 美元,上面就有陀螺儀、加速度計、電子指南針、氣壓、濕度與溫度感測器,超值超值~

只當做終端商品就太可惜了,因此Broadcom 公司也推出了開發環境與範例程式,讓您可以把 WICED Sense 與您的系統進行整合。

2015-01-09 18.44.39

請先在 Broadcom WICDE 網頁 註冊一個帳號之後就可以下載相關的檔案。總共需要兩個檔案:

  • CP210x_Windows.exe – 裝置驅動程式
  • WICED-Smart-SDK-2.2.0-IDE-Installer.exe – 開發環境 (掛在 Eclipse 下)

請注意 WICED Sense能夠做程式燒入的時間大概只有在開機前10幾秒,一旦裝置上電太久,WICED Sense就會開始執行內部程式。另外,WICED Sense 的 RESET 鍵是做在殼的內部,外面兩個按鈕是從MCU的GPIO拉出來。因此如果要讓WICED Sense重新開機的話:

1.      首先要先把電池拔掉(USB也是)
2.      先將遇燒入的程式準備好
3.      插上USB接頭後馬上按下燒錄鈕

接下來請開啟 WICED 開發環境,有使用過 Eclispe 的朋友應該會感到很熟悉囉。

0002

展開來可以看到許多範例

WICED Sense 提供了相當多的範例程式,在 IDE 右側可以找到幾個可以直接用於 WICED Sense 的 Make Target,在此先利用 pwm_tones-BCM920737TAG_Q32 download 做示範:

1.      將電池取出
2.      插上USB線後馬上點兩下pwm_tones-BCM920737TAG_Q32 download
3.      如果下方”Console”出現如下圖的畫面就代表程式燒錄成功。之後每次開機就會直接執行這個程式。

0001

燒入完之後,這隻程式會讓 WICED Sense 發生嗶嗶聲,按下側邊的按鈕還可以改變聲音頻率。

用 python 取得 Facebook 粉絲頁面讚數

本範例使用 python3 中的 httpclient 函式庫來取得 Facebook 粉絲頁的指定欄位(讚數!) 先來看看咱們相關的App Inventor 網路爬文教學。本文程式碼請拉到頁面最下方。

螢幕快照 2015-01-11 下午10.23.28

這樣後續可以做的事情可真不少,例如CAVEDU 設計首席小游的取讚轉盤

#!/usr/bin/env python3
import json
import http.client

if __name__ == '__main__':
    conn = http.client.HTTPConnection('graph.facebook.com', 80)
    conn.request('GET', '/CAVEEducation')
    response = conn.getresponse()

    if response.status != 200:
        print('failed')
        exit(1)

    response_body = response.read()
    data = json.loads(str(response_body, 'UTF-8'))
    print('# of likes:', data['likes'])
get Facebook fanpage # of likes

[LinkIt One 教學] 連接 LinkIt ONE 到 MediaTek Cloud Sandbox

本文要介紹如何讓您的 LinkIt ONE 開發板連上 MediaTek Cloud Sandbox 雲端服務。官方說明

前言

首先是在 MCS 上建立一個測試用裝置來代表您的 Linkit one 開發板,接著上傳 Arduino 程式碼好讓這片板子可以藉由 RESTful API 把 代表 D13 LED 燈狀態的資料點(data point) 發佈到 MSC,就能用 MSC 來控制 LED 燈狀態(使用  TCP Socket)。

硬體需求

您需要完成以下兩步驟::

  1. LinkIT ONE 開發板,用USB 或電池供電皆可
  2. 可讓 LinkIT ONE 開發板連上的無線網路

其它則不需任何電子零件,當然您之後要再加入也是可以的。

Step 1. 建立開關式資料通道(Switch-Type data channel) 的新產品 (product)

a. 登入 MSC 之後,請在左側導覽列點選 “Development“,接著點選 “Create” 來建立新產品

b. 請為您的產品填入相關資訊,包括名稱、版本、晶片版號、產品簡述等等,最後點選 save 存檔完成。

c. 在新建完成的產品頁面點選 “Detail

d. 在本頁面中,選擇 “Data Channel” 標籤並點選  “Add” 來建立新的資料通道。

在此要建立兩個資料通道,一個是用來呈現板載 LED 狀態的顯示器資料通道(Display Data Channel);另一個則是對 LinkIt ONE 開發板發送指令來控制 LED 亮滅的控制器資料通道(Controller Data Channel)

e. 請點選 “Display” Data Channel” 並輸入以下資訊:

請把 Data Channel Id 記下來,之後在進行 API 呼叫時要用它來識別。

f. 重複上一步,但請選擇 “Controller” Data Channel” 並輸入以下資訊。它也有一個 Data Channel Id, 請記下來,之後在進行 API 呼叫時要用到它。

g. 完成之後,您應該會在頁面上看到兩個資料通道,如下圖:

Step 2. 建立測試裝置

a. 請點選網頁右上角的 “Create Test Device” 來建立測試裝置。

b. 一旦建立好測試裝置之後,就會看到這個訊息視窗,建立成功囉!

c. 請點選左側導覽列的 “My devices“,您應該可以看到剛剛新增好的 test device。

d. 請點選 “detail” 來看一下裝置頁面。請把裝置ID (deviceId) 與 裝置金鑰(deviceKey),稍後呼叫 API 時會用到。

Step 3. 取得 Device ID, Device Key, Data Channel ID

以下是我們要控制這個 test device 裝置所需要的資訊。請注意以下的 deviceIddeviceKey 要使用您自己裝置的資訊,別忘了在程式碼中修改。

NameValueRemark
deviceIdDsre1qRQUnique Identifier for this Test Device
deviceKeyDFbtsNWg4AuLZ30vUnique API Key for this Test Device
dataChannelIdLEDData Channel Id for LED status
dataChannelIdLED_CONTROLData Channel Id for LED control

Step 4. 編寫開發板的程式

開發板端的程式流程如下,程式碼請由此下載。請注意,本份程式碼需要用到 HttpClient 函式庫,記得下載喔

a. 呼叫 RESTful API:GET api.mediatek.com/mcs/v2/devices/{deviceId}/connections.csv 。藉此取得 Socket Server IP 與Port 的回應值。

b. 初始化 TCP 連線的 socket server

c. 透過 RESTful API ,每5秒鐘上傳一次 D13 (LED) 的狀態到 MCS:POST api.mediatek.com/mcs/v2/devices/{deviceId}/datapoints.csv

d. 透過 TCP 連線來監聽由 MSC 發來的切換指令

e. 每 90 秒更新一次 TCP 連線

Step 5. 啟動!

上傳程式完成的話,請確認裝置真的連上無線網路(天線記得插!),並開啟 Serial Monitor 來看看是否有下列的連線確認訊息。

現在可以回到裝置頁面,這時 LED controller 已經正常運作了,當您將 LED 切換到 ON 時,板子上的 LED 就會亮起來,接著and moments later the state of the LED data channel 的狀態也會跟著顯示為 ON state。另外當您將 LED 切換到 OFF 時,板載LED會熄滅,LED data channel 也馬上會顯示為 OFF state。

完成了,您可以控制 LED 了嗎?

[3D繪圖]-DesignSpark Mechanical聖誕樹簡易版

聖誕節快到了,趁著這個機會來製作聖誕樹燈罩,就讓我們輕鬆使用DesignSpark Mechanical來繪製出簡易版聖誕樹。先來看影片吧!

今天的完成品,裡面塞一顆 LED  就很有聖誕節的感覺喔 ~

tree2

如果您有 DesignSpark Mechanical 軟體的話,歡迎和我們一起操作。首先畫出一邊的外型後,繞軸旋轉成形

santree2

因為只要製作外殼,所以我們要平移複製相同的外部線後封閉曲線

santree1

將頂端用弧線封閉起來,並畫出底部樹幹的部份

santree3

繞軸旋轉需要一條直線軸,這時再增加一條直線,待會就以這條直線為中心繞軸

santree4

繞軸旋轉360度

santree5

成形後再利用圓角或是倒角修邊,讓聖誕樹看起來平滑一點

santree6

最後可以自己加點裝飾即完成囉!

tree1

發亮的聖誕樹(天元突破?!)

tree2

 

 

Scratchbot對Arduino進行燒錄程式

創克工廠的軟體工程師近期對外發布測試版本,在Scratchbot中Arduino已經可實現燒錄的功能啦。
目前版本可以支持大部分的

(1)控制

(2)數字和邏輯運算

(3)變數

(4)模組指令可以使用Arduino模組和Makeblock模組。

 

讓小50我好好享受這個便利的新功能吧

首先將Arduino進行連接,連接後可以在上方的選單”串口連接”選擇自己使用的開發板

scb01

 

 

點選連接的Comport後還會貼心地給予以連接的提示,

如果中途拔掉連接線,則要取消連接的Comport再次重新連接比較安全喔。

scb02

 

 

第一個就來試試萬年不變的LED燈控制吧,首先到藍色積木”機器人模組”選擇自己想要的功能

注意!!如果想要燒入程式就一定要選用積木ArduinoProgram!!

scb03

 

再來控制Arduino自身擁有的13號腳位LED燈

scb04

 

寫好之後對積木ArduinoProgram點選右鍵,選擇upload to Arduino,

scratchbot就會幫你把積木轉換成我們平常開發的Arduino的編碼

scb05

 

接著按下上傳鍵就可以進行上傳了,如果程式跳出沒有找到ArduinoIDE,請到Makeblock的官方網站下載

測試結果,目前一般Arduino官方網站發行的ArduinoIDE無法與Scratchbot進行連結。

scb06

 

上傳成功之後Arduino就可以執行剛剛燒錄的程式囉

20141123_205558 20141123_205601

 

小50程式中各種積木的測試結果:目前數位腳位與類比腳位都可以使用,小50也測試過,

程式對於數位腳位與類比腳位的讀取程式碼,也可以成功地燒錄。

但是Arduino對於RS-232的資料接收和讀取還無法成功,讓我們期待正式版的發行吧~~~~~

scb07

 

 

 

下次再見~~