2015年8月7日 星期五

30_mBot電腦連線模式--馬達的使用

故事情節:

警車準備發動,追捕竊賊!

學習目標:

1.使用電腦鍵盤方向鍵控制馬達,讓警車前進!
2.學習使用(等待)積木塊!

注意事項:

切勿使用USB線連接,請改用其他無線連接方式! 
這是為了確保若正在使用USB線連接mBot,一旦執行程式時,mBot會往前。
若mBot掉落桌下或拉扯USB線,可能會造成mBot損壞!

使用(等待)積木塊,等待某事件確實發生才執行程式!

等待按鈕按下後,前進一秒,即刻停止,並發出聲響!

挑戰題:

請使用鍵盤的上下左右鍵操控你的mBot!

提示:

延伸活動:

相撲賽、推箱子比賽、足球賽...。


2015年8月6日 星期四

40_mBot電腦連線模式--光線感應器

故事情節:

當警車進入隧道時,由於隧道昏暗,為求安全起見。
警車將依光線的明暗調整其行駛速度,並增加警示燈亮度!

學習目標

1.學習使用光線感應器(光敏電阻)。
2.運用變數操控行駛速度及警示燈亮度。

光敏電阻的運用:

光敏電阻的原理是當光照射到光電導體上,由光照產生的光生載子在外加電場之作用下沿一定方向運動,在電路中產生電流,達到光電轉換之目的。
所以,光敏電阻在光線越暗時,電阻值會升高;光線較亮時,電阻值就會隨光源亮度下降。

首先,需要產生一個車速變數,車速值會依照光線的明暗來改變。
在程式區頁籤-->點選"資料和指令"-->點選"做一個變數"-->在變數名稱欄位輸入"speed"-->按下"確認"
按下"確認"鍵後,會產生四個新積木塊。
接下來,將變數speed的值設為光線感應器(光敏電阻)的值。
由於光線感應器(光敏電阻)的值實際測量大約介於20~1000之間,所以將其除以5以配合介於0~255馬達轉速。

將前進轉速值設定為speed變數值,如此光線的明暗將改變車子的前進速度,當警車進入昏暗的隧道時,就會減速前進。

挑戰題

請將警車的警示燈的亮度(因為mBot沒有車燈,所以用警示燈來練習),依照光線感應器(光敏電阻)的值來改變RGB LED燈的亮度,當值變小(光線變暗)則設定LED燈變更亮,反之亦然!

動動腦:

想一想,光線感應器(光敏電阻)在日常生活中有那些運用?

提示:

 路燈、窗簾、花舍照明、車燈......


延伸題:

利用光線感應器(光敏電阻)來改變水晶球的顏色,就可以玩水晶球算命的遊戲了!

2015年8月5日 星期三

50_mBot電腦連線模式--超音波感測器

故事情節

為避免操控警車時,造成人車傷亡事件產生。

學習目標:

1.學習使用超音波感測器。
2.學習條件判斷"如果...否則..."的使用時機。


超音波感測器:

超音波感測器是用來偵測與前面障礙物體距離的,
邊為發射端超音波,標示著T,發射20kMHz以上超音波
邊則為接收端超音波,標示著R,接收反射回來的超音波,
藉此量得與前方障礙的距離。


超音波感測器量測的範圍在3cm~400cm,量測角度為30度,所以超音波安裝時,切勿朝下!

超音波感測器在感測mBot與障礙物的距離後,使用條件判斷"如果"mBot距離障礙物太近,則強制轉彎或退後,"否則"就前進。



或是當偵測障礙物距離太近時,發出警訊聲。用以提醒操控者前方有障礙物請小心!



挑戰題:

如何設定距離障礙物越近,車速漸慢或警笛聲與警示燈變快?

提示:

1.超音波距離越小,車速越慢。


2.超音波距離越小,等待時間越短,則警笛聲與警示燈會變快。


動動腦:

如果警車正在一直前進中,請問偵測到的距離會比實際距離遠還是近?

2015年8月4日 星期二

60_mBot離線自走模式--巡線感應器的使用

故事情節:

接下來要讓竊賊的車能夠自己移動,也就是說要脫離跟電腦間的連線,車子將不再受到電腦有線或無線的控制。
所以,我們必須將程式存儲到車內,讓車子能透過感應器的感應後,自行判斷出其應該如何前進,透過程式的撰寫來達到智慧型自走車的功能!

學習目標

1.學習使用巡線感應器。
2.利用簡易的判斷,讓車子在黑線上移動
3.學會使用心智圖或程式流程圖。
4.將程式碼上傳到車子。

巡線感應器的運用:

mBot巡線感應器其實是灰度感應器,只能判斷黑色與白色,將判斷所得傳回4個值,分別為0、1、2、3。這4個數值代表著不同的偏移狀況!
0代表巡線感應器完全處在黑線上!


1代表巡線感應器右邊偏離黑線,未處於黑線上,此時巡線感應器右邊會亮燈提醒使用者!

2代表巡線感應器左邊偏離黑線,未處於黑線上,此時巡線感應器左邊會亮燈提醒使用者!

3代表巡線感應器完全離開黑線,偏離軌道了!此時巡線感應器兩邊會亮燈提醒使用者!


為了達到車子能沿著黑線走的效果,我們需要能讓車子識別黑線和白紙,在獲得訊號並得知前方的狀況時,如何進行小車行進狀態的調整呢?
0代表車子在黑線上,需繼續往前進。
1代表車子偏向右邊,須往左轉。
2代表車子偏向左邊,須往右轉。
3代表車子完全偏離黑線,但此時是該往哪邊轉呢?
該往左轉或該往右轉需要一個小技巧。就是判斷車子上一次的轉向,若上一次車子是向右轉而造成車子完全離開黑線就讓車子大左轉來修正車子行進方向。


我們來繪製屬個人的心智圖或程式流程圖吧!



依照流程圖,完成下列程式:


完成程式後,將程式上傳到arduino!


此時,mBlock程式視窗將開啟"arduino IDE"編輯模式,點"上傳到Arduino",等待上傳100%完成即可。
車子將不再受到電腦控制

在"arduino IDE"編輯模式下,下列類別的積木是不能使用的。
要回復一般編輯模式,請點選"編輯",點"Arduino mode",取消勾選狀態。


試著測試你的車子是否能順利沿線前進!

如果你的車子一直跑出線外,你應如何修正你的程式?是馬達轉速太快嗎?還是你的場地黑線太細了呢?

挑戰題

1.想一想,透過巡線感應器車子能在黑線上自行移動,可是當車子進入隧道後,車子該如何行進呢?你如何透過其他方式達成目的?
2.如果車子到了十字路,右邊有障礙物,你如何讓車子順利地避開障礙物,又能繼續往前行進呢?



延伸題:

除了使用巡線感應器外,試著搭配其他感應器,創作出屬於你的個人機器人!

提示:


動動腦:


日常生活中,你看過那些市售產品能夠自行執行人類賦予它的任務?

提示:


 iRobot吸塵器......


2015年4月24日 星期五

App Inventor 2 的伺服器架設



研究App Inventor 已經有一段時間了,

App Inventor 2幾乎已經全中文化了!

覺得可以導入App Inventor 2,在國小課後社團的教學上。


個人教學時,不是很願意讓孩子上網,原因是不希望孩子分心!

當然如果有需求時,我仍會讓孩子遙遊網路中~


由於App Inventor 2必須連結至MIT的伺服器上,才能線上教學與實作,讀了藏經閣內的App Inventor 2 的伺服器架設後,決定實作了一台App Inventor 2 Server 讓教學更容易!

但是這實作花了一個小時多才完成,而昨晚無意間發現了App Inventor 2 Ultimate

這根本就是無痛架設App Inventor 2 Server!

1.首先,到http://sourceforge.net/projects/ai2u/files/尋找適用的版本下載。

2.下載完成後,即可快速安裝!

3.安裝完成後,在網址列上輸入http://localhost:8888/即可使用。

4.如果需要更改IP或port,只需編輯C:\AI2U\startAI.bat即可!

這真的太簡單了~App Inventor 2太適合小學生來做專題研究!





2014年6月12日 星期四

猜數字

首先來個"猜數字"大小的遊戲

1.請孩子思考如何判斷出"輸入值"與"隨機值"的大小
2.接著開始請孩子設計一個猜數字的遊戲,
電腦會設定一個數字讓我們去猜,
如果猜錯了,會告訴我們猜得太大了或太小了。
3.玩一玩,想一想!怎樣才能用最少的次數去猜中電腦設定的數字呢?

而當孩子在玩一玩,想一想時他是如何嘗試用最少的次數去猜中電腦設定的數字的我們請孩子將他所使用的方法說出.經過歸類後這才是值得深入探討的但我們不急著說出其中的"演算法"
我們希望的是孩子培養思考-->解決問題-->分享成果-->歸類方法.在這一連串的過程中
思考分享傾聽模仿學習

接下來,是重頭戲.請孩子回家實作1A2B範例:

1.設計一個猜數字的遊戲,你和電腦分別選定一個四位數,各位數字不要重複。
2.遊戲開始, 由你先猜電腦所選定的四位數,電腦將回答你猜測的數字與電腦的數字是否相同,如果不同, 電腦也會以A、B來提供你參考, 
例如: 電腦的數字: 1234你猜的數字: 5283 結果為 AB表示你猜對了兩個數字,其中有一個字位置是對的, 另一個數字位置不對, 此例中,您猜對了 2 3 但是 3 的位置錯了,所以電腦給的提示為1A1B 其中, A 表示猜對一個數字且位置也對, B 表示猜對一個字但是位置不對。
3.另例:電腦的數字: 1234你猜的數字: 3261 結果為 1A2B電腦的數字: 1234你猜的數字: 8765 結果為 0A0B

這問題孩子可以在一周內完成!是不是該給他們掌聲呢?