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 2(變數、迴圈、LED燈)

Blockly (Junior)_ Variables變數

Step 1: 

何謂變數?

變數在程式中是一個能夠儲存資訊的方法,而他儲存最多的就是值。如果你有玩電玩遊戲,會有個變數專門儲存你的分數,另一個變數儲存你生命值,而另一個會儲存你的時間。使用在CoDrone上,變數會儲存感測器的值;無人機的速度或可能飛行的距離。

當你需要在程式中使用大量的數值,變數會對你很有幫助!例如:你可能有個程式中,有5個位置是你設定速度的地方。若沒有變數你就必須改所有位置的數字。而若有變數你就只要改變數的值就好。

 

Step 2: 

設定變數

若要紹定變數,先去Blockly中粉色變數選單再點擊灰色” Create variable…(創造變數…)”區塊。

CoDrone Blockly junior variables menu
之後會有個視窗要求你命名你的變數,而你可以隨意編輯!只要確定你會記得那個名字並能夠與你要做的指令符合邏輯。

CoDrone Blockly new variable name prompt
一旦創造好變數,變數選單會出現一個新的程式區塊讓你試試看

CoDrone Blockly junior variables menu with additional blocks

Step 3: 

設定

你會看見其中一個程式區塊叫set _ to,它可以讓你設定你的變數成你選擇的值。

CoDrone Blockly set to variable block
若要使用它,請拖移到程式碼最上面再到灰色數學選單。從那你可以使用一個值的程式區塊,或者你可以用更複雜的區塊,會讓你的數學老師感到驕傲!

CoDrone Blockly set x to 5 variable block

 

Step 4: 

獲取變數

當你需要呼叫你的變數,或是使用其中的資訊,你可以從變數選單中,用get程式區塊來呼叫。在Blockly中,你通常會將它接上迴路或條件式。此外,你也可以設定你的變數來獲取其他變數的值!這對於程式中,相互影響的事件判斷很有用!

CoDrone Blockly variable blocks, set x to 5, set y to get x
試試範例程式碼來看會發生什麼事!

CoDrone Blockly junior variable flight sequence example code

 

Step 5: 

改變數

如果你需要改變數的值,你有兩個選項。

如果要在整個程序中更改它,你只需在設定變數區塊旁邊的數學區塊中,輸入一個新的值。

如果你只是要在程序中某部分更改變數的值,你可以用change_by程式區塊。拖行該區塊到程序中你需要放的地方,再輸入你要改變的值成多少。

CoDrone Blockly change variable by 1 block

 

Step 6: 

把所有區塊連接起來吧!

使用你所學來改變CoDrone顏色吧!編程你的CoDrone若你的變數的值低於或等於50,無人機的眼睛會變成一種顏色;而若變數的值是大於或等於51,無人機的眼睛會變成另一種顏色。LED燈的程式區塊在亮紫色選單中。

若你想挑戰更多,把他們全放在for loop迴路裡重複然後持續讓你的程序加一到你的變數100次。不確定什麼是for loop嗎?別擔心下一堂課就會告訴你。只要先知道任何在迴路裡的區塊都會重複100次。

疑惑為何要用這麼大的數字嗎?電腦每次跑的時間很短,所以如果你沒有用wait block(等待區塊),或執行次數較少,你的CoDrone的LED燈會變色變得非常快。

你的程序應該呈現如下:

CoDrone Blockly junior LED variable program

 

Step 7:

試試看!

挑戰: 點對點飛行

編程你的CoDrone從一個降落墊起飛,朝方向一個方向飛行,在降落在另一個墊子上。

規則:

  • 你必須使用變數讓你的CoDrone朝一個方向飛與著陸
  • 起始點與著陸點的墊子在挑戰開始後不能改變位置,但你能在測試後改變你的程式碼。
  • 別忘記加入緊急開關!

若你想讓挑戰更有競爭力,將目的地改成標靶樣式並賦予它們分數。中心點是最高分,越接近邊緣越低分。

 

Blockly (Junior)_ Loops迴圈

Step 1: 

什麼是迴圈?

迴圈可以讓你的一直重複程式碼的部分。這個是很好的捷徑讓你不需要一再重複連接同樣的程式區塊。Blockly有三種形式的迴圈:

  • For loops有兩種程式區塊會重複裡面程式碼你所選的次數
  • While loop會在你設定的特定條件為true(是)時重複裡面的程式碼
  • Until loops會在你設定的特定條件為false(否)時重複裡面的程式碼

CoDrone Blockly junior loops menu

 

Step 2: 

For loops

For loops會重複裡面程式碼你所選的次數。一旦程式碼已經重複該次數,程序就會離開迴圈,並往下讀取下一組程式區塊。

如同第一步驟我們提到的,Blockly有2種for loops 區塊。一種是區塊重複次數,你可以輸入一個新的值在區塊已改變執行次數。如果你要用數學運算、方程式或變數,你可以從數學、邏輯、或變數選單中,拉下那些區塊到迴圈區塊裡的灰色區域

CoDrone Blockly repeat for _ times block
另一個for loop區塊比較複雜,也看起來比較像是文字編程。使用此區塊可以為一個變數命名,你能設定一個值,讓該變數以此數值相加。

CoDrone Blockly count with for loop block

 

Step 3: 

編程for loop

我們來試試使用for loop吧!讓CoDrone像是飛上階梯!

