Paragraphs are comprised of sentences, but not random sentences. A paragraph is a group of sentences organized around a central topic.

codrone lite/pro_Blockly_Junior part 3(電池用量檢測器、遙控器)

Blockly (Junior)_ Battery Checker電池用量檢測器

Step 1:

電池用量指示器

想想你常用的所有電子產品以及你如何知道他們電池用量剩下多少。如果你用的是筆電或手機,你最常看到的是電池圖樣在螢幕的最下或最上方。Blockly也有電量指示器!請配對你的CoDrone在看螢幕左下方。

你該如何在不看Blockly的狀況下知道你的CoDrone要沒電了?這堂課你要用if else語句幫無人機編寫程式碼並用LED顏色代表電池使用的百分比。

 

Step 2: 

取得電量比例

感測器選單中的“get battery percentage”(取得電量比例)程式區塊或許是對這堂課最重要的區塊,因為它是向CoDrone取得電量百分比訊息,範圍從0(完全沒電)到100(充飽電)。

CoDrone Blockly junior sensors menu

 

Step 3: 

為變數設定百分比

要在程序中出現電池百分比,從變數選單中建一個變數叫做battery(電池)。

CoDrone Blockly new variable name battery prompt
一旦建立好,將其設置為向 CoDrone 要回傳電量比例的值。

CoDrone Blockly junior set battery to get battery percentage

 

Step 4: 

76%-100% 電池

你將會用if else語句來確認你的電池層級是什麼值。你的CoDrone的頭燈會根據你的電池層級來變換特定顏色。你可以換成任意顏色,但我們建議你要用淺顯易懂的顏色讓你能分辨你是否需要充電。以下是我們這堂課要用到的:

  • 100-76: LED恆亮綠燈
  • 75-51:LED恆亮黃燈
  • 50-26:LED恆亮紅色
  • 25-0:LED紅燈閃爍

請在CoDrone電池是76-100%時設定眼睛是綠燈並連接if else 語句。在條件式空格中從邏輯選單中放一個大於的程式區塊。

CoDrone Blockly junior battery sensor program with variable, conditional, and greater than equation
拖移並在第一個值得格子放入你的變數,再輸入75在第二個白色值的格子並用數學區塊。

CoDrone Blockly junior battery sensor program with variable, conditional, and battery > 75

若電池高於75%,LED燈該是什麼顏色?在程式碼”do”的部分將無人機的燈改成綠色。

CoDrone Blockly junior battery sensor program 76-100% battery

 

Step 5:

51%-75%電池

下一個部分,當電池用量在51-75%你要使用else if 語句。請記住,如果初始語句為false(錯)則else if 語句會被執行。要開啟該區塊請點擊if 語句的藍色齒輪圖示並拖移一個else if語句到程式碼區塊。

CoDrone Blockly junior battery sensor program with expanded gear icon
當電池用量是50和75%滿,LED燈該是什麼顏色?請確認設定是當的顏色!

CoDrone Blockly junior battery sensor program 51-75% battery

 

Step 6: 

25%到50%電池

電池用量在25到50%時LED燈是紅色。這可以指示為低電量但還不到要換無人機電池的地步。

請用else-if程式區塊重複以上過程並加入你的程式碼來換LED燈。

CoDrone Blockly junior battery sensor program with expanded gear icon

CoDrone Blockly junior battery sensor program 26-50% battery

 

 

Step 7:

低電量

現在你將用else語句來指示以上所有情況皆不是true(真)而你的電池就需要充電了!這代表電池用電量百分比低於或等於25%,這時候LED燈就要用閃爍紅燈。

按下藍色齒輪圖示加入else區塊並編輯LED程式碼。

CoDrone Blockly junior battery sensor program with expanded gear icon

CoDrone Blockly junior complete battery sensor program

 

Step 8: 

測試你的程式碼

測試看看你的程式碼是否可以運作!從變數區塊移除要求程式區塊,再輸入任何0到100的數並執行,如果你的程式碼有運作,你的CoDrone頭燈應該會變色並跟你設定的電池用量顏色相符。若你測試所有LED燈顏色呈現有跟你設定的相同,則程式為正確運作,就能把要求電池程式區塊放回變數區塊。

在此範例中程式碼用值45測試。請問LED燈該是呈現什麼顏色?

CoDrone Blockly junior complete battery sensor program with battery set to 45

 

Step 9: 

持續確認電量

之前的程式碼內容只有確認電池用量一次:在你運作程式的那瞬間。例如,若你想要當你在操作無人機飛行持續確認電池用量你必須加入所有程式碼在迴路中。

把你的程式碼包入while迴圈中,再確認程式碼是否正常運作?

CoDrone Blockly junior complete battery sensor program with forever loop

 

Step 10: 

試試看!

活動:低電量時著陸

讓你的CoDrone在低電量時安全著陸

規則:

  1. 做一個程式碼在CoDrone電池低於20%時會自動著陸
  2. 墜毀不算安全著陸!

 

Blockly (Junior)_ Remote Control遙控器

Step 1: 

鍵盤輸入

或許你會疑惑如何用鍵盤控制CoDrone。在第一個活動中你會學到如何用空白鍵開啟你的CoDrone的LED 燈。第一,設定你的手臂及眼睛的LED燈為藍色,明亮度1來關閉LED燈。

CoDrone Blockly junior LED blocks set to blue and 1

 

Step 2: 

Forever loop

因為程式不斷確認是否有按下按鍵,因此你要設計一個無限迴圈來持續追蹤。舉例,使用一個重複迴路區塊,連接狀態確認選單中的”此程式碼正在運作嗎(is code running)?”程式區塊。

CoDrone Blockly junior LED blocks set to blue and 1 and forever loop

 

Step 3: 

Conditional條件式

現在是時候確認鍵盤輸入了!請記得當程序需要作決定,請用條件式語句。到邏輯選單拿取一個條件式區塊。在鍵盤選單中,拿取一個”當退後鍵按下”區塊。從下拉式選單中選擇”空白鍵”

CoDrone Blockly junior LED blocks set to blue and 1, forever loop, and spacebar
如果按下空白鍵,你要CoDrone LED燈開啟,不然,重置間隔的值為1,好來關閉他們。

CoDrone Blockly junior LED keyboard input complete code

 

Step 4: 

等待程式區塊

你需要加一個等待區塊在條件式語句之後。這是因為若你按下或按住空白鍵,你可能一次送出多次訊息給CoDrone,插入50毫秒(0.5秒)的延遲足夠防止CoDrone中斷連結。

CoDrone Blockly junior LED keyboard input complete code with wait block

 

Step 5: 

更多按鍵

如果你想要確認多個按鍵,你要為每個新按鍵加入一個else if語句。

CoDrone Blockly junior LED keyboard input complete code with expanded gear icon

CoDrone Blockly junior LED keyboard input complete code with else if statement and up key input

 

Step 6: 

加入飛行指令

現在你有基礎想法了,除了變換LED燈,你將加入飛行指令!開啟新檔並設定5個條件是語句結構你將用來前進、後退、向左、向右還有緊急停止。

CoDrone Blockly junior keyboard remote control frame

接下來,加入你的飛行命令。 在此控制器中,你將向相應方向移動半秒。 如果按下空白鍵,無人機應緊急停止並退出forever loop。 如果沒有按鍵被按下,無人機應該盤旋。

CoDrone Blockly junior basic keyboard remote control program

 

Step 7:

試試看!

活動:障礙賽

現在你有了新的飛行控制器,建造一個障礙賽場地,並試著不要撞到任何東西飛到終點線!如果需要,調整延遲的值並增加多些按鍵來增加功能性吧!