Tag Archives: 程式

[App Inventor+Microbit小專題 ] 按鈕控制畫面小球

作者/攝影  曾吉弘
時間  3小時
成本
難度  * * * *
材料表
  • 個人電腦
  • App Inventor開發環境
  • 支援BLE的Android手機
  • BBC Micro:bit開發板

本文要介紹如何透過BBC Micro:bit開發板上的按鈕來控制App Inventor畫面上的小球左右移動,碰到畫面邊緣還會在Micro:bit LED matrix 上顯示對應的字樣。

 

範例 aia檔下載請按我

 

藍牙配對

 

Micro:bit端設定:

  1. 同時按住Microbit 正面A、B按鍵,不要放掉
  2. 按住A、B鍵時,把背面的Reset 鍵按下後再放開。
  3. 這時應該可以看到 “PAIRING MODE!” 以跑馬燈方式出現在Microbit LED 螢幕上,若看到這訊息,便可以放開A、B鍵。
  4. PAIRING MODE! 結束後,會看到一個圖形出現在Microbit LED 螢幕上,不同的Microbit 出現的圖案也不同,這是Microbit 不同裝置獨特的”簽名” (Signature) 。

  1. 這時候的Microbit 已經準備好跟其他裝置配對,請看以下影片教學

 

 

 

Android手機端設定:

  1. 進入Android手機的設定–>藍牙
  2. 確認Micro:bit 已進入配對模式
  3. 當Micro:bit上的‘PAIRING MODE!’ 顯示完,搜尋(每隻Android手機這個選項的文字不一定相同,但意思差不多),應該會看到類似 micro:bit [XXXXX]的選項,其中XXXXX 會根據每片micro:bit而不同。點選該裝置來配對。

4.micro:bit 會出現向左的箭頭,然後Android裝置上會跳出畫面要求輸入配對PIN碼的視窗。

5.按住Micro:bit 的按鍵A ,這時microbit 會連續出現六個數字,這就是配對碼。

6.回到Android裝置上,輸入這六個數字。如果Microbit 出現[V],代表配對成功。如果是[X]代表沒成功,請再試一次

 

編寫程式

匯入BLE 與 micro:bit extension

 

請登入MIT App Inventor官方網站,建立新專案,在Designer頁面中點選Palette左下角的Extension,再點選”Import extension“與”URL:

  1. 貼入以下兩個 extension link:

 

2. 請加入 Microbit_LedMicrobit_Button這兩個Microbit元件。兩者的BluetoothDevice 屬性設為 “BluetoothLE1″。這步驟很容易忘記,別漏掉了

  1. 加入四個按鈕放入 horizontalArrangement元件中,分別用於掃描、停止掃描連線與斷線

 

  1. 新增Canvas畫布元件(寬高各為320像素,底色隨意),再放入一個Ball元件。完成後Designer頁面如下圖(可以不用一模一樣)

Blocks頁面

 

本範例的基本概念是按下Micro:bit板子上的兩個按鈕可以控制小球左右移動,碰到Canvas邊緣會在LED矩陣上顯示對應的文字。開始吧:

STEP1: BLE連線成功後啟動Clockl元件

在BluetoothLE1.Connected事件中,首先啟動Clock.Timer(timer Interval 設為100),並顯示相關訊息,最後要求Micro:bit開始更新兩個按鈕的狀態。

STEP2:按下Micro:bit左側A按鈕

Microbit_Button1.ButtonAStateReceived事件中:

○如果按下了左側的A按鈕(Button_State_Value為true),則讓ball_X 變數值累減10。

○讓Ball1元件移動到(ball_X, 100),也就是左移10像素。

STEP3:按下Micro:bit右側B按鈕

現在看到右側的B按鈕,所做的事情幾乎一模一樣但是Ball1元件的移動方向是相反的。

Microbit_Button1.ButtonBStateReceived事件:

○如果按下了右側的B按鈕(Button_State_Value為true),則讓ball_X 變數值累加10。

○讓Ball1元件移動到(ball_X, 100),也就是右移10像素。

STEP4 Ball reached canvas’ edge

當小球碰到Canvas畫面四邊時,我們希望在Micro:bit的LED矩陣上顯示對應的文字。

Ball1.EdgeReached事件中,使用 if / else if 來檢查到底碰到了哪一邊,根據App Inventor的文件,1是北方,所以要透過Microbit_Led1.WriteLEDText指令來顯示’N’。其餘類推,請看下圖:

