跳到主要內容

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 之外,接下來我們會從電腦來下任務,請各位拭目以待吧!

留言

熱門文章

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

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

差不多食譜:香煎南瓜片 Pan-fried Pumpkin

托爺爺的福,在萬聖節那碗「 南瓜盅飯 」後,我還有個老家的南瓜可以用。但要怎麼好好運用這顆南瓜,卻是個不小問題。差不多食譜曾經試過「 醋漬南瓜 」、「 牛奶南瓜 」,還有「 南瓜濃湯 」幾種運用新鮮南瓜的料理,難度雖然都不高,看起來卻都不像平時會出現在餐桌的家常菜。這次我們不妨搞得家常一點,用廚房裡都會有菜刀和煎鍋 (除非你家不開伙) ,來弄個超級家常的「香煎南瓜片」。

窺探洋蔥的秘密:顯微鏡下的洋蔥鱗葉表皮與細胞 Onion Bulb Leaf under a microscope

在這段嘗試使用顯微鏡來拍攝的期間,「洋蔥表皮」可以說是最容易製作的玻片標本,沒有之一。只要剝開來,攤平,滴上水,蓋上玻片,基本就完事了。怪不得學校的生物課本,都會拿洋蔥表皮來設計實驗。但是想要看到鱗葉的橫切面,那就得要練練刀功,並試試你的運氣了。 洋蔥表皮是比較容易處理的樣本,這次拍攝我們就從撕皮開始。只要不是最外面那層乾掉的表皮,用哪一層都無所謂。我也沒有拿整顆洋蔥,就拿做菜切下來的地方。這樣的大小對於顯微鏡觀察來講,已經相當足夠了。 洋蔥皮剝下來後,放在滴了水的玻片上,再滴一滴水,蓋上蓋玻片。這樣一來,觀察用的玻片標本就完成了。接著放上顯微鏡的載物台,調整鏡頭到適當的高度(大約一公分),然後調整標片標本位置,調整光源,最後再進行細微的對焦,就可以開始你的觀察了! 洋蔥表皮細胞 40x 先用顯微鏡的低倍鏡來看。這架顯微鏡最低的放大倍率是40倍,可以看出洋蔥表皮的排列狀況,而且也很清楚看到表皮有深淺不一的顏色。 洋蔥表皮細胞 100x 放大到100倍,可以看到細胞裡面還有東西。透明一點的細胞會比較清楚,可以看到細胞核。有的除了細胞核外,好像還有其他的東西。 洋蔥表皮細胞 600x 繼續放大到600倍,細胞核變得更明顯了。除此之外,可以看到細胞邊緣有兩層構成。生物課本裡面介紹過,外層的是細胞壁,內層的是細胞膜。然而,在有顏色的細胞中,細胞核就沒有那麼明顯。 洋蔥鱗葉剖面 40x 看過洋蔥表皮,現在把洋蔥的鱗葉做剖面,看看裡面的細胞構成。切了很多片,終於有一片切的比較成功,可以看到上面一層薄薄的紫色表皮。這層紫色表皮就是剛剛看了很久的洋蔥表皮。中間還有帶點綠色的部位,這應該是維管束。 洋蔥鱗葉剖面 600x 直接放大到600倍,可以明顯看出紫色的表皮細胞比較扁平,底下構成洋蔥肉的透明細胞則比較大顆。問題是紫色的花青素好像只集中在表皮而已,底下那些通通沒有。但畫面的右下角,也就是靠近維管束的周邊有綠綠的,移過去看看。 洋蔥鱗葉剖面 600x 靠近維管束 在細胞內可以看到一顆顆綠綠的小球,不知道這些是不是葉綠體,或者只是有綠色色素的有色體。仔細再想想,剝開洋蔥後確實有一條條綠色的紋路,這些綠綠的小球應該就是那些紋路出現的地方。 我能看懂的部分只有這個樣子!如果有哪些高手看到,還請多多指教。