使用V7RC來控制車子

在手機上(IOS或Android)有一支好用的程式名叫V7RC,由嵐奕科技所開發,這個 APP 是專門提供給市面上一般遙控車或是科普教育用途的 APP, 透過它可以跟控制板進行連結,讓你的APP就可以控制你的小車,本章節就來介紹,如何讓V7RC這個APP與Micro:bit連接,並發送命令給Micro:bit進而控制夾子車

安裝V7RC APP(IOS或Android版本都有)

手機上的APP要能與Micro:bit連接上,靠的是藍芽通訊,不過一般Micro:bit的程式中藍芽的部份內建提供給廣播積木功能使用,所以我們要新建一個專案程式並進行設定…第一件事→專案設定→選擇「不須配對」

加入藍芽擴展

選擇擴展,在上方搜尋列輸入:「blustooth」按Enter,即可看到第一個就是我們要安裝的擴充積木

與廣播積木不能並存

由於廣播積木也是使用藍芽功能,所以會提示你(如左圖)

安裝藍芽版本容的ksb048積木

由於開啟這個藍芽功能會與原本版本的KSB048積木相衝突,所以有另一個版本:github.com/kaise-ksrobot/pxt-KSB048-Bluetooth 

我們可以如下圖的程式就可以進行測試:讓序列重新導向usb是為了觀察V7RC送了什麼資訊給Micro:bit

分析從V7RC藍芽傳來的字串

從Micro:bit的序列工具裡,你應該會發現它接收到V7RC傳來的是固定格式的字串19碼(如果包含#應為20碼)→SRT1500150015001500,這是因為我們使用了坦克模式,所以開頭是SRT,後面跟著四組1500,是V7RC的四個頻道傳來的數值

V7RC坦克模式畫面

從手機的V7RC畫面(坦克)可以看到它使用四個頻道,左搖桿的左右為頻道1,上下為頻道2;右搖桿的左右為頻道4,上下為頻道3,二個搖桿的中間數值都是1500,在與Micro:bit連線時,我們滑動搖桿,這些值會改變,Micro:bit接收的字串也會跟著變,也就是說我們可以利用這四組數值來控制夾子車

這兒的問題是,V7RC每一次都是傳19碼給Micro:bit,我們要如何分離出四組數字呢?

參考以下的程式碼,我們自己設定四個變數(bt_comm,bt_part1,bt_part2,bt_part3,bt_part4),V7RC傳送訊息每一組都以#分隔,所以我們讓Micro:bit偵測藍芽串口是否收到#,如果有就把#前的字串設定給bt_comm,接下來我們檢查bt_comm的長度是不是19碼(因為傳輸中有時會掉碼),如果有19碼,就利用「字串剖析」來取出一段一段的字串並轉成數字給變數們,經過這番操作:bt_part1→頻道1的數值;bt_part2→頻道2的數值;bt_part3→頻道3的數值;bt_part4→頻道4的數值

我們用各頻道的數值來轉化成夾子車要進行的動中了!在上頭的程式之下接上如果判斷式,bt_part1和bt_part2的數值用來操控車子的前後左右,而bt_part3和bt_part的數值用來操控夾子的動作

V7RC控制夾子車

這段影片是示範設定V7RC與Micro:bit藍芽連結,並充當搖桿來控制車子的動作,這款APP是免費的,而且很有特色,在操控的同時,它可以開啟手機的相機鏡頭,讓你同時看到正在操控的車子,還有錄製動作及回放的功能…

※你可能發現搖桿的命令傳送到Micro:bit有一點會延遲,但已經算是表現得很好了!