利用 Wappsto:bit製作寵物餵食機

市面上有不少自動寵物餵食機 , 但多都是以計時的形式運作 ,
這次我們利用 Wappsto:bit 製作一個利用互聯網 dashboard 輸入指令以餵飼寵物,
好處是能自行控制何時餵食跟飼料份量 , 同時你亦能保留原有的計時設定作備用方案。
我們將利用 servo 模擬餵食機的開關控制何時餵飼寵物。
所需材料:
micro:bit x 1
Wappsto:bit x 1
Servo x 1
Jumper Wire M/F x 3
iPad / Smartphone / 電腦 x 1
電線接駁教學 :

普遍的 Servo 都是 F 的 Connector , 接駁至 Wappsto:bit 上需加上 M-F 的jumper wire

M/F Jumper wire 的顏色隨意 , 接駁 Pin 位仍是看 Servo 的3條電線 :
Servo Orange (Signal) --> Wappsto:bit P0 I/O
Servo Red (+) --> Wappsto:bit P0 3.3V
Servo Brown (-) , Wappsto:bit P0 GND
編程教學 :
加入 「Wappsto」 Extension:

按下「Advanced」然後再按「Extensions」

輸入「Wappsto」, 選擇 「wappsto」加入Extension。
Wappsto:bit 設定:
在「On start」加入「setup micro:bit on Wappsto with name "Pet Feeder"」
Name是專題的名稱 , 在dashboard上已連接的Wappsto:bit會顯示為這個名字。
「setup String value」的作用是設定 dashboard 要傳送/收集的資料為文字類型 ,
String Value 16 即是dashboard第16組數據 , name "Pet Feeder" 是該數據類型的名稱 ;
as 「String」則是數據類型 , 也可選擇其他類別/單位。
控制餵食器:

先拖拉出「on String Value received from Wappsto receviedString 」
目的是讓用家能在 smartphone / iPad 上的 Wappsto App (互聯網)發送訊號到 Wappsto:bit ,
從而配合不同 Output Device 運作 , 這次 Wappsto:bit 在收到訊號後開啟 Servo

「 receviedString = " Start " 」 , Start 是在 Wappsto App 裡輸入的文字指令
由於需輸入 string , if = 需使用" " = " " 那組代碼 (string)

servo write Pin P0 to 180 代表開啟餵食機倒下飼料 ,
pause 5000ms 保持開啟5秒鐘以倒下足夠的糧食 ,
然後再關上機關 i.e. servo write Pin P0 to 0
show icon 則是從micro:bit 顯示編程有否成功 ,
「 send string "It's Feeding Time" .... 」會在 Dashboard中顯示/改變 Pet Feeder的顯示文字!

else 即未到時候餵寵物 / 輸入錯誤指令 ,
餵食機會保持關閉 (servo write pin P0 to 0 ) , send string "Please wait"
Dashboard 上輸入指令:

左圖為 "Start" 餵食 ; 右圖為閒置/輸入錯誤