View
1.353
Download
10
Category
Preview:
Citation preview
繪師: 梁榆 老師
高畫質修飾: RB 魔人
從入門到初階
LabVIEW&RoBoard 無痛上手指南
1
第一幕 來作機器人吧!
本節目由瞻營全(DMP)公司贊助播出,在此由衷感
謝。
碧靈與威爺齊聲說道:「「大家好! 歡迎各位收看由
威爺與碧靈兩位所主持的『RoBoard Lab』特別節
目。」」
「本節目由 DMP 公司贊助播出。」碧靈微笑的說
著。
威爺看著碧靈說著:「這剛剛已經提過了…話說碧
靈啊,您有聽過”電子寵物”這個東西嗎?」
「有啊,我小時候有過一隻愛寶(AIBO)。」碧靈驕
傲的說。
「什麼…真的嗎!?」驚訝的威爺問道。
碧靈:「假的。」
「…………」威爺無言。
「唉,不是啊,你也知道愛寶剛出來的時候瞬間就
被秒殺了餒,而且沒幾年就停產了。」碧靈無奈的
說著。
威爺:「一下熱賣一下停產好像有點怪,不過沒想
到您對這個領域還算相當有概念嘛。」
碧靈驕傲的說:「當然囉,你以為我誰啊?」
威爺:「……那想必大小姐您也一定聽過由郭董代
工的 Pleo。」
碧靈:「就是公司破產的那隻恐龍嘛!」
「………嗚~~導播我接不下去了啦,又是停產又是
破產的。」無奈的威爺看著不在鏡頭內的導播。
「威爺你真的很弱餒,靠別人不如靠自己啊!」碧靈
有點生氣的說。
「什麼意思?」驚訝的威爺問道。
碧靈:「我是說,外面那些電子寵物總是賣的又貴
又不見得符合需求,想加個小套件、擴充軟體總得
耗掉大把銀子,那何不自己挖坑給自己跳…」
「咦?」威爺疑惑的看著碧靈。
碧靈:「我的意思是,那何不自己做一隻呢?」
「這、這談何容易呀?」威爺皺著眉頭。
碧靈不耐煩的說著:「……今天我們兩個特別上這
個節目,喇滴賽這麼久,不就是要為大家介紹如何
使用 RoBoard 這個神奇的產品,為自己量身打造一
台機器人嗎?」
2
威爺:「是呀!」
「……你把自己今天的目的都給忘了。」碧靈敲著
威爺的頭。
威爺:「慚愧!」
「唉……」碧靈嘆著氣。「可那您得說說,這 RoBoard
是個怎麼樣的寶貝呢?」威爺問著碧靈。
碧靈:「它是一台電腦,可以跑 XP。」
「可以跑 XP?」威爺疑惑樣。
碧靈:「是呀。」
威爺:「這又有什麼了不起的呢? 誰家的電腦跑不
動 XP 的。」
「…它才這麼丁點大。」碧靈拿出 RoBoard 展示給
威爺看。
威爺接下 RoBoard 並打量著說:「您說這手機般大
小的玩意兒是電腦? 大小姐您可別誆人啊,我家外
接碟都比這大!」
碧靈:「你不信?」
威爺:「不信,沒圖沒真相。」
「要圖? 在這!」碧靈拿出證據。
威爺驚訝的說:「…這可真是了得啊!」
碧靈:「這還可是 MIT,台灣設計的呢!」
威爺大喊:「台灣之光!」
「重點是,它不單純是一台普通的 PC,其硬體規
格跟介面都是專為機器人設計的!」碧靈解釋。
「而且在裡面存一百部影片也不會變重!」威爺對著
鏡頭說。
無言的碧靈:「…這老哏了。」
「對不起。」威爺抓著頭。
碧靈看著手稿說著:「嗯哼哼,看來字數也差不多
了。所以下一回就要介紹如何運用 LabVIEW 語言
來控制這台機器人的心臟囉!」
威爺:「同時也會介紹使用 RoBoard 時的一些視窗
設定技巧!」
威爺與碧靈齊聲:「「感謝各位收看,下次再會。」」
(本集完)
3
4
第二幕 企鵝歸你,XP 娘歸我
威爺與碧靈齊聲:「「大家好! 歡迎各位收看由威爺
與碧靈兩位所主持的『RoBoard Lab』特別節目 Part
II !。」」
「感謝願意賞光蒞臨的各位觀眾以及贊助本節目
的 DMP 公司。」碧靈鞠躬。
威爺:「台灣的瞻營全(DMP)公司提供專為機器人愛
好者所設計之 RoBoard 小主板,實用、可靠、低功
耗,為使用者帶來前所未有的全新體驗!」
「……全新體驗?」碧靈搔著頭。
「怎麼了嗎? 碧靈。」威爺疑惑的看著碧靈。
碧靈:「市場上那些廠商所謂的全新體驗說好聽是
新玩意、新花招,實際上不過就是陌生的環境與詭
異的操作方式咩!」
「不,這個…」威爺一臉困惑。
「最好的例子不就是那奇怪的 Vista 嗎? 我是絕對
不會接受 Win 7 娘的,誰也別想從我這裡搶走 XP
娘!」碧靈激動樣。
威爺:「這是哪國的百合宣言啊? …不不,碧靈您誤
會了,事實上 RoBoard 對於開發環境的支援是最豐
富親切,從古早的 DOS 到 WIN CE、XP,以及傳
奇的 Linux 都有支援。」
「……」碧靈摀住嘴,像是說錯話的樣子。
「除了可以使用最普遍的 C 語言來操作 RoBoard
之外,在以 DMP 的工程師為祭品進行招喚後,經
典的 VB、JAVA、Python、.NET 等也可以用來撰寫
機器人程式囉!」威爺解釋道。
「這真是太 Nice 了! 感謝 DMP 工程師的犧牲與奉
獻。」碧玲看著鏡頭說著。
(更進一步的詳情請至 RoBoard 的官網查詢
http://www.roboard.com)
威爺:「而在本系列節目中我們將使用 WIN XP 平
台,以及 LabVIEW 圖控程式語言進行機器人的程
式開發工作喔!」
「……LabVIEW 圖控程式語言?」碧靈再度搔著頭。
威爺:「是呀!」
5
「那我們再從牌組抽出一張『DMP 工程師』……」
碧靈拿出一堆名片。
威爺伸出手,阻止了碧靈「大小姐,ちょっと待っ
て一下! 事實上,來自荷蘭的 Ries 先生、來自荷蘭
的 Ries 先生,為我們完成了 RoBoIO 與 LabVIEW
的整合工作。」
碧靈:「感謝來自荷蘭的 Ries 網友。」
威爺:「來自荷蘭的 Ries 網友所調用的模組為
RoBoIO 1.5b 版本,適用於 LabVIEW 8.6.1,有需要
的觀眾可衝浪至 DMP 的 RoBoard 官網下載!」
「1.5b? 8.6.1?」碧靈疑惑樣。
威爺:「希低!」
碧靈:「現在最新的 RoBoIO 已經是 1.8 版了,
LabVIEW 也到了 2011 啦?」
「沒錯,所以我們之後也會指導大家怎麼在
LabVIEW 裡調用 RoBoIO 的 DLL。」威爺指著鏡
頭,對著觀眾說著。
碧靈與威爺齊聲:「那各位觀眾,我們就下次再會
啦!」
6
第三幕 來還原吧!...咦?
威爺與碧靈齊聲:「「大家好! 歡迎各位收看由威爺
與碧靈兩位所主持的『RoBoard Lab』特別節目 Part
III !。」」
「今天我們將現場由攝影棚轉移到實驗室這邊,讓
各位使用者了解從開機到關機,從搖籃到墳墓的整
個程序。」碧靈微笑的說著。
「在這邊要說明的是,RoBoard 的規格與操作規範
以官方公布為準,本節目所提供之內容、程序不提
供任何保證。」威爺露出陰險的笑容。
碧靈:「咦?」
威爺半開玩笑的說:「一般來說,斯斯有兩種,
RoBoard 有三種。其分別為 RB-100、RB-110 與
RB-050。」
「有沒有 RB-050 市面上買不到的八卦?」碧靈看著
威爺。
威爺:「同樣的,地球只有一個,但歐派有兩個,
所以 RB-100 也有兩個子型號,其新型為
RB-100RD。」
碧靈:「在本節目發佈的同時,RB-100RD 尚未發售,
煩請見諒。」
「所以今天在節目中,我們將利用 RB-100RD 這塊
RoBoard 建置機器人開發環境。所以請各位觀眾拿
起您們手上的 RB-100RD,跟著一起操作。」威爺
拿出了不知從哪 A 來的 RB-100RD。
「…………」碧玲看著 RB-100RD。
威爺對著鏡頭解釋道:「RoBoard 跟一般電腦、筆電
不同的地方在於,其使用 microSD 作為主要儲存裝
置,跟傳統的 2.5、3.5 吋硬碟及 SSD 有相當大的不
同。」
碧靈:「我覺得 SSD 並不傳統…」
「由於對 RoBoard 來說,microSD 的讀寫速度算
是主要的效能瓶頸之一,因此強烈建議使用 Class 6
以上並採用國際知名大廠的產品。」威爺指著大螢
幕上的幾家知名大廠的 LOGO。
碧靈:「User 注意! 記憶卡的讀寫性能應以實測為
準!」
「現在我們將一塊全新的 microSD 卡插進去。」
威爺拿出一片 microSD 卡。
碧靈:「嗯哼。」
「這個時候,我們再拿出之前用 Ghost 準備好的
RB-100 系統備份檔。」威爺開啟了 Ghost 程式。
碧靈:「咦?」
「Ghost 是個非常好的軟體,可以將整個硬碟備分
成單一.gho 檔,提供多個電腦進行還原工作。現在
請各位使用者準備好跟我們一起拿出備份檔進行
還原工作。」威爺解釋道。
碧靈:「咦咦?」
「恩,很好,這樣就能省去繁複的安裝工作,快速
建立起開發環境…糟糕。」威爺看著螢幕。
「………當機了!」碧靈冷靜的說著。
「快、快把攝影機關掉!」威爺大喊。
7
(本集完…咦??)
(RB-100 與 RB-100RD 使用的核心不相同,故還
原檔不能混用喔!)
8
第四幕 如何建構開發環境?
威爺與碧靈齊聲:「大家好! 歡迎各位收看由威爺與
碧靈所主持的『RoBoard Lab』特別節目第四集!」
「恩,在節目開始之前呢,節目製作人有幾句話要
轉告給觀眾。」威爺說。
「節目製作人有幾句話要說。」碧靈對著鏡頭說著。
「他說啊,『最近幾集節目會 Delay,都是因為節
目時段被總統選舉廣告買完的關係,絕對不是因為
某人缺乏誠意』醬。」威爺笑著說。
碧靈:「嘿! 那總統大選沒選完,節目不就別播啦!」
威爺語重心長的說:「所以我們可以看得出來,台
灣政治活動對於百姓生活有著很深遠的影響…」
「威爺你別跩文了,說些正經的。」碧靈小聲的說
著。
威爺:「是的是的,相信各位觀眾在上一集節目中,
跟我們一起成功的(?)安裝 XP 作業系統之後,已經
開始在 RoBoard 進行一些簡單的基本操作。」
「…那個(?)……」碧靈似乎想起當機事件。
「因此在本集節目中,我們將對於 RoBoard 的實
際運用上,提出一些技巧和建議。」威爺沒有理會
碧靈說的話。
碧靈:「………」
「碧靈大小姐,有意見?」威爺看著碧靈。
碧靈:「我說啊,RoBoard 不也就是一台迷你的、
袖珍的、宇宙第一無敵小的…普通 PC 嘛! 那還有什
麼技巧咧?」
威爺:「沒錯。事實上,RoBoard 的特點正是讓使
用者能在熟悉的開發環境下,使用那些多樣的 I/O
介面來開發自己的機器人…不過這並非這一集所要
討論的重點。」
「喔?」碧靈疑惑的看著威爺。
威爺:「雖說開發環境相似,但它與一般電腦在應
用情境上,有著很大的不同喔!」
「什、什麼!?」碧靈似乎很驚訝。
「讓我們從一個實務的角度來切入吧,一般電腦上
開發程式多半是直接撰寫、編譯、執行。但由於
RoBoard 的產品定位是安裝在機器人上的嵌入式
電腦,所以其性能……」威爺說著。
「…悲劇?」 碧靈看著威爺。
威爺:「…並不適合直接將 Visual studio、LabVIEW
等程式開發環境直接安裝在上面,而應該在一般電
腦上將程式編譯好後,再將執行檔放入 RoBoard
執行…DMP 工程師大人是這樣說的、沒錯!」
碧靈:「這樣說來 RB-100 跑起來的感覺,跟初期
型 EPC 感覺差不多呢。」
威爺:「或…或許吧。附帶一提,本節目是由 DMP
公司獨家贊助播出。」
「既然照你剛剛說,編譯跟執行要分隔兩地進行,
那檔案不就要常常傳來傳去嗎?」碧靈問著。
「沒錯,這個時候就要用上喜歡到處亂插的(?)萬惡
隨身碟,然後插來插去插來插去插來插去插來插去
插來插去插來插去插來插去插來插去插來插去插
插去插來插去…」威爺像跳針一樣的念著。
9
碧靈:「恩……」
「插來插去插來插去插來插去插來插去插來插去
插來插去插來插去……」威爺繼續跳針。
「夠了! 這樣下去別人會懷疑我們…不,是 DMP
公司的品味的說。」受不了的碧靈阻止威爺。
「沒錯,這實在是很困擾人的問題呢! 而且還會到
處散布傳染病…」威爺說著。
碧靈:「那,這該如何是好~?」
威爺:「放心! 不所不能的 USB 周邊商品提供了具
體解決方案。只需要買一條傳說中的『鼠‧鍵盤共享
&資料共享傳輸線』,就能一次解決滑鼠鍵盤以及檔
案共享的問題!」
「這真是太神奇了少卿,不對,威爺~」碧靈說著。
威爺:「沒錯,只要一個滑鼠、鍵盤就能控制兩台
電腦,不只將 USB 埠使用量從三個減少到一個。
而且還能共用剪貼簿來分享文字跟檔案,具備
USB2.0 的高速傳輸能力與隨插即用能力,攻防無
死角,輕鬆無負擔!」
碧靈:「原本是應該這麼完美的,只可惜……」
「可惜……?」威爺看著碧靈。
「喵的,威爺你陰我…」碧靈生氣的說著。
威爺:「是的,在剛剛我們提到了使用 USB 資料傳
輸線的小技巧。」
「……」碧靈無言了。
威爺:「然而這玩意兒用在 RB100 上面,反應就變
慢了…」
「那可不成啊。」碧靈說。
「唉………」威爺嘆著氣。
「好了,威爺你別再蹲角落畫圈圈了,快起來!」碧
靈安慰著威爺。
威爺:「唉………」
碧靈:「說實在的,如果把 RoBoard 裝在機器人、
自走車上面,還要裝著螢幕才能操作,這…太不方
便了。」
威爺:「是,沒錯! Debug 的簡易性在開發過程當
中是非常重要的,不然一不小心就會看到有一塊
RoBoard 從窗外飛出去。」
「要不是會被當掉,我就……」碧靈小聲的說著。
威爺:「咦,碧靈同胞您剛剛有說什麼嗎?」
碧靈:「恩,所以我們將介紹目前本節目所採用的
方法。」
威爺:「沒錯,也就是所謂的『遠端桌面』!」
「『遠端桌面』? 也沒什麼了不起的,不過就是
Window 內建的基本功能而已嘛。」碧靈看著威爺。
威爺:「碧靈同志您話可別這麼說,透過『遠端桌
面連線』不只可以共享螢幕、滑鼠鍵盤,也能輕易
的實現檔案分享;不需要額外安裝軟體,也不需要
添購多餘的硬體。」
「非常的輕巧實用呢。」碧靈感慨的說著。
威爺:「沒錯。」
10
「那『遠端桌面連線』應當如何設定呢?」碧靈問
著威爺。
威爺:「如果各位觀眾對於其相關設定有所疑問的
話,那我們將在這裡一步一腳印的指引您;首先您
可以看向眼前瀏覽器的右上方,那裡有個搜尋列,
在裡面輸入『遠端桌面連線』就可以了。」
「那如果觀眾用的是 Chrome 怎麼辦呢?」碧靈接
著問。
「如果您用的是 Chrome,那就更方便啦! 在正上
方的網址列填入『遠端桌面連線』即可搜尋到相關
解決方案。」威爺回答著。
「真的是非常簡單好用呢。」碧靈說著。
威爺:「沒錯。Google 搜尋簡單好用,輕巧大方,
是您居家旅行的最佳選擇;有問題,請愛用股溝。
有疑義,請愛用谷歌。對於以上內容如有疑問,請
使用 Google 關鍵字查詢。」
威爺:「是的。」
碧靈:「可是,威爺。既然谷歌這麼好用,那我們
為何不乾脆在節目開始打上 www.Google.com 就
好了呢?」
「這個節目企劃不錯,我想製作人一定會很高興
的。」威爺解釋著。
碧靈:「是。但是事情有這麼簡單嗎? 在實際的過
程中一定會遇到奇怪的問題的吧? 比方說,如果我
們要用搭載 RoBoard 的自走車出去比賽,那……」
威爺:「沒錯,第一個碰到的就是主控電腦必須跟
RoBoard 有網路連結才能實現遠端桌面;由於有線
網路並不是個很好的選擇。因此我們會建議搭載小
型 USB 無線網路卡並搭配內建網卡的筆記型電腦
來操作,這樣就能以無線網路來實現遠端桌面囉!」
「理論上是這樣沒錯,但是如果會場沒有提供無線
網路服務,也就是沒有無線網路基地台(AP)可以用,
那要怎麼辦呢?」碧靈問著威爺。
「這個時候就要 GOOGLE 一下。」威爺開啟瀏覽
器。
「………」碧靈無言。
威爺:「恩,事實上根據威爺股溝後的結果,會建
議採用『電腦對電腦(臨機操作) 網路』(Ad-hoc)
設定,這樣透過無線網卡把兩台電腦『連』起來!」
碧靈:「沒錯,如對操作細節有疑問,請愛用股溝
搜尋,亦可 Call in 本節目詢問。」
威爺:「預錄節目也能現場 Call in,真的是很厲害
呢!」
碧靈:「這都拜網路發達所賜。不過在這裡又碰到
一個問題,我在 RoBoard 裡已經設定讓 XP 在登入
後執行一個程式,可是開機後 RoBoard 都不動……」
「沒錯,由於一般內建的遠端桌面功能要求使用者
必須輸入帳號密碼才能進行連線,所以使用者帳號
不能使用空白密碼…可是這樣開機時就必須輸入密
碼才能登入,不能一開機就直接 Run 囉科科。」威
爺急忙解釋。
碧靈:「……………這確實是很麻煩的問題呢,那該
怎麼辦?」
「恩,在威爺對股溝仔細的檢索後,發現只要將『本
機安全性原則』裡『限制使用空白密碼……』的選
項停用,不用另設密碼也能使用遠端操作喔!」威爺
看著電腦念著。
碧靈:「很多糟糕的事情好像也可以做了……所以各
11
位觀眾要記得風險自負。」
威爺:「恩,那我想節目到此也將進入尾聲了。」
「要結束了嗎? 不過我想觀眾們應該還有很多使
用上的疑問吧?」碧靈看著導演。
威爺:「如果在使用上有疑義,可以仔細看看股溝
上的解答。如果還有疑問可以在本節目上 Call in,
我們會盡可能提供『親切』與詳盡的指導。」
碧靈:「真是有誠意…那麼各位觀眾,我們下次再會
啦!」
(本集完)
12
第五幕 自從有了 Google,
我每次考試都一百分(?)
WWW.GOOGLE.COM
關鍵字:"RoBoard"、LABVIEW DLL
(感謝您的收看,我們下次再會。)
(本集內容要用 RJ45 接頭插這本書才看的到喔!)
13
第六幕 如何在 LabVIEW 上使
用 RoBoIO?
碧靈:「大家好! 歡迎各位收看由威爺與碧靈所主持
的『RoBoard Lab』特別節目第六集!」
「姆!」威爺發出聲音。
「威爺,請把芒果乾放下來。」碧靈散發出有殺氣
的笑容。
威爺:「咕嚕…我、我只是在緬懷遠去的夏日風情罷
了。」
「逝者已矣,再說冬天應該要吃柑橘…」碧靈語調
平平的說著。
「沒錯! 所以今天我們將鏡頭轉到實驗室這邊,為
各位觀眾介紹如何用 LabVIEW 撰寫 RoBoard 的應
用程式。」威爺指著鏡頭。
「………」碧靈無言。
很快的,鏡頭轉到了實驗室。
「如果各位觀眾有定時收看前幾集的節目,那麼手
上應該會有一塊已經安裝好 XP、可以正常操作的
RB-100;我們在節目後續會以此進行示範。」威
爺說著。
碧靈:「威爺你一句話就破綻百出啊,誰教你的?」
「嗯哼、如果各位觀眾有定時收看前幾集的節目,
那麼應該還記得來自荷蘭的 Ries 先生、來自荷蘭
的 Ries 先生,提供 RoBoIO 1.5b 版本的 LabVIEW
模組。」威爺看著鏡頭。
「所以我們今天……」碧靈看著威爺。
威爺:「不過因為 Ries 先生不再對模組提供更新支
援了,所以我們今天將介紹如何在 LabVIEW 中自
行引入 DLL (Dynamic Link Library)來實現對
RoBoard 的控制。」
「………………」碧靈再度沉默。
威爺:「當然啦,第一步是先開啟 LabVIEW 開發環
境,不過我們通常不建議直接將其安裝在
RoBoard。」
「沒錯,因為其頗占資源,在 RoBoard 上進行開
發並不實際,不如先在桌機上…」碧靈說著。
威爺:「唉呀,一時手滑,不小心將 LabVIEW 8.61
給安裝到 RB-100 上了。」
「………小心 DMP 的工程師站在你背後,他非常
火。」碧靈看著後台的工作人員。
威爺:「既然如此,就請觀眾跟我們一起在 RoBoard
上直接操作吧。在 LabVIEW 要載入 DLL,可以直
接在後面板中開啟 Functions >> Connectivity
>> Libraries & Executables >> Call Library
Function Node,並根據我們的需求作進一步的設
定…」
14
..........進廣告..........
碧靈:「大家好,感謝大家繼續收看。在本節目的
後半段,將由我碧靈繼續為各位介紹於 LabVIEW
載入 DLL 的步驟,以及相關設定。」
「至於威爺同學,很遺憾的,他在兩天前轉學去加
拿大了……」碧靈假裝擦拭著眼淚。
碧靈:「接下來我們將以引入”pwm_SetPulse”這
個函式為作為範例。請先至 RoBoard 官網
(http://www.roboard.com/download_ml.htm)
下載『RoBoIO 1.8 binary』這個檔案以供後續使
用。」
「如果各位看官的電腦都一直開著沒關的話,請按
照節目上半段的介紹,使用 Call Library Function
面板,跟著大姊姊一起作,按照下圖完成設定。」
碧靈在電腦上操作著。
「圖中所使用之 DLL 檔,位於方才所下載之壓縮檔
中(RoBoIO-bin-v1.8-winxp\Lib\VC2008)」
「而函式輸入及輸出之設定,可參考標頭檔 pwm.h
之內容(RoBoIO-bin-v1.8-winxp\Include)」
「使用者可以此作為參考,設定輸出入之資料型態;
完成設定後按下『OK』即可。」碧靈對鏡頭微笑。
「在本例中,由於輸出值應為布林(BOOL),因此
應將回傳值判斷是否非零後,再將結果輸出;使用
者若對不同資料型態應如何設定有所疑問,可參考
LabVIEW 範例(Find Examples…)中的『Call
DLL.vi』」
「如觀眾能不厭其煩以以上所舉之範例,依序完成
所需函式之設定,便能實現 RoBoard 應用程式之
撰寫。」
15
(多通道 PWM 輸出實作)
「然設定之繁複、辨識之不易,非可行之法;故應
整經包裹,化繁為簡,分群別類,以饗大眾,為民
謀福,實為未來發展之方向。」碧靈微笑。
碧靈:「那各位觀眾,我們就下次再會啦!」
(本集完)
16
第七幕 如何在 RoBoard 上
快速建立影像處理程序?
威爺及碧靈齊聲:「「大家好! 歡迎各位收看由威爺
與碧靈所主持的『RoBoard Lab』特別節目第七集!」」
「今個呢,我們要向各位觀眾介紹,如何透過
LabVIEW 來實現影像擷取。」碧靈指著投影幕上
的畫面。
威爺:「是。」
「當下台灣家家戶戶都有電腦,人人手裡皆有相機;
不論是要自拍,抑或是保存風景之美,都可說是相
當隨意的啦 !」碧靈微笑。
「輕鬆拍,隨意拍;不論是要保存、欣賞或進行後
製,都沒什麼好顧慮的。」威爺比劃著。
碧靈:「尤其拜消費電子發展之賜,現在想跟遠方
的朋友見個面、打聲招呼,只要接上網路,架個網
路攝影機(Webcam)就可以了,也花不了幾個大洋。」
威爺:「就看有沒有心。」
「可是在咱們還年輕的時候,想拍個照、或是想錄
段影片作生活記錄,那可不容易囉;攝影機又貴又
重,底片沖洗又還要花錢。更別提若想消除臉上幾
個痘疤,得下多少功夫啊 !」碧靈嘆著氣。
威爺:「還年輕……話說碧靈大小姐您今年高壽?」
「竟敢問本姑娘芳齡…汝此舉未免也太過失禮 ?!」
碧靈生氣樣。
威爺:「對不低…話說,數位影像在這幾年確實是有
很大的進展。」
「是呀,不論是電荷耦合元件、大容量儲存裝置、
高速通訊界面都有爆發性的成長,其代價卻日益低
廉…別看現在自拍影片滿天飛,以前電腦想獲得影
像,必須透過影像擷取卡讀入攝影機的類比信號才
成。那像現在把 USB 插上就好了,成本還花不到
過去的 1/10。」碧靈說著。
威爺:「所以電腦視覺的應用,也應該變的更普遍
囉?」
碧靈:「唉……『視覺』說是萬能感測器也當之無愧,
因為其中所含資訊可謂包羅萬象;但也因為電腦還
不具備人腦般的處理能力,所以獲取所需資訊的前
處理步驟堪稱藝術……」
「不過目前應該有許多工具可以應用了吧?」威爺
看著碧靈。
「沒錯,像 OpenCV 就是一個相當知名的電腦視
覺函式庫,不但免費還可作為商業使用;日前大陸
知名的綠壩娘,就是用其來分析一個人的皮膚是不
是露出太多,是的話就關起來。」碧靈說著。
「真的是非常可口跟好用呢 !」威爺差點流下口水。
碧靈:「是的,不論是要作影像處理、Webcam 擷
17
取,物件追蹤、人臉辨識等專題應用也沒問題。泛
用性高、低成本,網路上的資源與指導也非常多,
相關書籍亦有出版,故不在此贅述! 」
「沒錯,都花哪麼多錢買 LabVIEW 怎麼可以不用。」
威爺小聲的說。
「咦? 剛剛威爺你有說什麼嗎?」碧靈看著威爺。
威爺:「沒事…」
碧靈:「其實 OpenCV 要用在 RoBoard 上也是需
要訣竅的,因為 CPU…」
威爺:「STOP!」
「…所以我們現在將為大家介紹,如何在 RoBoard
上透過 LabVIEW 來讀入 Webcam 的影像。」碧靈
指著畫面。
威爺:「嗯嗯。」
碧靈:「雖然本節目由 DMP 獨家贊助播出,不過美
國國家儀器公司(NI)在機器視覺上不論軟硬體皆有
相當多的支援,諸如 Vision Development
Module、NI-IMAQdx、影像擷取卡、智慧型相機
等多種商品一應俱全,滿足使用者在自動化量測系
統上……」
「STOP!」威爺又激動的喊。
碧靈:「…不過早期的 NI Vision 只有支援影像擷取
卡、智慧型相機、IEEE 1394 介面等類型的周邊,
沒有支援 USB 介面的 Webcam。」
「這、這該如何是好!?」威爺緊張樣。
碧靈:「所以有使用者自行開發了相關模組…不過那
都過去了。」
「NI 聽到了廣大使用者的心聲……」威爺擦拭著眼
淚。
碧靈:「NI 聽到了廣大使用者的心聲(大概),提供
了『NI-IMAQ for USB Cameras』這個外掛,至
此,我們便能讀入 Webcam 的影像,並透過 Vision
Development Module 來取得我們所需要的資
訊。」
「上帝說要有光,便有了光。」威爺拍了兩下手。
「…………」碧靈瞪著威爺。
威爺:「對不起!」
碧靈:「因此,理論上來說,我們便能藉助低成本
的網路攝像機,作出具有視覺感測能力的機器人…」
「那實際上呢?」威爺問著。
碧靈:「新版的 LabVIEW 已經不支援『NI-IMAQ for
18
USB Cameras』這個外掛了。」
「新版的 LabVIEW 不支援『NI-IMAQ for USB
Cameras』?」威爺問著。
碧靈:「恩,是的。」
威爺:「那碧靈您剛剛還在觀眾面前費這麼多口舌
騙字數,這豈不明擺著欠…」
「嗯?」碧靈瞪了威爺一眼。
威爺:「對不起。」
碧靈:「事實上,由於 USB 介面被廣泛使用,在新
版本的 NI-IMAQdx(需付費)裡已經能直接支援
USB 介面的影像擷取裝置了!」
「那尼!?」威爺驚訝得大喊。
碧靈:「沒錯!這樣一來大大擴展了對攝影裝置的相
關支援。不但能透過 MAX 直接對 Webcam 的解
析度、取樣率跟白平衡等作細部調整,還能在程式
中直接透過 Property Node 進行設定!!!」
威爺:「什麼? 是那個…那個傳說中的『Property
Node』嗎?!」
碧靈:「能力變化萬千卻又捉摸不定,文獻上的記
載也極少;在這蒼茫紅塵間,視得其廬山真面目的
又有幾人?」
「唉…」威爺嘆著氣。
碧靈:「關於那個男人,實在還有很多未解的謎團
呢…」
威爺:「是…咦咦??」
「所以,各位觀眾如果對於如何運用 Property
Node 調整取樣率與解析度以及藉助 IMAQdx 擷
19
取影像,可參考 LabVIEW 內建範例檔『Grab and
Select Mode.vi』,這樣一定就能對於如何使用有完
整的了解~」碧靈繼續說著。
威爺:「什麼? 竟然這樣打發觀眾啊?」
「………」碧靈無言。
整個攝影棚鴉雀無聲。
碧靈:「總、總之,可以透過 IMAQdx 操作 Webcam,
其實對於實務上來說有著相當顯著、重要的影響!」
「…這話怎麼說?」威爺問著。
碧靈:「早期在使用『NI-IMAQ for USB Cameras』
進行影像擷取的時候,Webcam 的解析度多半都
會預設成 640*480,因此每次 RoBoard 跑起程式
來就悲催了…」
「………」威爺無言。
碧靈說著:「雖說也是有調整設定用的 vi,不過每
次啟動程式還要透過滑鼠點選才能進行調整,實在
是很麻煩呢。」
威爺:「確實如此。」
碧靈:「So,只要透過屬性節點進行設定,機器人
運動時回傳即時影像就用低解析度畫面,定點環境
影像回傳就用高解析度;這樣就能兼顧頻寬、流暢
度跟系統效能了。」
「そうか…」威爺敲手,一副恍然大悟的樣子。
碧靈:「嗯嗯。」
「既然這樣,我想觀眾應該也對於
RoBoard+LabVIEW+Webcame 這套組合的應用
方式,有了相當的了解…是不是、節目也該告一段
落了呢?」威爺問著。
「喔呵呵~威爺你太天真了…」碧靈奸笑。
威爺:「這…碧靈您這話怎說?」
碧靈:「節目進行至此,提了不少關於 RoBoard 應
用上的細節,卻沒有實作幾個項目給大夥看看,這
說不過去吧。」
威爺:「嗯嗯。」
碧靈:「若叫人說是:『狗掀門簾子-光說不練』,這
樣印象就不好了。」
「是沒錯! 但節目已然進入尾聲…」威爺似乎很想
趕快結束掉節目。
「無妨,正巧手上有個項目,能為大家示範
RoBoard 與 LabVIEW 視覺開發模組快速發展的簡
便之處!」碧靈笑著。
威爺:「喔?」
碧靈:「試試『追蹤一個小紅球』如何?」
20
「可以我們的觀眾大多都是專家,這樣不會有班門
弄斧之嫌嗎?」威爺心虛的說著。
碧靈:「反正坊間對於『National Instruments
Vision Assistant』的參考資料也不多嘛!」
「好!那我們就來試試…不過一般人手上應該不會
有這個軟體吧?」威爺開啟軟體。
碧靈:「佈署用的 Run-time 就比 RoBoard 貴了…
那首先就先請觀眾準備好相關軟體跟參考資料;沒
軟體的人可以到這裡下載試用版,沒基礎知識的人
可以先去購買由繆紹綱大師所譯之『數位影像處理』
一書,個人絕讚但不負責任推薦。」
威爺:「附帶一提,本節目依然由 DMP 公司獨家贊
助播出。」
碧靈:「是,現在就請觀眾們跟我們一起開啟軟體
實際操作一遍啦!不要忘記將 Webcam 接上。」
威爺:「進入軟體之後呢,先進行點選右上框的
『Acquire Images』進入本頁面,然後在點選左下
的『Acquire Image(1394…or USB)』取像。」
「這就是這部分的重點啦!如果這邊無法用
Webcam 取像,哪麼日子也就過不下去了…」碧靈
指著鏡頭強調著。
威爺:「咦咦? 是之後也就作不下去了吧? 這部分
需要借助前面所說的新版 IMAQdx 方能進行,不
過影 像開發模組本身就包含該驅動,不需再另外
取得。」
「若成功應該就能看到列表中應該有至少一個攝
影機可用,此時務必先行挑選適當之取樣解析度。」
碧靈跟著一起操作電腦。
「為什麼??」威爺問。
碧靈:「因為如果調到 640*480 以上,它的取樣率
可能會變得像睪丸癌級的蛋蛋哀傷…考慮到之後的
影像處理不要帶來太大負擔,個人比較偏好
160*120,不過實際選項還是得依廠家規格而定。」
威爺:「是。」
碧靈:「之後按下上列的播放鍵就能連續讀入影像,
右邊點的選項則可實際擷取影像,作更進一步的處
理。」
「上方的影像儲列則可存入多個影像,建議在這裡
多拍幾張不同情況下的畫面。」威爺說著。
21
碧靈:「這個時候就要選擇右上方的『Process
Images』進行影像處理程序啦! 這時可以看到左上
方的影像儲列下排有個往下轉的小按鈕,其可選擇
欲處理之圖片。」
威爺:「左下方則是影像處理項目的功能列表,也
是精華所在,理應詳加研究但在此略過不提。」
碧靈:「下方那一排則是影像處理程序序列,照理
說應該只有一個項目…但是由於主持人沒有笨到不
事先演練一遍,所以裡面已經放滿了。」
威爺:「這裡最方便的是,在完成了 N 個程序後,
您仍然可以點選中間的項目觀察每個程序所造成
的影響,同時也可以再編輯、調整。」
「討論了這麼多,應該開始決定要怎麼找到『小紅
球』了唄!」碧靈微笑。
威爺:「沒錯,剛才已經說了這只是個『簡單』示
範,所以不考慮實際環境的複雜性以及程式的強健
性;因此我們將背景單純化使其不具備紅色色調,
從而使顏色易於突顯。」
「哦? 所以第一步『分離背景』就是從顏色下手囉?」
碧靈看著威爺。
威爺:「沒錯,簡單來說就是告訴 RoBoard:『紅色
就是目標物件』。」
碧靈:「既然這樣我們就是應該從三原色中的 R 下
手…」
威爺:「不。考慮到 RGB 影像空間亦受到光線影響,
像是太亮的光線會使紅色像是白色,我們應該使用
將亮度剃除在外的色彩空間…」
「HSL?」碧靈疑惑的說著。
威爺:「沒錯,HSL 將色彩分為色相、飽和度跟亮
度,因此我們可以很容易的從 H 區別出影像中那些
部分是紅色。」
「說來簡單…」碧靈。
威爺:「確實…在這要注意的是 Hue 從 255-0 中間
是連續的,而我們所選用的 251-5 之間的色相,S、
L 的影響幾乎不考慮。」
「這時我們可以看到鮮紅色的部分就是我們所選
取的部分,經過這個部分後影像將由 32 位元彩色
變成二元紅黑影像。」碧靈說著。
威爺:「再來就是透過刪除小物件跟膨脹來移除無
關的雜點了。當然啦! 之前的閥值設定是否妥當在
這裡就會有關鍵性的影響了。」
22
碧靈:「沒錯,該使用哪些程序、使用的順序也會
有極大影響。 」
威爺:「再來就是利用『Particle Analysis』來取得
物件的參數特徵了!」
「YES! 像在此處我們就是利用物件的的質心位置
來決定修正量,從而使物件對準中心以達到追蹤目
的。」碧靈開心的笑著。
威爺:「完成影像處理程序後,再來就是匯出成 VI
作後續開發、整合囉!」
碧靈:「只要利用偏差量修正伺服馬達的角度,就
能實線持續追蹤。」
碧靈:「威爺...不是我在說,你這影片看起來弱爆了,
就像是用手轉的...也沒看到 RoBoard....」
威爺:「對不起!」
「好啦! 歡迎有興趣的觀眾回應索取程式範例,我
們就下次再見啦! 揪咪!」碧靈可愛的揮著手。
(本集完)
23
第八幕 UART 與
Ultrasonic Sensor
威爺與碧靈齊聲:「「大家好!歡迎各位收看由威爺與
碧靈所主持的『RoBoardLab』特別節目第八集。」」
威爺:「非常感謝來自 DMP 公司的協助與贊助!」
碧靈:「那今天我將為大家介紹『非同步串列通訊
介面』(UART)的實作囉!」
「等一下!!!」威爺打斷了碧靈的話。
「怎…怎麼了,威爺?」碧靈有點結巴。
威爺:「大姐您今天第一次上台嗎?節目的規矩您懂
不懂啊?」
「這……」碧靈拉長音。
威爺指著碧靈說著:「大家來看我們的節目,開心、
尋個樂子,順便長些知識(?)。您這樣直接切入主題,
是把觀眾放哪去了?」
「咦…是、是這樣嗎?」碧靈無辜的看著威爺。
威爺:「還不懂啊!?您應該先抓住話柄,然後甩呀甩
呀把它加速到第二宇宙速度,直接脫離主題…如此
這般,明白沒有?」
碧靈:「明白了、明白了。」
威爺:「那就好。」
「唉呀,沒想到今天能有這榮幸,能與威爺您這樣
的大師同台。」碧靈話中帶刺的說著。
「好說好說。」威爺似乎沒聽出碧靈的意思。
碧靈:「小妹碧靈,充其量不過是個新手、同好,
不敢在大師面前班門弄斧,能否請您為本節目開個
場?」
威爺:「由我開場?」
「是呀!」碧靈一副看好戲的樣子。
威爺:「那我可得說些新鮮的、熱門的、大夥關注
的。」
碧靈:「是。」
威爺:「好!就說『Makiyo』。」
「MA…MAK…啊,您說『Make』是吧?」碧靈發
現狀況不對勁,趕緊轉移話題。
「………」全場鴉雀無聲。
威爺:「果然大師一出手,便知有沒有;沒錯!雖然
本節目是由 DMP 獨家贊助播出,但是由知名出版
社歐萊禮(O’REILLY)發行,馥林文化代理的
『Make』國際中文版在台上市囉!」
碧靈:「『Make』雜誌主打 DIY 的概念,每期都有
令人興奮的想法跟實作專題,讓玩家不再只能對
24
NASA 跟 DARPA 的昂貴玩具乾瞪眼…想玩?自己作
唄!」
威爺:「希滴!雖然目前國際中文版內容是以日文版
為主,但是隨著台灣讀者玩家的參與,估計也會有
越來越多的本土作品出現喔!」
「不過我記得本節目不也是……」碧靈看著威爺。
威爺:「某通路第一期特價七折,絕讚發售中!」
碧靈:「……話說回來,威爺,你也只有看過第三期
不是嗎?」
威爺:「對不起。」
「………」再度進入鴉雀無聲的狀態。
碧靈:「這下可好,我們的話柄脫離地球重力不知
飛到哪去了。」
威爺:「找話柄啊…要不打給『NORAD』問問?」
碧靈:「你當它是聖誕老人嗎?」
威爺:「事實上,LabVIEW 對於電腦的介面都有相
當的支援。」
「是…威爺你不覺得,節目這樣轉折實在是太硬了。」
碧靈看著威爺。
威爺:「我們節目向來都是有轉折沒原則的不是?」
「晤晤…話不是這麼說的吧!?」碧靈有點無法反
駁。
威爺:「什麼…唉!大姐您可別又把話柄給抖掉了。」
碧靈:「是是,不管怎麼說,RoBoard 有四個
COMport;而在一般的情況下,可以透過 RoBoIO
中的 COMlib 來操作它。」
威爺:「沒錯,但是今天我們用的可是 LabVIEW 啊!」
碧靈:「那又怎麼樣咧?」
威爺:「LabVIEW 本身即具備豐富的通訊介面支援
能力,COMport 自然也不例外。」
「喔?那你可得示範示範。」碧靈奉承的說著。
威爺:「沒問題,這個實驗很容易的,觀眾也可以
一起作。」
碧靈:「對…觀眾沒辦法作的幹嘛示範啊!?」
威爺:「隔壁棚的『C4 燉肉』作不太出來。」
碧靈:「別胡鬧了!」
威爺:「這真的很容易的…首先先選 COMPort,就
選 COM3 唄,然後將 TX 跟 RX 接起來。」
碧靈:「嗯嗯…」
威爺:「這個時候再開啟 LabVIEW 中的
『FindExamples』,以『RS-232』搜尋
25
『BasicSerialWriteandRead.vi』這個範例…」
碧靈:「嗯嗯…」
威爺:「把 COM3 選好之後在 stringtowrite 內隨
便寫些訊息然後 run 就好啦…」
「唉唉唉,威爺你呼嚨觀眾啊!?」碧靈生氣的說著。
威爺:「什麼叫我呼嚨觀眾啊?就是這麼容易!」
碧靈:「嘿…」
威爺:「嗯?」
碧靈:「嘿……」
威爺:「嗯嗯??」
碧靈:「是不是應該要有一個,實際應用的例子呢?」
威爺:「呃……」
碧靈:「那我們就拿 SRF02 這個超音波距離感測器
作範例吧!」
威爺:「…相當的古老呢。」
碧靈:「沒錯,SRF02 可以透過 UART 跟 I2C 介面
下達命令並接收感測結果;同時也可為每個感測器
設定自己的位址,單一接點就可以同時串接數個感
測器來使用,非常的方便。」
威爺:「喔?」
碧靈:「而且可以設定直接回傳”公分”、”英吋”
等量測結果,不需再另行處理、換算…」
26
威爺:「…使用者可參考 SRF02 指令表,依照需求
對 SRF02 下達指令,即可取得感測結果。」
碧靈:「那麼 LabVIEW 部分的實作又是怎麼進行
呢?」
威爺:「這部分我們可以拿前述的
『BasicSerialWriteandRead.vi』範例程式加以修
改,結果如下:
碧靈:初始化設定部分依照參考資料『Serial data
is fixed at 9600 baud 1 start, 2 stop and no
parity bits.』而設。」
威爺:「那為何寫入部分是『0x0054』呢?」
碧靈:「那是因為 SRF02 位址預設是 0x00,而要
求回傳公分距離的指令是 0x54…因此寫入
『0x0054』則代表命令位址為 00 的 SRF02 傳回
距離資料;考慮到感測器運作必須花點時間,因此
在下達命令,再等待 100ms 後,我們才讀入感測
結果。」
威爺:「那讀回來的資料又要再經過什麼處理呢?」
碧靈:「雖然 SRF02 會直接回傳距離數值,但是對
電腦來說,COMPort 傳回的都是字串…因此我們
要將傳回的結果從字串強制轉換為 U16 的資料型
態,才方便我們直接判讀以及進行訊號處理…要注
意的是,只有 TTL 準位的 COM3 可以直接跟 SRF02
連結喔!」
威爺:「原來如此,感謝您抽空接受訪問。各位觀
眾,我們下次再見囉!」
「咦咦??...」碧靈還沒回過神的樣子。
(本集完)
27
第九幕 ADC
威爺與碧靈齊聲:「「大家好! 歡迎各位收看由威爺
與碧靈所主持的『RoBoard Lab』特別節目第九集。」」
「今天要向大家介紹『類比輸入』(ADC,類比轉數
位)的使用,紅外線距離感測器 GP2D12 跟…嘿嘿
嘿……。」威爺露出陰險的表情。
碧靈:「嘿嘿嘿…?」
威爺:「嘿嘿嘿…。」
「嘿嘿…威爺你欠揍啊!?」碧靈伸出拳頭。
「嘿嘿嘿…其實我在 Cosplay 呂前副總統。」威爺
擺出 POSE。
碧靈:「六大報頭版正在等你的道歉啟事。況且我
看你除了身形體態與前副總略顯神似之外,神韻一
點都不像…」
「宋酋長在您背後,他非常火!」威爺看著碧靈身後
說著。
碧靈:「別鬧了威爺,該進入主題啦! 可別又讓話柄
飛走了。」
「大姐說的是。話說前幾集多半都是在討論
RoBoard 跟 LabVIEW 結合的應用,像是應用 Wi-Fi
遙傳數據、Webcam 擷取影像,以及應用 VISA 來
讀取 COM 等等…。」威爺對著鏡頭說。
碧靈:「是…等會,差點被你矇過去了。我們什麼時
候有講過 Wi-Fi 遙傳數據? 對不對,導播……對嘛!
明明只有使用 Wi-Fi 遠端操作 Windows。」
「是這樣嗎?」威爺搔著頭。
碧靈:「本來就是這樣啊!」
威爺:「那…這…瞧您都把話題給扯遠了,真是的!」
「合着是我錯啦!?」碧靈看著威爺。
「總之,咱們前段日子幹啥都得跟 LabVIEW 扯上
關係,是唄?」威爺也看著碧靈。
碧靈:「是呀!」
「所以今個兒…」威爺拉著長音。
碧靈:「今個兒不同?」
「……還是照例脫不了干係。」威爺嘆了一口氣。
碧靈:「格老子滴!那你喇哩這一圈幹嘛呢? 直接講
白不就得了!」
威爺緊張的說著:「總、總之,整合 ADC 介面在電
腦系統上是比較少見的,這也是 RoBoard 獨到之處。」
碧靈:「如果音源不算的話…確實,常見的介面不過
就 PS/2、USB、RS-232、平行埠或 IEEE1394、e-SATA
等庸俗之輩,沒什麼好神氣的。」
威爺:「網路孔被無視了…然而類比訊號又是無所不
在的,舉凡聲音、溫度、距離、亮度、壓力等;雖
說有些感測器,如前集所用 SRF02 已將距離資料轉
為數位訊號,但許多較簡單、廉價之感測元件還是
只有類比訊號輸出而已。」
「確實,如果機器人玩家的主控制器不具備類比輸
入的機能,實在是綁手綁腳的。所以我都用 PIC 作
28
資料擷取。」碧靈說著。
威爺:「當然啦,如果碧靈您手頭上有個萬把銀兩,
也可弄張 NI 出品的資料擷取卡(DAQ Card)來玩玩,
現在不也能模擬 I2C 了嗎?」
碧靈:「我想本節目要討論的不是百萬造價機器人…
扯遠了,只要用 RoBoard 就可以省掉下層,也可讓
新手省卻摸索新系統的時間、金錢成本。」
「沒錯。」威爺看著鏡頭。
碧靈:「既然 ADC 這麼重要,那威爺你還不趕快教
觀眾怎麼用!」
「碧靈大小姐您不要踩我…其實現在已經能很輕鬆
的透過 LabVIEW 讀取類比輸入了!」威爺說著。
碧靈:「什麼…這是!?」
威爺:「沒錯!只要三個基本 VI 就能實現類比輸入!」
「恩…」碧靈深思著。
威爺:「好,各位觀眾!接下來就要進入『GP2D12
實戰』單元啦!請大家拿起您手上的 GP2D12…」
碧靈:「等一下!…威爺,這不是 LabVIEW 內建的吧?
你還沒說這要去哪下載呢!」
「嗯嗯,包含 ADC 模組的 RoBoIO1.8 套件已在
Robofun 論壇的安東尼小主板提供下載囉!」威爺笑
著。
碧靈:「那個是獨家配佈限定嗎?」
「…附帶一提,目前為止下載的人次勉強用兩手手
指也能數出來。」威爺小聲的念著。
碧靈:「咦咦咦咦!?」
碧靈:「…所以我們該請威爺切腹謝罪,讓我來擔任
介錯吧!」
「啊啊,這個,我們之前提到該進行『GP2D12 實
戰』單元了,沒錯。」威爺轉移話題。
碧靈:「GP2D12 是什麼東西呢?」
威爺:「GP2D12 也是一個距離感測器,不過跟我們
日前提過使用超音波的 SRF02 略有不同,是以紅外
線為作媒介來實現測距的。」
「那 SRF02 是透過 UART 對其下達指令後直接回
傳距離資料,GP2D12 呢?」碧靈追問著。
威爺:「GP2D12 是直接回授一個 0~2.55V 的電壓值,
接法非常簡單,如下圖所示。」
29
碧靈:「那顆『ADC0831』是怎麼回事?」
威爺:「啊,那個是一顆使用串列通訊的類比-數位
轉換 IC;附帶一提,我們在 RoBoard 上所使用的是
使用 SPI 通訊的,所以使用外接 SPI 接口的時候不
能使用 ADC 喔!」
「這麼重要的事情不要隨便帶過啊! 那我們將電壓
值讀入後,要如何得知實際距離呢?」碧靈問著。
「實、實際距離?」威爺有點緊張。
碧靈疑惑的看著威爺。
威爺:「那個、如果您只是要讓小車車在距離牆壁
太近時迴避的話,可以簡單訂個閥值觸發迴避行
為……」
碧靈:「那這樣我們只需要用紅外線近接開關就好
啦!」
「嗯哼,若要實際求得距離,可用回饋回來的電壓
進行換算,其關係圖如下圖所示…」威爺說著。
碧靈:「咦? 在其有效範圍 10-80cm 內,距離與電
壓關係是非線性的呢。」
威爺:「嗯,這樣就不能用單純 y=ax+b 的方式來進
行轉換了…如果是運算能力比較差的控制器,我們
可以運用查表的方式,將電壓與距離的關係建表、
或是再加上內插法,就能求得約略的實際距離。」
「那我想用 RoBoard 的話就能有更好的作法吧?」
碧靈拿起 RoBoard 問著威爺。
「嗯,我們可以先將電壓-距離的數據以迴歸分析求
得關係式,這樣就可以直接代入電壓值求出距離了!」
威爺說著。
碧靈:「迴歸分析? 那應該要如何進行呢?」
威爺:「比較簡單的方式可以用 Excel 來做;記得每
顆感測器的特性都不同,各位觀眾務必要乖乖用手
上的感測器實際操作求得數據,至少要求得 20 筆
以上喔!」
「20 筆!? 那如果以 5 公分為間距不就要量測 300
次以上?」碧靈驚訝的看著威爺。
威爺:「當然啦,如果有單軸滑台跟使用 LabVIEW
內建的迴歸函式來進行自動取樣的話,實驗很快就
30
能完成了呢!」
碧靈:「原來如此…咦?!」
「OK,Well…那我先去吃晚餐,碧靈大小姐您慢慢
測啊。」畫面已經沒有看到威爺了。
碧靈:「啊啊啊啊!!!!可惡啊!!!」
(本集完)
31
終焉~特別節目
『威爺必須死 RoBoIO1.8 lvlib』
「今天,」一位少女在舞台上向鼓譟著的觀眾伸出
雙手,雪白色的曲裾長袍與一頭秀麗長髮在舞台燈
的強力照耀下,消融在炫目的銀光之中。
少女接著說著:「我們很榮幸的在此向各位宣布,
RoBoard 正式的與 LabVIEW 結合在一起。」
「我們向來堅信,任何長遠發展的產品,都必須要
建立在穩固可靠的基石上。」少女振臂一揮,其棕
色眼眸映照出耀人的神采。
「在 RoBoIO 1.8 DLL 的支持下,我們在此推出用
於 LabVIEW 開發平台的 RoBoard library,
『RoBoIO1.8_lvlib』!」少女感動的說著。
此言一出,台下的群眾高舉『碧靈大好!』的牌子,
爆出陣陣呼聲。
「從當下此刻! LabVIEW 強大的資源不再是遙不
可及的幻影;從當下此刻! RoBoard 的輕巧機動與
豐富介面不再只是他人手中的禁臠!」碧靈向台下觀
眾高舉右手,在熱情雀躍的粉絲眼中,宛若未來女
神在他們面前降下神諭。
碧靈:「從當下此刻! 我們將為機器人注入靈魂、我
們將為機器人注入生命;這就是『Robotic Heart』!」
瞬間台下的群眾由鼓譟變成震天動地吶喊,令人窒
息卻又狂熱的氛圍壟罩全場;幾個粉絲抱在一起又
叫又跳;有人緊捂著胸口癱軟在地,臉上卻露出幸
福至極的笑容。
碧靈微笑的看著眼前情景,深知一切皆在掌握之
中。
「怎麼會這樣?」威爺看著眼前的情景不禁顫抖。
手抓著濕軟拰皺的講稿,身上的衣服早已汗濕,威
爺手抓著下巴,不敢相信事情會演變成現在這個局
面。他用手抓了抓頭,思索到底是哪個環節出了
錯。
「今天應該只是簡單的發佈 lvlib 的早期測試版本,
讓 Maker 們回去試用並回饋意見以供後續版本舖
路。應該只是這樣而已啊 ? 可現在這個場面……」
威爺突然覺得自己像是安隆的主管;等到碧靈大小
姐的開場結束之後,就是自己要被送上斷頭台了。
將濃稠的唾液吞下乾涸的咽喉,威爺用手拉了拉衣
領,瞄了後台方向一眼。
「要跑嗎?」威爺自言自語滴咕著。
「…感謝碧靈小姐! 那現在請威爺上台為大家發佈
這項產品。」威爺的腦袋頓時一片空白。等到回過
神時,自己已經站在講台後方,被一大群觀眾盯著
瞧。
方才熱絡的氣氛宛若雲煙,整場瀰漫抑鬱的低氣壓
以及不滿的低語,像是剛從天堂回到人間後馬上踩
到一坨狗屎;而工程師的座席更傳來毫不掩飾的噓
聲。
「呃…。」威爺顫抖的說:「我很榮幸的向大家宣布,
各位將能從 Robofun 論壇下載到最新的
RoBoIO1.8_lvlib 壓縮檔。」
「…...」全場鴉雀無聲。
威爺:「使用者解壓縮後,可以在資料夾中看
到.mnu 檔與_RoBoIO1.8_lvlib 資料夾…。」
32
「沒圖沒真相啊!」「滾下去!」「蠢貨,叫碧靈大姐
回來!」剛開始會場還只是如蚊蠅般嗡嗡作響,很快
就變成蝗蟲過境般的喧鬧。
威爺:「使用者只需要將這兩者放入 C:\Program
Files\National Instruments\LabVIEW
XX\user.lib 資料夾中…」威爺緊抓著眼前講台,宛
若驚濤駭浪中的一塊浮木:「就能在 Functions 的
UserLibraries 面板中看到…」
會場中浮躁的氣氛已然達到臨界點,觀眾席突然開
始躁動並漣漪開來。人群開始離開座位像海嘯朝舞
台湧去,就連工程師們也偷偷拿出棍棒混入人群之
中。
「目前發佈的套件皆適用於 8.6 以上版本,」臨時
搭蓋的舞台像是地震般開始搖動扭曲,威爺整個身
子趴在講台上:「…未未來的更新…新將會…。」
威爺話還不及說完,便被憤怒的人海掩蓋過去。 而
整個舞台也發出陣陣悲鳴,扭曲倒塌在煙塵之
中…….。
(全劇終)
Recommended