第2章 出廠範例程式
新購的iPOE-A1本身就已經預先載入範例程式,讓使用者可測試各項功能是否正常運作,底下逐一介紹其功能及操作。
2-1 操作前的準備
首先您需先準備好底下的材料及設備,其中若無5、6、7項,無法進行某些項目的測試。
- iPOE-A1輪型機器人一臺。
- 2顆14500(3號電池大小)鋰電池,其規格為3.7V;鋰電池最好選用有加過放保護板的電池。
- 一個繪圖型LCD模組(LCD5110)。
- 一個HC-SR04超音波測距模組。
- 一個HC-05藍牙模組,鮑率需設為57600,0,0,代表鮑率57600bps,1個停止位元,無同位元。
- 一張黑底白線的IRA初級的場地圖,樣式如圖 2‑1所示;若沒有,可在一個黑色不反光地板上,使用白色電工膠帶仿造製作出地圖即可。
圖 2‑1 IRA初級場地圖
- 一張IRA中級認證場地圖,樣式如圖 2-2所示。
圖 2‑2 IRA中級認證場地圖
2-2 安裝與啟動
接著請按下圖的外觀替iPOE-A1裝上電池、LCD、藍牙模組與超音波,請注意方向,操作如下所示。
一、 電池安裝:請按電池座的極性方向,將鋰電池放入。
二、 LCD安裝&藍牙模組、超音波模組的安裝
- LCD5110的正面如圖 2‑3所示,LCD模組的上下邊都有排針,可視需求使用上或下排針,但無論使用哪一種接法,方向一定要對。
- 若會使用到擴展腳位上的I/O,為避免LCD擋住I/O腳座,LCD適合裝在下方,也就是使用圖 2‑4(a)上排針的安裝方式。
- 若使用到平衡車的應用,為避免LCD撞到地板,LCD適合裝在上方,也就是使用圖 2‑4(b)下排針的安裝方式。
- 超音波模組的安裝上較簡單,直接插入Sonar J1的插座上即可。
- 藍牙模組的安裝請注意方向,使用前應先將藍牙模組鮑率設成57600、停止位元1位元、無同位元(57600,0,0)。設定方法請見http://topic.tiked.com.tw/ipoeA1/,底下以設定好的藍牙設備名稱「Tiger-II」進行示範。
(a)安裝在下方的外觀(上排針) (b)安裝在上方的外觀(下排針)
圖 2‑4 LCD的安裝位置
三、 啟動電源
一切就緒後,接著打開圖 2‑4(a)標示的電源開關即完成啟動的動作。
2-3 LED及LCD背光測試
系統剛啟動,你會聽到蜂鳴器發出一聲"嗶"聲,然後在LCD螢幕上看到iPOE的Logo圖,如同圖 2‑4(a)LCD顯示的內容;接著系統會進入電池電壓的顯示介面,如圖 2-4(b)LCD顯示的內容。
LCD顯示的同時,位於按鍵旁的LED也會持續變化,請確認紅、黃、綠燈能正常閃滅顯示,如圖 2‑5所示,還有LCD的背光也會規律呈現呼吸燈狀態。
圖 2‑5 LED及LCD背光測試
2-4 光感測器校正
接著請將iPOE-A1放置在場地圖的白線上,並按下按鈕A進入iPOE底部8顆光感測器的校正程式,校正時,車子會原地向右轉,然後向左轉,最後轉正。校正的目的是讓8顆感測器的感測值範圍都相同(歸一化),0代表最白、1000代表最黑,同時將同排的感測器線性化成一個位置值。
2-5 光感測器值讀取
校正後LCD上會呈現光感測器值讀取到的狀態,如圖 2‑6所示,其中LCD左側條狀圖代表後5顆感測狀態,最大時代表1000,條狀最小時為0,而上方數字代表5顆感測器線性化後的位置值,正中央為2000,車身偏離白線最右到最左為0~4000;右側條狀圖代表前3顆感測狀態,最大時代表1000,條狀最小時為0,上方數字同樣為線性化後的位置值,但因3顆感測器距離太遠,此數值無參考作用。操作時可移動一下車子與白線的位置,了解感測器的顯示狀態。
(a)車身在正中央的狀態
(b)車身偏左的狀態 (c)車身偏右的狀態
圖 2‑6 光感測器值讀取的顯示圖
光感測器值讀取的動作非常重要,操作過程中若有發生誤感測,很容易影響結果,若發現有異狀,例如同樣偵測黑色結果有些感測值偏小、偵測白色有些感測值偏大,則需按RESET鍵重新進行光感測器校正。
2-6 功能選單
光感測器感測值沒問題後,按KEY_A即可顯示iPOE-A1的主功能表,如圖 2‑7所示,共有6個選項;操作時,我們可透過KEY_B(上移鍵)移至上一列功能,按KEY_C(下移鍵)移至下一列功能,選擇後按KEY_A(確認鍵)執行。
圖 2‑7 iPOE-A1功能選單
接下來逐一說明各項功能。
2-7 馬達及編碼器測試
執行Draw Encoder前建議將iPOE-A1架高,避免操作過程中車子亂跑;當進入馬達及編碼器測試時左右馬達均會同時向前或向後轉動,並出現圖 2‑8的畫面:
- 左上方指示目前正在顯示左(left)或右(right)馬達的狀態。
- 右上方顯示現行馬達的PWM速度值,0代表停止、255代表最高速,正值代表馬達向前轉動、負值代表馬達向後轉動。
- 下方顯示馬達編碼器A、B相的狀態(為方波),若A相領前B相代表正轉,B相領前A相代表反轉,頻率愈高代表速度愈快。
圖 2‑8 Draw Encoder的LCD畫面
(a)右輪狀態 (b)左輪高速狀態 (c)左輪反轉狀態
圖 2‑9 Draw Encoder的LCD畫面
2-8 IRA中級認證地圖試跑
1. 基本測試:
(1) 執行IRA Mission前請將iPOE-A1放在大紅色的起點/終點上。
(2) 按下KEY_A後即開始IRA中級認證任務B的行走,如圖 2‑10所示。
(3) 行走中車子遇到障礙物會停止,並且蜂鳴器嗶3聲,相關IRA認證的內容請見網站
http://topic.tiked.com.tw/showcontent.asp?pf=tp9168udle。
(a)IRA任務的起點/終點 (b)遇障礙物停止並”嗶”3聲
圖 2‑10 IRA Mission示意圖
2. 加入手機APP的控制測試:
(1) 首先請至
http://topic.tiked.com.tw/ipoeA1/下載「IRA認證設定端」的手機APP程式,安裝好並啟動後的畫面如圖 2‑11(a)所示。
(2) 開啟手機藍牙功能,並新增設備,操作如圖 2‑12所示。
(3) 回到「IRA認證設定端」畫面點選圖 2‑11(a) Bluetooth Device List按鈕,並選擇配對好的藍牙設備,例如Tiger-II。
(4) 點選連線後呈現圖 2‑11(b)的成功畫面。
(a)剛開啟未選擇裝置的畫面 (b)配對並連線後的畫面
圖 2‑11 IRA藍牙連線圖
(a)在手機設定中開啟藍牙設備
(b)搜尋並進行藍牙配對
圖 2‑12 藍牙裝置設定圖
(5) 接著可進行不同前進速度及任務的練習;首先請點選圖 2‑13(a)中的速度捲軸,拖曳設定不同前進速度,接著點選任務A、B或C,最後點傳送即可讓iPOE-A1前進。其中任務C的起點,iPOE-A1需朝向右邊,如圖 2‑13(b)所示。
(a)設定要傳給iPOE-A1的速度值及任務 (b)任務C的起點方向
圖 2‑13 不同前進速度及任 務的練習
2-9 循跡程式
將iPOE-A1放在圖 2‑14場地圖中間的8字形路徑上,按Following即可開始繞8字行走的循跡程式,當行經交叉點時,蜂鳴器會”嗶”一聲。拿起iPOE-A1車子時,系統會自動回到選單畫面。
圖 2‑14 繞8字的循跡測試圖
2-10 方形競速程式
將iPOE-A1放在圖 2‑15場地圖外側的綠色方形區塊上,按Block Run即可開始方形競速的循跡程式,其中:
1. 路徑右側的提示點為起點/終點,繞一圈結束後,車子需靠右側的提示點偵測停在綠色方塊內(含蓋1/2的綠色方塊即可)。
2. 路徑左側的提示點為轉彎提示點,提前告接下來的10cm路口要轉彎。
圖 2‑15 方形競速的起點
圖 2-16 方形競速行進間狀態
3. 接著可同IRA中級認證地圖試跑中的手機APP程式,透過「IRA認證設定端」進行速度控制。從不同的速度試跑中可看出程式中對於遇轉彎提示點需減速的作用,若沒有減速,在高速的場合很容易轉彎失敗。
2-11 音樂測試Sing a song
當按下Sing a song時LCD會出現
的圖案,接著蜂鳴器開始演奏歌曲,任何時間可長按KEY_A返回主選單。
2-12 手機姿態控制-搖控車
一、 安裝手機端的Amarino應用程式
iPOE-A1的手機姿態控制是使用Amarino來連接 Android 與 Arduino,首先請至網站http://www.amarino-toolkit.net/點選Download頁面,下載圖 2‑17中Amarino相關的兩支APP,分別是
Amarino - Android Application、
Amarino Plug-in Bundle,請點選圖 2‑17圈出處的連結,並依序安裝。
圖 2‑17 Amarino的下載頁面
安裝完成後,請在手機端開啟Amarino 2.0,接著請底下的步驟操作:
1. 第一次還沒有連接裝置的使用者,請點選圖 2‑18的 加入新的藍牙裝置,並點選搜尋到的藍牙裝置(例如圖 2‑18右圖的Tiger-II)。若沒有找到iPOE-A1的藍牙裝置,代表你未在手機的藍牙裝置中建立連線,請參考圖 2‑12的操作建立新裝置。
圖 2‑18 新增BT Device的操作
2. 點選找到的藍牙設備,例如圖 2‑19左圖的Tiger-II,點選橘色框框處進到圖 2‑19右圖的事件列表。
圖 2‑19 新增感測器事件的操作
3. 在圖 2‑19右圖的事件設備點橘色框框處的Add Event,顯示所有可用的Events,如圖 2‑20所示,然後依序先點選Accelerometer Sensor(如圖 2‑20右圖),點Save。
圖 2‑20 新增感測器事件的操作II
4. 依步驟3的操作,請再新增一個Light Sensor事件,操作如圖 2‑21。
圖 2‑21 新增感測器事件的操作III
5. 接著請回到圖 2‑19右圖的畫面點選Connect,連線成功後,點選圖 2‑19橘色框框處即可看到運作中的二個事件,如圖 2‑22左圖所示,其中ID:A為手機三軸加速度感測器的值,由上而下顯示X、Y、Z三軸的資料;ID:B為手機亮度感測的值。
6. 若連線後仍沒看到圖 2‑22左圖感測值的變動,請參考圖 2‑22右圖的操作,在事件上方長按ID:A、ID:B,點選Force Enable即可。
圖 2‑22 啟用的Amarino事件
7. 一切就緒,可看到圖 2‑22左圖感測值變動後,即可開始與iPOE-A1連線進行手機姿態控制實驗了。
二、 手機與iPOE-A1的連線測試
1. 點選iPOE-A1選單中的最後一項Remote Car,進行手機姿態控制-搖控車測試。
2. 手機平放時,車子不會前進,如圖 2‑23所示用手遮住超音波,可在LCD上顯示車子與障礙物的距離。為避免超音波測量太遠距離影響到操作速度,本範例限制超音波最長的偵測距離為34cm。當前方10cm內有障礙物時,車子會自動刹車避免撞擊障礙物。
3. 手機的亮度感測器會控制LCD的背光亮度,試著用手遮著手機亮度感測器,可發現iPOE-A1 LCD背光變亮,用手電筒照手機時,LCD背光變暗。
圖 2‑23 手機平放時可顯示超音波測到的距離
4. 手機左右翻轉可控制車子左、右轉彎,翻轉角度控制轉彎的速度,如下圖所示。
圖 2-24 轉彎速度控制
5. 手機前、後傾斜可控制車子的前進、後退。
6. 姿態控制一開始不習慣,角度儘可能的小,待習慣後再加大控制角度。