注意:因為有兩種for loop區塊,你必須寫出不同程序來試試。你的CoDrone應該往前並持續往上移動,或許你會覺得程序陌生,但你試試運作它看看?

CoDrone Blockly junior stair program with repeat 3 times for loop

CoDrone Blockly junior stair program with count 3 times for loop

 

Step 4: 

While loops 

While loop會在你設定的特定條件為true(是)時重複裡面的程式碼。每次運作while loop後,他會回頭確認條件是否為true,若否,程序會離開迴圈。

CoDrone Blockly while loop block with dropdown menu expanded

 

Step 5: 

編程while loop

在變數的課程中,你已經學會讓無人機飛出一個形狀,不過現在你可以用迴圈試試!設定變數為0,然後用while loop每一回增加1。當你的變數等於或少於4,編程你的CoDrone往前並往左飛(或反之亦然)。

是否疑惑為何從0開始?人類從1開始數數,但電腦認為0是起始點喔!

CoDrone Blockly junior while loop shape program

 

步驟6:

用while loop編程forever loop 

你可以設計一個程式,讓while loop裡面的程式碼永遠重複,如同無限迴圈!只要你設定條件式為true(是),然後確定你有放置緊急開關(請記得一直都要做到),你也可以觀察當你選擇下拉式選單中,設定條件式為false(錯)會發生什麼事?用你的CoDrone的LED眼睛試試兩種迴圈!

CoDrone Blockly junior while loop repeat while true program
CoDrone Blockly junior while loop repeat while false program
你會發現顏色轉換非常快速。試試看從計時區與轉換顏色之間,加入一些Wait 程式區塊。

CoDrone Blockly junior while loop repeat while true program with wait blocks

 

Step 7: 

Until loop 

Until loops 非常像 while loops,除了Until loops運作區塊內的程式碼直到條件式為true(是)。每次程序跑過while loop,他會去確認條件式是否為true(是)。若是,程序會再跑最後一輪,之後離開迴圈。

CoDrone Blockly repeat until loop block with dropdown menu expanded

 

Step 8: 

編程until loop

設定變數為0,然後在while loop中每一回增加1。編程你得無人機讓它直到變數達到8就會在每秒鐘向左轉或右轉。

CoDrone Blockly junior until loop example program

 

Step 9: 

 試試看! 跳舞吧無人機!

編程你的無人機讓它像舞廳中的燈球旋轉,並讓它眼睛和手臂上的LED燈變換顏色!

規則:

  • 你至少要程序中加入一個迴圈
  • 手臂及眼睛都治襖要變換顏色一次!
  • 別忘記緊急開關設定!

 

Blockly (Junior)_ LEDs LED燈

Step 1: 

什麼是LED燈?

LED是發光二極體的縮詞。二極體是一種電子材料,他只能讓電流沿一個方向流動,因其高效的功能漸漸就取代傳統燈泡。

你的CoDrone有6個RGB LED燈:四個手臂各一個 ,一個在機頭,和一個在機尾。RGB代表紅綠藍三原色。 使用這三個顏色可以製造出任何你想像的到的顏色!除了讓你的CoDrone看起來更酷,LED燈也提供其他形式的回饋。比如說尾燈能夠讓你知道無人機連接狀態。尾燈固定亮綠燈代表無人機已連線,而閃爍綠燈代表進入配對模式。然而你無法修改這些預設的LED燈的顏色,但剩下的5個LED燈可以讓你編程產生各種顏色與形式排列!

 

Step 2:

參數

CoDrone提供許多功能性讓你不但可以改變手臂LED燈、眼睛LED燈或甚至同時改變!這些功能都可以在燈選單中找到。

每個LED程式區塊都有至少1個或多個以下參數:

Color(顏色)—想改LED燈的顏色,請按color(顏色)鍵,會出現一個選單,可以選你想要LED燈的顏色。

Brightness(亮度)–在固定LED區塊中,這關乎到燈的明亮度,0是關閉而100是全亮。 

Mode (模式)–是你可以選擇的燈閃爍的形式排列

BLINK LED燈會像眨眼一樣閃爍亮燈關燈

DOUBLE BLINK 像雙眨眼一樣LED燈會連量兩次再關燈

DIMMING 用緩慢地調亮(淡入)與調暗(淡出)LED燈光 

Interval(間隔) –每個燈光形式的頻率(每秒)。間格的值永遠不能是負數!

CoDrone Blockly junior lights menu

 

Step 3: 

 LED彩虹

試著與CoDrone配對並練習用LED燈製造彩虹色。請確認每個顏色轉換下一個顏色前至少顯示1秒。想要最佳明亮度請設定100。請在顏色程式區塊之間用wait(等待)區塊,設定1秒好讓你可以在燈在變換前看到每一個顏色。試著使用迴圈來不斷改變顏色。

CoDrone Blockly junior LED forever loop program

Step 4: 

試試看!

第一個電氣通信系統是電報。 它是一種發送長或短電的脈衝,來發送信息的設備。 字母由長短逼逼聲的獨特組合定義,稱為摩斯密碼。 或許你能夠識別這個訊息:

. . . _ _ _ . . .

此訊息讀作SOS(求救)!可以查找摩斯密碼字母表並學習一些字母代碼。試著找些方法,利用你的CoDrone送出摩斯密碼訊息出去。如果你想要,可以配對解碼與彼此訊息。用輸入不同的值在wait區塊調整閃燈長短,傳送你的訊息。