pande
(樂高) 貝登堡機器人學院擔任助教,第二十一次上課 (highfive) 今天主題是「藍芽大作戰」,無線遙控!YO!
[前次上課]、[課前預習-藍芽概念]
pande
pande
日期:2016-1-26(二), 7:00~8:30 pm
地點:一樓大教室
主題:藍芽大作戰(Bluetooth)
內容:隨意組裝、程式講解、EV3主機硬體摸索、連線實作
學員:4員(週五蔡同學寒假調班)
費文麗
pande
這次上課我覺得是到目前為止課程內容與教學的最優表現
老師與學生的頻率、硬體設備與軟體範例的融合程度最好的一次
pande
基本上三位同學玩積木很久了
對EV3樂高積木的熟悉程度過分大於對EV3程式平台的熟悉程度
他們寧可花很多時間做華麗的積木作品,也不願意多碰程式
這就是他們在這堂課的學習目前最大的瓶頸
pande
這次上課特別的地方在於
- 目標不包含做出一個積木作品,只要求他們完成藍芽連線
- 範例程式結構簡單,簡單到誘使學生加入自己的想法(針對程式)
pande
「藍芽大作戰」期待學生弄出的成果是:
藍芽連線完成的兩台主機
- 其中一台主機(master)按下不同的主機按鈕
- 另外一台主機(slave)會亮起紅、黃、綠三種不同的顏色
就這樣,沒了~
只需要陽春、裸露的兩台主機就好,根本不需要組裝積木(笑)
pande
完成兩台主機的藍芽連線,學生需要學會的有
- 熟悉、操作EV3主機的儀表控制
- 知道如何命名EV3主機
- 學習連線的方法(搜尋、密碼、確認、狀態)
pande
範例程式執行,試玩過後,學生將學會
- 他們可以透過藍芽連線,用一台主機控制另外一台主機
- 他們可以修改程式,做出其他的控制,例如遙控車的細節
- 他們可以提出自己的想法請教老師,一起設計架構、構思程式
後兩項在下次上課就會接觸到:]
pande
就結構來說,是一次很經典的表現
pande
範例程式有兩個
學生接觸程式的主動性不夠,需要引導
時間不夠,只讓學生接觸了其中第一個(其實已經很夠用了)
pande
這個程式有兩個project

一個是master,一個是slave,分別灌入連線的兩台主機
pande
master的部分,先開啟藍芽、找到slave,然後進入迴圈

迴圈裡面做三個動作
- 如果主機按下左鍵,傳輸藍芽訊息G,值為true;反之false
- 如果主機按下中鍵,傳輸藍芽訊息O,值為true;反之false
- 如果主機按下右鍵,傳輸藍芽訊息R,值為true;反之false
pande
slave的部分,開啟藍芽、找到master,然後進入迴圈

迴圈裡面做三個動作
- 如果藍芽訊息G的值為true,儀錶板亮綠色;反之不亮
- 如果藍芽訊息O的值為true,儀錶板亮黃色;反之不亮
- 如果藍芽訊息R的值為true,儀錶板亮紅色;反之不亮
pande
雖然課程目標並未要求學生做車子以及控制器
同學們還是做了(笑) 花了不少時間,可見對程式的逃避程度(笑)
pande
一方面也是因為上次上課(三個禮拜前)說這次要做遙控車
期待久了,他們沒有跟上這次阿諾老師對他們的要求是按鈕跟顏色
- 已經把課程再拆解了一次,並沒有要他們做車子w
pande
EV3裸主機

開機中,亮著紅色
pande
廖同學與王同學合作的車子與控制器

已經下課在拆解了,我才想到既然有做就來照一照
pande
黃同學與他的車子合照

蔡同學(寒假調班)被安排與黃同學一組,一起學習
pande
成功完成課程目標(按按鈕/亮顏色)之後
黃同學顯然意猶未盡(怎麼可以只有這樣,車子還沒動啊!)
想要做遙控車了,我引導他自己去修改程式
把slave的部分亮顏色的程式改成轉馬達
三個按鈕/顏色自己挑其中兩個,改成車子的前進與後退
(這就是我要的,讓學生主動想要修改程式)
pande
黃同學完成之後,猴急想要完成他的一組構想
聽他描述是屬於組合式的構想,已經可以拿去請教阿諾老師了
我沒有仔細聽他的想法,帶他去問阿諾老師
(下課時間已經到了,我只是要幫他建立學習張力而已)
阿諾老師叫他把想法寫下來,下次幫他解決(很棒的回應^^)
pande
另外蔡同學被強勢的黃同學甩在後面
我一直有拉黃同學把他在做的事告訴他的夥伴
同時推蔡同學跟上,基本上有學到藍芽連線
蔡比他們小(國一&小六) 第一次進班,諸多不順很自然:]
pande
合作有默契的廖同學和王同學
一個分工做車、一個分工做控制器(沒有要你們做啦XD
操作卡住的時候,例如程式裡面其中一個主機名稱寫錯啟動失敗
剛好阿諾老師在看黃/蔡,兩人就拉開焦點,互相妨礙試誤學習
例如開啟YouTube看瑪莉貓 (evilsmirk) 真是損友
pande
附記收錄另外一個課堂上沒有碰到的範例程式
是「切換模式」的概念。也是兩個project

一個master,一個slave,控制顯示不同顏色
pande
master的部分,每按一次中鍵,就把變數X的值加1

變數X的值加到3就重設回0,其餘做不同動作
- 當變數X的值為0,傳送藍芽訊息abc,值為"R"
- 當變數X的值為1,傳送藍芽訊息abc,值為"Y"
- 當變數X的值為2,傳送藍芽訊息abc,值為"G"
pande
slave的部分,依據接受到的藍芽訊息abc,做不同動作
- 預設動作是不亮燈
- 如果值為"R",燈亮紅色
- 如果值為"Y",燈亮黃色
- 如果值為"G",燈亮綠色

同步在儀表板上顯示接收到的藍芽訊息abc的值("R"/"Y"/"G")
pande
也是一個結構簡單,但韻味十足的範例程式
對從小打電動長大的我們來說,這都是夢寐以求的實現呢
「模式切換」配合上面的「即時動作」兩個範例程式
其實就可以變出好多好多花樣了呢 (想像力騁馳中
載入新的回覆