完工了!來試試看吧。請確認您的Micro:bit與Android已經配對好了。按下Microbit板子上的按鈕應該讓畫面上的小球左右移動,試試看讓小球去撞牆吧,看看有沒有顯示對應的文字。試試看用 Micro:bit LED 搭配 App Inventor 做出更多功能吧

 

 

相關文章:

[App Inventor+Microbit小專題 ] LED控制

作者/攝影  曾吉弘
時間  3小時
成本
難度  * * *
材料表
  • 個人電腦
  • App Inventor開發環境
  • 支援BLE的Android手機
  • BBC Micro:bit開發板

本文要介紹如何讓App Inventor 透過 BLE 來與最近非常熱門的BBC Micro:bit開發板互動。Micro:bit板子上已經具備了BLE藍牙通訊功能,搭配app Inventor寫好的micro:bit extesion,就能有更多互動的效果。本範例修改自 MIT App Inventor IoT網站之 Micro:bit範例

範例 aia檔下載請按我

藍牙配對

 

Micro:bit端設定:

  1. 同時按住Microbit 正面A、B按鍵,不要放掉
  2. 按住A、B鍵時,把背面的Reset 鍵按下後再放開。
  3. 這時應該可以看到 “PAIRING MODE!” 以跑馬燈方式出現在Microbit LED 螢幕上,若看到這訊息,便可以放開A、B鍵。
  4. PAIRING MODE! 結束後,會看到一個圖形出現在Microbit LED 螢幕上,不同的Microbit 出現的圖案也不同,這是Microbit 不同裝置獨特的”簽名” (Signature) 。

  1. 這時候的Microbit 已經準備好跟其他裝置配對,請看以下影片教學

 

 

 

Android手機端設定:

1.進入Android手機的設定–>藍牙

2.確認Micro:bit 已進入配對模式

3.當Micro:bit上的‘PAIRING MODE!’ 顯示完,搜尋(每隻Android手機這個選項的文字不一定相同,但意思差不多),應該會看到類似 micro:bit [XXXXX]的選項,其中XXXXX 會根據每片micro:bit而不同。點選該裝置來配對。

4.micro:bit 會出現向左的箭頭,然後Android裝置上會跳出畫面要求輸入配對PIN碼的視窗。

5.按住Micro:bit 的按鍵A ,這時microbit 會連續出現六個數字,這就是配對碼。

6.回到Android裝置上,輸入這六個數字。如果Microbit 出現[V],代表配對成功。如果是[X]代表沒成功,請再試一次

編寫程式來控制Micro:bit LED matrix

匯入BLE 與 micro:bit extension

 

請登入MIT App Inventor官方網站,建立新專案,在Designer葉面中點選Palette左下角的Extension,再點選”Import extension“與”URL:

  1. 貼入以下兩個 extension link:

 

2. 請加入 Microbit_Led 這個元件,這是一個非可視元件。並把它的 BluetoothDevice 屬性設為 “BluetoothLE1″。這步驟很容易忘記,別漏掉了

  1. 加入四個按鈕放入 horizontalArrangement元件中,分別用於掃描、停止掃描連線與斷線
  2. 加入一個說明訊息用的 label
  3. 加入一個 ListVeiw,當掃描到鄰近的BLE裝置時會顯示在這裡
  4. 新增一個 TextBox,在此輸入我們希望 micro:bit呈現的英文字(中文不行喔)
  5. 新增兩個按鈕,一個是 [Write to LED] 把 Textbox 內容丟給 micro:bit ,一個是[DrawSmiley],讓 Micro:bit 呈現我們所指定的點陣圖案。

Blocks頁面

  1. 掃描與連線

  1. 畫笑臉副程式

在此用一個副程式 DrawSmiley 來代表,我們會用一個 5 x 5 的數字陣列發給 Micro:bit,就能藉此顯示我們想要的圖形。

在此用到的是 Microbit_Led1.WriteLEDMatrixState指令搭配 binary to base 10 指令組合起來的 0101 陣列,1代表 LED亮起,0則是熄滅。仔細看看,這樣就是一個笑臉呢

0 1 0 1 0

0 1 0 1 0

0 0 0 0 0

1 0 0 0 1

0 1 1 1 0

  1. 發送Textbox內容到 Micro:bit

