跳到主要內容

DroneBlocks 用手機寫程式控制空拍機 Tello


前一篇提到我買了一台Tello玩具無人機,除了練習飛控之外,還可以寫程式來控制無人機。手機上最方便的程式介面,就是DroneBlocks這個App了。而且不只Tello哦,DJI消費型的無人機幾乎都可以用DroneBlocks控制。廢話不多說,直接來說這個DroneBlocks該怎麼玩吧!

首先當然是去下載DroneBlocks這個App。無論你是Android或iOS的手機或平板,都有相對應的DroneBlocks可以下載。我的手機是iPhone,所以進到 App Store 去搜尋 DroneBlocks ,下載安裝就可以用了。Android的裝置請進到Play商店去找,很好找的。


打開DroneBlocks Apps會先出現一個空白的工作環境,先別急著用,這個工作環境是給DJI的空拍機使用的。你要做的,是按右方三條線的圖示,點選  Connect to Tello,連結Tello無人機,並切換到Tello專屬的工作環境,再過來就可以開始寫程式控制了。

點選右下 Connect to Tello 切換工作環境

DroneBlocks是積木語言,用堆疊的方式就可以把程式寫好。其中最簡單可行的程式就是「起飛」,然後「降落」。只需要把 Takeoff (起飛)積木拖到畫面中白色區域,再將 Land (降落)積木拖到 Takeoff 積木的下方接起來,就完成了。



再過來,按下右上角問號旁的 Connect to Tello,打開 Tello 的開關,進入 iOS 的設定 >> Wi-Fi ,並選擇 Tello-XXXXXX 的網路。再回到 DroneBlocks ,按下這個藍色的 Connect (連接)按鈕。


我們的經驗表示,最好還是依照這個順序來連接,比較不會有問題。還有,要是課堂上同時有多台 Tello 等著連接,它 WiFi 的 SSID 寫在機器裡面,把電池拔開就看得到了。


如果左上角的 Batt: (電池)有出現百分比的數字,表示 DroneBlocks 已經連上 Tello 了。


要是一切順利,按下右上方三條藍線的按鈕,選擇 Launch Mission (執行任務),連上的 Tello 就會原地起飛降落囉!


Mission: Box Mission 任務:繞圈

現在,我們可以來玩稍微有點難度的任務:讓 Tello 升空,繞著房間飛一圈,然後降落。

在這個任務裡面,除了 Takeoff (起飛)和 Land(降落)之外,我們會用到綠色的 Navigation (導航)積木。

我們先介紹 fly(飛行)這個系列的積木,也就是單純運用 fly 讓飛機繞一圈。
  • 向前飛: fly forward
  • 向後飛: fly backward
  • 向左飛: fly left
  • 向右飛: fly right
  • 向上飛: fly up
  • 向下飛: fly down

很明顯,這個任務不需要用到 fly up 和 fly down,只需要水平移動的四個方向而已,順序就是「起飛」⇢「向前飛100cm」⇢「向右飛100cm」⇢「向後飛100cm」⇢「向左飛100cm」⇢「降落」。要注意的是,向前後左右飛行的時候要指定距離,可以用英尺(in),或者我們比較習慣的公分(cm)去指定。


實際 Launch Mission(執行任務)之前,一定要確定你的飛行場地夠大,要不然 Tello 絕對會撞上某些東西墜機。運氣不好的話,還會有人被螺旋槳打到受傷。

都沒問題的話,就執行任務讓Tello飛一圈吧!


Upgrade Box Mission: Yawing 任務升級:轉向

再過來我們要把任務稍微升級一點點,繞行的時候要讓機頭(有鏡頭的那邊)總是朝向前面飛。也就是說,往右飛之前,得先讓機頭向右轉90度,然後再往前飛。而且飛回來的時候,機頭要朝向原本出發的方向。

這時候我們又要介紹另一組 Yaw(轉向)系列的積木了:

  • 向右轉90度: yaw right 90 degrees
  • 向左轉90度: yaw left 90 degrees

改寫過的任務會變成這個樣子:「起飛」⇢「向前飛100cm」⇢「向右轉90度」⇢「向前飛100cm」⇢「向右轉90度」⇢「向前飛100cm」⇢「向右轉90度」⇢「向前飛100cm」⇢「向右轉90度」⇢「降落」。


沒問題的話,按下 Launch Mission 看看 Tello 是不是照個我們規劃的方式飛行吧!



Rewrite Mission: Loops 改寫任務:迴圈

上一個任務中,你會發現程式不斷在寫 fly forward 和 yaw right,總共重複了4次。所有的程式語言中都有迴圈(loops)的語法,可以用簡單的寫法讓動作重複。簡單的說,fly forward 和 yaw right 只要講一次,告訴程式說這套動作要重複4次就行了。

這個地方就必須用到土黃色的 Loops(迴圈)積木。這個積木裡面有 repeat(重複)多少次的選項,然後在 do(執行)的區塊中塞入要重複的動作。改寫過的程式就像下圖那樣:


改好後按下 Launch Mission,Tello同樣繞了一圈,但是程式碼卻變短了。


這大概就是寫程式樂趣之一,把同樣的動作用更簡潔的方法寫出來。要是你已經買了 Tello,現在就開始你的飛行任務吧!

除了手機的 DroneBlocks 之外,接下來我們會從電腦來下任務,請各位拭目以待吧!

留言

熱門文章

OREO聖誕麋鹿 #差不多食譜

