宜蘭縣教育支援平台 會員登入 會員註冊 我的i教書

« 上一篇 | 下一篇 »

程式寫作如果結合外部感應器,可以達成簡單的自動控制功能,進一步讓學生創作一些作品改善生活或是增加樂趣,只要幾百元就可以開始體驗電腦程式控制外部感應器了。

硬體:Arduino Uno + 感測器(LED、電阻....)

軟體:Scratch2.0 +  WFduino

 

------------------------------------------------

A.程式選擇:

對於國中小學生(初學者)來說常見的大概就是圖形介面的[S4A]、[mBlock]、[Webduino Blockly]和[S2A]、[scratchX]還有[Transformer轉譯器]、[WFduino]。(註1)

初級班建議選擇(Scratch 2.0 + WFduino)或mBlock,chromebook可以選WFduino

PS:mBlock程式有些bug,比較適合初級班,進階課程建議改用其他程式。

 

WFduino

WFduino 專供 Scatch2 操作 Arduino 的轉譯程式,將Scratch 2.0 的指令轉譯成Arduino的程式執行。

寫作介面為Scaratch2.0

優點

  • 支援chromebook使用USB連線,設定簡單,使用方便,操作使用容易,可以和scratch2.0網路線上版或離線版接軌
  • 使用學生孰悉的Scratch 2.0介面,因為完全尊重MIT Scratch 2.0 原創,所以可以直接繼承隨時更新的改版。
  • 可以使用網路線上版scratch2.0操控arduino,網路存取超方便的,只要有網路隨時可以修改程式。不接arduino也可以直接使用擴充積木功能,讓scratch2如虎添翼,增加許多功能。
  • 免安裝版本可以放在隨身碟直接帶著使用,不用網路,不怕影響電腦系統效能。更新韌體超簡單,按下去,就等他更新完,然後開始使用。

 

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連線只要能上網即可)

 

Moto Blockly:

台灣慧手科技公司寫的使用瀏覽器就能控制Arduino的程式。

寫作介面為網頁Blockly式

優點:積木式程式,可以轉換為arduino IDE程式碼及XML碼,可以下載燒錄。

缺點:測試發展中。 

 

Scratch 2.0 + Transformer:

Transformer是台灣宇宙機器人 kodorobot 團隊寫的轉譯程式,可以將Scratch 2.0 的指令轉譯成Arduino的程式執行。

寫作介面為Scaratch2.0

優點:設定簡單,使用Scratch 介面,可以在一個程式中同時控制多片Arduino板子。

缺點:測試發展中。

 

ScratchX(for wf8266r)

寫作介面為類似Scaratch2.0

優點:網頁式,不受作業系統限制(支援chromebook),不須特別安裝程式(韌體除外),使用wifi無線,可以遠端無線操控。

缺點:網路傳輸,操控時有一點點延遲,scratch的指令不能太快(指令間要加[等待..秒])。

------------------------

B.外部感應器選擇1:一般電腦(windows)

國中小學生初級班只做簡單的練習,建議選擇Arduino Uno、或DiFi(註3)。

市面上相容性板子很多,網路購物就可以買到,原廠較貴大約1000元,仿製的大約200~300元,大陸改良板大約110~180元左右。

主要差別在:大陸改良板用的USB連接晶片不同,使用時要另外安裝CH340系列的驅動程式(上網搜尋[CH341SER.EXE]安裝)。

1.標準(仿製)板S4A、mBlock、Webduino Blockly、Scratch 2.0 + Transformer、WFduino完全支援

2.大陸改良板:好像除了Webduino Blockly使用USB連線時不支援,其他都可以支援

標準(仿製)的Arduino Uno控制板

大陸改良板

DiFi

是基於 ESP8266 晶片設計的實驗板和Arduino基本晶片不同。

優點以ESP8266系列wifi晶片為基礎,加上繼電器、光敏電阻、RGB LED、按鍵開關、紅外線感測器、蜂鳴器、DHT11溫濕度感測器等感測元件,可省去接線的困擾。

Nodemcu

是基於 ESP8266 晶片設計的實驗板和Arduino基本晶片不同。

 

優點:可以直接使用USB連線或無線操控,價格不貴。

B.外部感應器選擇2:(chromebook)

使用wifi連接:WF8266R、DiFi、Nodemcu、馬克 1 號、(Webduino Fly + Arduino UNO)

使用USB連線:Arduino Uno

 

WF8266R

是基於 ESP8266 晶片設計的實驗板和Arduino基本晶片不同。

優點:可以遠端無線操控,可以使用手機、平板的APP直接操控,也可以使用scratch2.0或scratchX操控,可以遠端新韌體,價格不貴,Chromebook也可以使用。

缺點:網路傳輸,操控時有一點點延遲,scratch的指令不能太快(指令間要加[等待..秒])。

馬克 1 號、(Webduino Fly + Arduino UNO)

以Arduino UNO+wifi晶片為主體,搭配Webduino Blockly來操控。

優點:可以使用手機、平板或各種電腦的網頁直接操控,無線遠端操控,也可以有線USB連接

缺點:價格稍貴

------------------------------------

C.初級班基本課程搭配零件

USB連接線(TYPE A to B)一條,一邊扁頭,一邊方頭。線稍微長一點,方便學生操作。

麵包板一片(選這種有整排的接地和正極比較方便)

LED(發光二極體)紅、黃、綠各4顆

RGB三色LED一顆

電阻:220歐姆5顆、1K歐姆2顆、10K歐姆2顆  

10K歐姆可變電阻一顆 ,這裡選用 B 型。

(線性尺度式:電阻值的變化與旋轉角度或移動距離呈線性關係,此種電位器稱為 B 型電位器)

按鍵開關一個  ,小學生建議用2腳的,比較不會接錯方向。

蜂鳴器一個

光敏電阻一顆

公對公杜邦線10條

------------------

為什麼要推Arduino初級班課程為正式課程?

A:

1.程式寫作如果結合外部感應器,可以達成簡單的自動控制功能,進一步讓學生創作一些作品改善生活或是增加樂趣。課程內容適合小孩或初學者,完成初級班課程後,發揮創意再加上市面上的各種感應器,就可以創造各種有用、有趣的作品,讓資訊課不再只是[電腦課]。

2.教育機會均等:適合國小六年級以上學生,全年級都上一個學期課的型態,讓全校學生都能接受基礎的Maker資訊課,讓家裡沒有電腦、沒錢上社團、科學班的學生享有平等的受教權。

3.本系列課程使用Arduino Uno控制板搭配scratch2.0程式來教學,材料便宜(初級班基本材料費每校只要幾千元),程式安裝簡便,學生學習容易(簡單的電子零件,搭配積木式拖拉來完成程式寫作),有完整的教材教案提供老師教學(老師只要依照課程示範,學生創意無限)。

--------------------------------

註1:

arduino板原來接受的是如下圖的Arduino Software IDE程式,這種文字式的寫法對中小學生(初學者)來說太難了,可能為了某個指令少打一個字就無法成功。

因此利用圖形介面的積木式拖拉來完成程式寫作,減少困難度,讓初學者可以容易的操控arduino。

學生利用這些圖形介面的[程式語言]完成程式後,需要透過[轉譯]的動作,將積木程式轉譯成Arduino Software IDE程式才能執行,這個轉譯的過程如果出差錯,執行結果就不如預期。

[S4A]、[S2A]、[scratchX]、[Transformer轉譯器]、[WFduino]都是以scratch為基礎,程式直接在電腦上執行完成後,再將執行結果傳送給arduino做動作。例如:要讓腳位13的LED一閃一閃,除了擴充積木指令,其他指令都是原來的scratch指令。當綠旗被點一下後,看到[腳位13輸出1],轉譯程式就將[腳位13輸出1]翻譯好傳給arduino(燈亮),然後[等待0.5秒],電腦程式再叫轉譯程式將[腳位13輸出0]翻譯好傳給arduino(燈滅)然後[等待0.5秒],[重複執行],不斷的在電腦裏執行,不停地轉譯傳給arduino訊號。

mBlock是自己改寫scratch2.0指令,所以程式執行會和MIT原廠scratch2.0有些差異。Webduino Blockly也是自己寫指令,還有很多相關的程式都是自己寫積木指令。

目前看起來mBlock和Webduino Blockly似乎都有一些指令不夠準確的問題。

改寫的優點就是可以自由發揮,mBlock還可以直接翻譯成arduino的程式語言直接燒錄到arduino裡面。但是缺點就是積木指令要寫得夠完整執行時才不會卡卡的,或是出錯。

以MIT原廠scratch為基礎的優點是程式經過原廠測試過,執行程序比較不會有問題,但是缺點就是程式無法燒進arduino。

註2:

購買Arduino或Raspberry Pi?

摘自:http://www.makezine.com.tw/make2599131456/arduinoraspberry-pi

兩者之間的區別是什麼?

Arduino是微控制板。微控制板是一種簡單的電腦,一次只能重複執行一個程式。使用方法非常簡單。

Raspberry Pi是萬用電腦。通常採用Linux作業系統,能夠同時執行好幾個程式。這可以執行比Arduino還複雜的工作。

該用哪個才好? 

Arduino適合做簡單重複的工作。像是開關車庫門、測量外界氣溫再用推特報告,或是驅動構造簡單的機器人。

Raspberry Pi適合在需要功能完善的電腦時使用。包括操控構造複雜的機器人、同時進行多項工作,以及進行複雜的運算。

註3:

Arduino UNO控制板是架構在一塊單晶片上,並不像電腦有大型的記憶體可供使用,Atmega328的記憶體並不大只有2kbyte的SRAM,所以太複雜的系統其實並不適合使用。

國中小學生學習使用圖形介面程式練習設計控制感測器,只是希望讓學生學習邏輯思考及基本的電路、電子學概念,引起學生對maker的興趣,因此不需要太高級的硬體需求。

DiFi 是一塊整合感測元件在板子上的學習板,可省去接線的困擾。

註4:

從OS支援度看Maker開發板的四個層次

http://makerpro.cc/2016/04/4-levels-of-maker-development-boards/

Arduino 硬體介紹

http://www.powenko.com/wordpress/?p=4167

Arduino 硬體外觀

http://www.powenko.com/wordpress/?p=4394

-------------------------------

初學者如果想要入門學外部感應器怎麼選?

個人建議:

初級班:

硬體:Arduino Uno    軟體:WFduino

wifi無線使用:硬體:WF8266R      軟體:ScratchX (可以和scratch接軌)

----------------------------------

-----------------------

相關連結:

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305




 
 
 
用LINE傳送