國中小學生外部感應器初體驗:Arduino軟硬體選擇建議(舊版)
這篇是舊版,請直接看新版
http://blog.ilc.edu.tw/blog/blog/868/post/103153/634141
程式寫作如果結合外部感應器,可以達成簡單的自動控制功能,進一步讓學生創作一些作品改善生活或是增加樂趣,只要幾百元就可以開始體驗電腦程式控制外部感應器了。
Arduino 進入門檻低,即便你沒有電子電機相關科系的背景,也可以很容易學會使用 Arduino,因此只要具備基本電腦操作能力就可以學習。Arduino 是一張微控制器板子 (microcontroller board),約一個手掌大:使用者可以在 Arduino 板子上接上各種電子裝置,例如 LED 燈、喇叭、馬達、開關、溫濕度感測器、紅外線發射與接收器、LCD 顯示裝置,以及 Ethernet, WiFi, XBee, Bluetooth, RFID, GPS 等各種通訊模組。若再配合撰寫一些自動控制的程式,就能利用 Arduino 做出各式各樣的自動控制應用,例如利用溫度感測器控制風扇的運轉、使用可變電阻控制燈光的明暗、控制馬達的轉速、利用紅外線遙控家電/ 利用伺服機 (Servo) 控制機械手臂或機器人,以及製作自走車、飛行器等等。(資料來源:Cooper Maa 教學網 )(註1)
————————————————
A.程式選擇:
搭配Arduino控制板的[程式]有很多,對於國中小學生(初學者)來說常見的大概就是圖形介面的[S4A]、[mBlock]、[Webduino Blockly]和[S2A],還有[Transformer轉譯器]。(註2)
初級班建議選擇(Scratch 2.0 + WFduino)或mBlock,chromebook可以選WFduino
S4A:
Scratch For Arduino(將sratch改寫來控制arduino)
寫作介面類似Scaratch1.4
優點:發展很久、程式穩定,有一些搭配特定功能的開發板。
缺點:安裝程式對初學者有些困難,限定了一些Arduino連接埠的功能,無法將程式上傳到Arduino板,因此必須連接USB線使用(可以用藍芽、wifi設定有些複雜)。
S2A:
Scratch2.0 to Arduino(將sratch2.0改寫增加arduino擴充積木指令)
寫作介面類似Scaratch2.0
優點:使用MIT原廠sratch2.0,程式穩定,有一些搭配特定功能的開發板。
缺點:安裝程式對初學者有些困難,無法將程式上傳到Arduino板,因此必須連接USB線使用(可以用藍芽、wifi設定有些複雜)。
mBlock:
大陸深圳市創客工場科技有限公司基於開源Scaratch2.0研發出來的免費程式,除了搭配該公司的零件,也可以選擇一般市售的Arduino控制板使用。
寫作介面類似Scaratch2.0
優點:安裝簡單,一鍵完成,程式寫完之後,還可以轉換成Arduino程式語言直接上傳到Arduino控制板,離線執行程式。
缺點:程式不夠穩定。
Webduino Blockly:
台灣慶奇科技公司寫的使用瀏覽器就能控制Arduino的程式,只要在Arduino板上加一片[Webduino Fly (雲端擴充板 )],就可以雲端無線控制了。
寫作介面為網頁Blockly式
優點:支援電腦、平板、手機各式平台,不受作業系統限制(唯一支援chromebook),不須特別安裝程式(韌體除外),可以USB連線和wifi無線使用。機動方便,線上寫程式,不受機器限制,只要有網路連線就可以寫程式。可以遠端控制arduino板。可以同時控制多片Arduino板子。
缺點:需要連接公司伺服器(也可以自行架設伺服器),無線連接時需要wifi環境(USB連線只要能上網即可)
Scratch 2.0 + Transformer:
Transformer是台灣宇宙機器人 kodorobot 團隊寫的轉譯程式,可以將Scratch 2.0 的指令轉譯成Arduino的程式執行。
寫作介面為Scaratch2.0
優點:使用學生孰悉的Scratch 2.0介面,因為完全尊重MIT Scratch 2.0 原創,所以可以直接繼承隨時更新的改版。可以使用網路線上版scratch2.0操控arduino,網路存取超方便的,只要有網路隨時可以修改程式。可以在一個程式中同時控制多片Arduino板子。
缺點:需要付費(價格便宜),目前開放windows版,其他版本還在發展中。
————————
B.外部感應器選擇:
國中小學生初級班只做簡單的練習,建議選擇Arduino Uno(註3)。
市面上相容性板子很多,網路購物就可以買到,原廠較貴大約1000元,仿製的大約200~300元,大陸改良板大約110~180元左右。
主要差別在:大陸改良板用的USB連接晶片不同,使用時要另外安裝CH340系列的驅動程式(上網搜尋[CH341SER.EXE]安裝)。
1.標準(仿製)板:S4A、mBlock、Webduino Blockly、Scratch 2.0 + Transformer完全支援
2.大陸改良板:S4A須加裝USB驅動程式,mBlock已經內含USB驅動程式,Webduino Blockly無線環境不需要裝驅動程式(USB連線不支援)
建議選擇標準(仿製)的Arduino Uno控制板
標準(仿製)的Arduino Uno控制板
大陸改良板
————————————
C.初級班基本課程搭配零件
USB連接線(TYPE A to B)一條,一邊扁頭,一邊方頭。線稍微長一點,方便學生操作。
RGB三色LED一顆
(線性尺度式:電阻值的變化與旋轉角度或移動距離呈線性關係,此種電位器稱為 B 型電位器)
——————
Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771
為什麼要推Arduino初級班課程為正式課程?
A:
1.程式寫作如果結合外部感應器,可以達成簡單的自動控制功能,進一步讓學生創作一些作品改善生活或是增加樂趣。課程內容適合小孩或初學者,完成初級班課程後,發揮創意再加上市面上的各種感應器,就可以創造各種有用、有趣的作品,讓資訊課不再只是[電腦課]。
2.教育機會均等:適合國小六年級以上學生,全年級都上一個學期課的型態,讓全校學生都能接受基礎的Maker資訊課,讓家裡沒有電腦、沒錢上社團、科學班的學生享有平等的受教權。
3.本系列課程使用Arduino Uno控制板搭配mBlock程式來教學,材料便宜(初級班基本材料費每校只要幾千元),程式安裝簡便,學生學習容易(簡單的電子零件,搭配積木式拖拉來完成程式寫作),有完整的教材教案提供老師教學(老師只要依照課程示範,學生創意無限)。
PS:mBlock程式有些bug,比較適合初級班,進階課程建議改用其他程式。
——————————–
註1:
Arduino UNO控制板是架構在一塊單晶片上,並不像電腦有大型的記憶體可供使用,Atmega328的記憶體並不大只有2kbyte的SRAM,所以太複雜的系統其實並不適合使用。
國中小學生學習使用圖形介面程式練習設計控制感測器,只是希望讓學生學習邏輯思考及基本的電路、電子學概念,引起學生對maker的興趣,因此不需要太高級的硬體需求。
註2:
arduino板原來接受的是如下圖的Arduino Software IDE程式,這種文字式的寫法對中小學生(初學者)來說太難了,可能為了某個指令少打一個字就無法成功。
因此利用圖形介面的積木式拖拉來完成程式寫作,減少困難度,讓初學者可以容易的操控arduino。
學生利用這些圖形介面的[程式語言]完成程式後,需要透過[轉譯]的動作,將積木程式轉譯成Arduino Software IDE程式才能執行,這個轉譯的過程如果出差錯,執行結果就不如預期。
目前看起來mBlock和Webduino Blockly似乎都有一些轉譯不夠準確的問題。
註3:
購買Arduino或Raspberry Pi?
摘自:http://www.makezine.com.tw/make2599131456/arduinoraspberry-pi
兩者之間的區別是什麼?
Arduino是微控制板。微控制板是一種簡單的電腦,一次只能重複執行一個程式。使用方法非常簡單。
Raspberry Pi是萬用電腦。通常採用Linux作業系統,能夠同時執行好幾個程式。這可以執行比Arduino還複雜的工作。
該用哪個才好?
Arduino適合做簡單重複的工作。像是開關車庫門、測量外界氣溫再用推特報告,或是驅動構造簡單的機器人。
Raspberry Pi適合在需要功能完善的電腦時使用。包括操控構造複雜的機器人、同時進行多項工作,以及進行複雜的運算。
註4:
從OS支援度看Maker開發板的四個層次
http://makerpro.cc/2016/04/4-levels-of-maker-development-boards/
———————————-
相關連結:
國中小學生外部感應器初體驗:Arduino軟硬體選擇建議
http://blog.ilc.edu.tw/blog/blog/868/post/93477/626724
USB連線使用Webduino Blockly
http://blog.ilc.edu.tw/blog/blog/868/post/93477/625816
Arduino初級班課程目錄(使用mblock程式)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771
mblock程式可能會發生的問題
http://blog.ilc.edu.tw/blog/blog/868/post/93477/626547
Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681
Transformer使用介紹影片
https://www.youtube.com/watch?v=u6Y_QQ3W7q4&feature=youtu.be