沒錯,就這麼簡單,直接把 Textbox內容透過 Microbit_Led1.WriteLEDText指令發送出去就好,但不能打中文喔

斷線

斷線時會呼叫 bluetoothLE元件來中斷藍牙連線,確認斷線之後則顯示相關訊息。

完工了!來試試看吧。請確認您的Micro:bit與Android已經配對好了。按下按鈕應該可以看到您在 Textbox 中輸入的文字(中文不行喔)以跑馬燈的形式出現在micro:bit 的 LED matrix 上。按下 smilley 按鈕應該也能看到笑臉圖案, 試試看用 Micro:bit LED 搭配 App Inventor 做出更多功能吧

 

相關文章:

 

完成如下圖:

[積木也能控制機械車] 來自淡江電機實驗室-兒童無電腦程式邏輯訓練營

放寒假期間,家中的小朋友都去哪裡玩呢? 擔心小孩整天沉溺在電腦及平板上嗎?這次CAVEDU教育團隊邀請了淡江大學電機系同學針對兒童所設計出的「無電腦程式邏輯課程」進行教學。

本次課程分成兩大部分,第一部份是機械結構訓練,第二部分則是程式邏輯及方向感認識,有了對課程的基礎認識,就讓我們一起來看課程的各項細節吧!

作者/攝影 趙偉伶
課程時間  2017 2/11
課程講師 淡江電機實驗室
課程場地  機器人王國B1教室

本次課程我們聚集了中班到小學四年級的小朋友們來參加,在教學的過程中發現小學以上的小孩較為適合本次的課程。

第一部份、機械結構訓練

我們透過組裝樂高積木,來訓練小孩子認識機械結構的能力

而今天我們要教孩子們組裝的就是這台機械手臂車

可以大致上看出他對稱的機械結構,而本次課程會教小孩半邊的結構再進而讓他們嘗試自己組出另一半的結構

老師們跟小朋友都很認真在組裝機械車呢?!

這麼多零件,要拿哪一個呢?!

老師:我這麼認真教,有沒有再聽??

學生:有歐~~~

大約小學二年級以上的學生,老師教一次就能稍微地融會貫通並自己開始組裝

但像中班的學生,就需要老師在一旁指導哪些零件要怎麼裝

經過一番奮鬥,小孩們都把零件組裝完成囉!

好累阿~終於組裝完成了

而接著經過一個午休就開始進行第二部分

 

第二部分、程式邏輯及方向感訓練

休息一陣後,就開始教小孩們如何使用程式積木了

首先先簡單介紹一下三樣控制機械車的要件:

 1.邏輯板

按下邏輯板的綠燈為「執行程式」,紅燈為「停止程式」

2.方向積木

將方向積木放邏輯板(圖七)的格子中,就能夠產生指令給車子,是用來操縱車子方向及觸碰感測器很重要的元素之一。

3.闖關圖紙

闖關圖紙的設計是希望透過不一樣的關卡讓孩子們試著使用邏輯板(圖七)及方向積木(圖八)來進行闖關及破解任務。

看孩子們認真用邏輯板讓車子移動到想要到達的地方,除了可以訓練程式邏輯之外,還能夠訓練孩子們的方向感。

在課程的過程中,有時會看到孩子因左右分不清楚而感到挫敗,但老師們也不斷激勵孩子們思考解決錯誤及邏輯重組,透過這樣子的過程讓他們能從錯誤中學習,從另一層面來說,更是訓練他們面對失敗不斷努力的精神!

課程的設計上安排了許多不一樣的關卡,讓他們從闖關中學習,並由簡單到困難。

孩子們很積極並開心地參與其中,讓學習不再是書本上的事情,而是從體驗過程中刺激出更多可能性。

完成任務及闖關時,也讓孩子們有更多的成就感以及想要更深入了解課程的興趣。

闖關結束後,老師們安排了課後娛樂「用機械車畫畫」

將機械車綁上畫筆後,孩子們開始各顯本事囉!(操控的方式當然還是使用邏輯板跟方向積木)

最後小孩們畫出的圖片呈現出大藝術家的氣息呢!

課程一開始時,孩子們對於方向及程式邏輯思考都是不熟悉的,經過課程的訓練後大家都有進步,並且愛上了使用邏輯板控制機械車畫畫這件事呢!

最後孩子們還開心地一起來個大合照呢~~~~

 

 

相關文章: