Category Archives: 技術交流

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

 

 

 

下次再見~~

3D模型後製 – [小羊駝篇]

最近在應用Kinect掃描時,無意間瞥見一旁的絨毛布偶,立馬拿來當作實驗品,掃描完列印出來的效果尚可接受,只是腦袋有一個明顯的凹洞,背部也有兩個明顯的小洞。除了使用修補軟體補破洞之外,就是進行人工修補,這也是本篇要介紹的重點,先看一下主角的照片

(小羊駝  身高17cm  體長16cm)

horse1

經過掃描並列印出來的小羊駝長這樣

(未拆支撐架前)

斜側

(拆完支撐架後身高5cm 體長 5.5cm)

after側面2

可以看出頭上有一個約1公分寬的洞,背部也有二個0.5cm的小洞,所以我們需要將它補起來,補洞前先將洞的周圍用粗砂紙磨粗糙一些,這樣等一下在進行補土時,比較能咬得住,來介紹第二主角補土

補土

上面:塑鋼土,需以1:1混合裡面的A、B劑再填至模型上,粘性夠,很好塑型,感覺就像口香糖,適合做大面積修補

中間:TAMIYA PUTTY WHITE 田宮白補土,內容物擠出後像牙膏般,軟軟的,完全乾要24小時,較適合用來做小面積的補洞

下面:TAMIYA POLYESTER PUTTY 田宮造型補土,內附主劑和硬化劑,以50:1的方式混合後會呈黃色,用來塑型

以下分別以TAMIYA白補土、TAMIYA造型補土、塑鋼土填在小羊頭上的洞

(TAMIYA白補土)

白補土白補土2

(TAMIYA造型補土)

造型補土

(塑鋼土)

塑鋼土

大家可以看出塑鋼土的下面白色是TAMIYA的白補土,為什麼要加在它上面呢,因為在白補土補上後隔一天就變成這樣:

白補土3

可以看出頭上又凹下去,最大的原因應該是裡面的洞沒有完全填滿,導致剛補上去的時候還看不太出來,等到乾了以後就會有明顯的凹陷,這就告訴我們,在補土的時候切記一定要把裡面的洞都塞滿。

後記:基本上在使用塑鋼土與TAMIYA造型補土經過1小時後,塑鋼土表面有一點點粘,但已變硬;TAMIYA造型補土摸起來還是軟軟的,也有可能是我的硬化劑加不到比例。

3D掃描舊文章

使用Kinect for Windows搭配Skanect軟體掃描物件

3D列印舊文章

3D列印操作說明--閃鑄雙噴頭機型CREATPOR X MakerWare軟體

3D列印-蓋特1號試作型

3D列印遮光罩 – koopkapsones 出品

3D列印全可動人形

 

樂高EV3 與 MindSensors 系列周邊教學投影片

樂高EV3原廠的感測器不夠用怎麼辦?如果要用到4個以上的感測器或馬達怎麼辦?這時您需要一些協力廠商所生產的感測器以及擴充套件等等。讓您的機器人可以更厲害!

MindSensors 這家公司來說,它生產了許多機器人必備的感測器,例如NXTCam 視覺模組三合一加速度計與陀螺儀光感測器陣列循跡模組紅外線測距PS2 無線手把接收器感測器埠擴充器馬達埠擴充器等等,且樂高機器人主要的程式環境(EV3,NXTG,leJOS,LabVIEW,NXC 與RobotC 等)都有現成的函式庫與範例,方便上手。

針對這些設備的應用,我們先把投影片放上來了,也歡迎大家報名本週六的研習營喔

13-22

投影片搶先看


也可以看一下 NXTCam 實際用在物件追蹤上的效果影片

[CAVEDU Day 有什麼?] 系列之六:Arduino 吉他效果器

彈吉他的朋友們看過來,咱們軟滑小編今年暑假的小作品是使用 Arduino 製作的吉他效果器,可以把您的烏克麗麗變成電吉他喔!

9/21 CAVEDU Day 現場就可以玩看看,或是點歌請軟滑小編唱給您聽,ㄎㄎ。相關技術文件與電路圖請到 CAVEDU 實驗室下載

報名網址請按我

IMG_8148

 

看起來有點可怕的電路圖,希望可以畫得更精簡

電路圖

[CAVEDU Day 有什麼?] 系列之五:DIY Oculus Rift 虛擬實境眼鏡

親愛的朋友們,再過一周就是 CAVEDU Day 囉,您報名了嗎?今天要介紹的是 DIY Oculus Rift 虛擬實境眼鏡Oculus Rift 是 Oculus VR 公司的產品,在2012年8月1日在Kickstarter開始募資,在極短的時間(應該是一個月) 就募到了 240 多萬美金。如果您沒有預算買一支的話,可以自己做一隻來玩玩看,雖然簡易但效果也是不錯的喔!

戴上去就可看到 3D 影像,在玩遊戲或觀看某些影片(?)時會有更好的體驗。

只要您 9/21 來現場就可以戴起來體驗喔,我們也會把作法公開在今年 CAVEDU 實習生的成果頁面上 (持續補完中)。

報名網址請按我

 

 

本日麻豆,阿吉老師。夾得頭有點痛,臉也有被刺到(臉太大了)。之後在面部福貼上要再調整得好一點

2014-09-05 19.08.05

外觀,一切都是源自薛皓云老師的  maker 魂啊。CAVEDU 版本使用雷射切割來製作,您可以在網路上找到厚紙板的版本。

2014-09-05 19.07.46

 

來看看 BBC 的介紹,Google 版本是裝一支手機在硬紙板盒裡面。

[AppInventor]Wait Function

參考網站:http://jock36.blogspot.tw/2014/07/appinventorwait-function.html#more

Hi!我是偉和

今天要交各位AppInventor 等待指令

在AppInventor裡面是沒有等待指令所以在寫某些程式時會變得非常困難

所以我就去爬文

查了些範例後 我決定使用子程式的方式去撰寫wait 指令

這裡是程式碼

所以之後你可以使用這子程式去控制延遲效果了

例如這樣:

我使用延遲子程式去使我的手機每按一次按鈕會震動5次

如果我沒放這子程式 那麼手機會持續震動直到for each迴圈結束

所以看完這篇你已經會在appinventor內使用延遲指令了!

[開箱文] RPLIDAR 360度掃描測距儀開發套件

今日收到了我暑假的新玩具–RPLIDAR 360度掃描測距儀開發套件

是從原廠購入的

Robopeak官方網站:http://www.robopeak.com/blog/?cat=8。詳情可以參考以下網址,有很多文件可以看:

http://item.taobao.com/item.htm?id=38879273211

IMG_20140613_172955  盒子外觀很乾淨俐落

官方提供的掃描影片:

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

以及基本的規格表:

IMG_20140613_173023IMG_20140613_173116

保護得很好,還有附兩組線材以及晶片

IMG_20140613_173123IMG_20140613_173113

暑假會將第一次測試跟作品進度都PO上來的!

Sariel 的積木單位換算工具

http://studs.sariel.pl/  <- Sariel 的積木單位換算工具

樂高的積木塊,是以凸點(或圓孔)圓心彼此之間的距離為單位,稱為1M = 0.8 cm(我記得實際的規格是 0.76cm)。另一方面樂高積木是底面的長寬相等(0.8cm),高不相等(0.96cm)。所以在垂直方向或斜方搭建時,有時候會對不到孔位。

因此當要製作比較大型的專題時,確實掌握專題的尺寸是很重要的。

感謝樂高大師 Sariel 提供這個好用的工具, 這樣在計算上就更方便了。另外他也提供了輪子的規格表 http://wheels.sariel.pl/ ,歡迎多多利用喔

pic02_wire.jpg96d9863f-ff42-4107-ab67-c4b281ca38d5Large

(圖片來源:http://sariel.pl)

500px-Lego_dimensions.svg_

(圖片來源: http://www.lucasbrouwers.nl/blog/2011/05/why-life-is-like-lego/)

開啟網頁之後直接填入任何欄位,其它欄位都會自動換算出來. 右上角的 Scaled result 是按比例縮放後的計算結果。超方便

444

磁驅動微型機器人

延伸:http://www.dvice.com/2014-4-22/watch-swarms-micro-robots-run-around-making-stuff

現今的科技機器、儀器越來越精密,有時候為了要維修會需要將零件都拆開來。

但是經由許多因素考量,無法在立即的時候將機器拆開檢查,所以現在有了一款磁驅動微型機器人,是隸屬於 DARPA  的 Open Manufacturing Program 的其中一項子計劃。

長度只有兩毫米,幾乎比一顆豆子還小。

2013.04.25.01

2013.04.25.02

而且靈活度超高,可以在任意的平面上移動,甚至可以轉換移動的平面。

想不到這個世界上機器人可以像是變形金剛電影那麼大,也可以像是螞蟻那樣小呢!

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

 

 

3D列印全可動人形

http://www.3ders.org/articles/20140319-maker-spent-6-months-building-a-3d-printed-fully-posable-action-figure.html

國外網友自行設計並使用3D列印來製作所有零件。零件分件也很精細,這已經是商品級的水準,可以賣了啦

由此圖可看到肩膀與髖關節的可動度都相當好,才能做出這種蹲姿。

ronin-3d-printed-action-figure-8

由此可看到歷代的演進

ronin-3d-printed-action-figure-2 ronin-3d-printed-action-figure-4

手指頭的零件好精細

ronin-3d-printed-action-figure-1