聖誕節就快到囉!今年我們用現成的材料,來做些簡單好玩的小東西。第一個登場的,就是有著紅鼻子的麋鹿。 3隻「OREO聖誕麋鹿」差不多需要這些材料: OREO餅乾 ...... 3片 蝴蝶餅 ...... 3-6片(掰斷有失敗的機會) 餅乾棒 ...... 3根(我用百力滋) 眼睛糖 ...... 6顆 紅色m&m's ...... 3顆(紅鼻子) 融化的巧克力 ...... 適量(黏著用) 「OREO聖誕麋鹿」差不多是這麼做的: Step 1. 準備好材料 計算一下自己想要做多少隻OREO聖誕麋鹿,按照材料表把需要的餅乾糖果給買回來。材料備齊之後,就把巧克力拿去用微波爐融化備用。沒有微波爐的也可以隔水加熱,想辦法把巧克力融化就可以。 Step 2. 製作麋鹿 再過來就要開始製作麋鹿了!先把OREO轉開,留下有奶油的那邊,待會方便把餅乾稍壓一下固定。 把蝴蝶餅掰斷成鹿角的樣子,沾上巧克力,擺到OREO上面。餅乾棒同樣沾上巧克力,一樣放上OREO。接著蓋上OREO,稍微壓一下。 這邊可以大膽去擺,在巧克力凝固前都可以調整。要是發現黏不太住,多沾點巧克力再試試。 Step 3. 擺出表情 接下來要用眼睛糖和紅色m&m's做出麋鹿的表情。用筷子將眼睛糖和m&m's沾上巧克力,黏到眼睛鼻子相應的位置就可以。 沒有辦法買到眼睛糖的,可以用白巧克力先畫出眼白,再用黑巧克力點出眼珠。紅鼻子也可以自己換成橘色、綠色、藍色等等不同的m&m's。 Step 4. 讓巧克力凝固 表情做好之後不要馬上移動,得要有點耐心讓巧克力凝固。要不然悲劇馬上就會發生,不是表情變扭曲,就是整支麋鹿散架。 等巧克力凝固後,就可以像棒棒糖那樣拿起來玩耍了。再來杯熱牛奶,整隻麋鹿給他泡下去也很有趣。 最後幫大家整理一下「OREO聖誕麋鹿」的做法: 巧克力用微波爐加熱融化備用。 轉開OREO。 蝴蝶餅掰成鹿角的形狀,沾巧克力後放上OREO餅乾。 餅乾棒同樣沾上巧克力,擺上OREO餅乾。 蓋上餅乾,在眼睛糖和紅色m&m’s背後沾上巧克力,黏到眼睛和鼻子相應的位置。 稍微等一下,讓巧克力凝固就好囉!

木乃伊熱狗捲 Hot Dog Mummies - 差不多食譜 #萬聖節

這次我們繼續過萬聖節,來做個更簡單的「木乃伊熱狗捲」。看完材料表,相信你已經知道該怎麼做了。 「木乃伊熱狗捲」差不多需要這些材料: 小熱狗 ...... 4條(大熱狗可以切半使用) 起酥片 ...... 1片 蛋黃 ...... 1個 起司片 ...... 1片 海苔 ...... 1片 番茄醬 ...... 適量 「木乃伊熱狗捲」差不多是這麼做的: Step 1. 起酥片切條 從冷凍庫拿出起酥片,在室溫放一陣子,等它稍微變軟之後再開始切成細條。稍微放軟再切比較不會破掉。 Step 2. 捲熱狗 第二步,要開始加上熱狗來處理。方法也很簡單,就是把切好的起酥條一圈一圈纏上小熱狗,一條用完再接另一條繼續纏,怎麼纏都沒關係。 要是你的熱狗比較大根,可以切短一點來弄,造型會比較可愛。 Step 3. 刷蛋液送進烤箱 弄好之後來個蛋黃,稍微攪散就可以塗到纏著熱狗的起酥條上。蛋黃液是讓顏色稍微金黃一點,沒有塗蛋黃液的那些烤起來都白白的。 接著就可以送進烤箱了,用攝氏200度烤10分鐘左右,把起酥皮烤出你要的顏色就可以。 Step 4. 裝上眼睛,沾點番茄醬 出爐稍微放涼,趁這個時間來做眼睛。拿起司片弄成圓圓的眼睛,再拿一點海苔當眼球,組合好隨意擺到木乃伊熱狗上。這是萬聖節用的,真的只要亂擺就可以囉! 最後,隨意沾點番茄醬在繃帶上面,我們的木乃伊熱狗捲就完成囉! 結尾再幫大家複習一下「木乃伊熱狗捲」的做法: 酥片拿出來退冰,稍微軟化之後切成細條。 將起酥條一圈圈纏上小熱狗。 刷上蛋液,送入攝氏200度的烤箱烤到金黃。 稍微放涼,擺上起司片和海苔做的眼睛,再沾點番茄醬就好囉!

差不多食譜:手工巧克力餅乾 Chocolate Cookies

又是手工餅乾,最近一連出了兩份餅乾食譜,這個「手工巧克力餅乾」已經是第三份了。會不會有更多呢?我可以告訴大家,這是肯定的。 要怪就怪這個陰鬱的冬季雨天,哪裡都不方便去,也懶得出去。餅乾櫃空在那邊已經很久了,雖然有時候會嘴饞,但也沒有迫切去補貨的必要。反正經常開伙,平常該有的材料都會有,自己弄個成分完全透明的零食,也是個不錯的選擇。再說,用烤箱進行烘焙時,房間會變得比較乾燥,也比較溫暖。在夏天是個折磨,但到了冬天,這種感覺還滿不錯的。 話不多說,開始進行這一道「手工巧克力餅乾」的準備工作。