顯示具有 類比 標籤的文章。 顯示所有文章
顯示具有 類比 標籤的文章。 顯示所有文章

2016年3月27日 星期日

兒童程式教育暨開源硬體線上課程 (使用S4A+Arduino)

兒童程式教育暨開源硬體線上課程  (使用S4A+Arduino)

本課程 S4A 版版權屬花蓮縣政府所有,105年9月後亦置放於均一平台

Scratch2+Transformer 版版權屬本人所有,影片放置於本BLOG,歡迎非商業使用。

本課程會陸續修正中,預計105年9月前完成S4A版前六章,歡迎各界對教材提供建議。

硬體將由花蓮縣網、佛光大學、S4A社群、花工...等相關單位協助贊助公益推廣活動,預計105年7月後放置200套於均一平台提供學校教學借用,另300套由花蓮縣提供本縣兒童程式與開放硬體學習之學校的基礎建設專案申請;若貴校無相關器材,可向均一平台申請借用,或自行至市面或網路上購買。

Transformer中介軟體部分若有需求請自行下載。[下載安裝影片][下載位置]

※均一平台以標準S4A課程為主,本部落格以S2A加S4A學習板為主

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

第一章  課前準備

第一節  基礎課程參考零件清單與說明 

(以上這些設備可自均一平台借用,或坊間自行採購,或直接使用慧手科技新研發的S4A感測器學習板V2)
  • Arduino UNO主板,原廠或相容板皆可。(影片)
  • 感測器擴充板,方便感測器模組外接。(影片)
  • 各式輸入感測器模組:按鈕、微動開關、光線偵測、聲音偵測、紅外線循跡、紅外線接收、搖桿、旋轉電阻、滑動電阻、溫度。(影片)
  • 各式輸出元件:各色LED、RGB_LED、紅外線發射、蜂鳴器。(影片)
第二節  玩Arduino需要的電學知識 

(以下的知識,基本部分國小四年級自然課應該就學過大部分)

  • 基本:什麼是電、直流電與交流電。(影片)
  • 基本:什麼是迴路、通路與短路、正極與負極。(影片)
  • 基本:電壓、電流與電阻的關係。(影片)
  • 進階:Arduino模組的使用通則,共陽與共陰極模組差別。(影片)
  • 進階:模組接線注意事項與色彩管理。(影片)
  • 進階:什麼是數位與類比、數位模擬類比、PWM又是甚麼?(影片)

第三節  環境準備

(國小或初次學習,建議老師先將環境安裝妥當,安裝部分僅需要一次即可,除非換了板子、韌體、電腦等依需要再重新安裝,或改採Transformer 無痛進入)
  • 標準方式:
    1. Arduino驅動程式與IDE環境安裝。(為了上傳韌體使用)。(影片)
    2. S4A韌體下載,並使用Ardino IDE上傳S4A韌體至Arduino主板。(為了讓Arduino與S4A軟體溝通使用)。(影片)
    3. S4A軟體下載與安裝、使用簡介。(影片)
  • 無痛方式(建議):
    1. 採用Transformer免費軟體,無需煩惱上述步驟。(影片)

第二章  基礎課程-數位輸出控制

第一節  開源硬體的Hello World!---控制單一LED數位輸出。(S4A版影片) (Transformer版影片)
第二節  交通規則要遵守---紅綠燈LED的時序控制。(S4A版影片) (Transformer版影片)
第三節  廣告大王---流水燈與霓虹燈控制。(S4A版影片) (Transformer版影片)
第四節  目眩神迷---RGB隨機混色燈。(S4A版影片) (Transformer版影片)
第五節  簡易教具或遊戲製作。(S4A版影片) (Transformer版影片)

第三章  基礎課程-PWM輸出控制

第一節  十成功力---單一LED的亮度控制。(S4A版影片) (Transformer版影片)
第二節  看見心跳的聲音---呼吸燈製作。(S4A版影片) (Transformer版影片)
第三節  看見聲音---用音量控制亮度。(S4A版影片) (Transformer版影片)
第四節  舞會調光器---手控RGB混色。(S4A版影片) (Transformer版影片)
第五節  簡易教具或遊戲製作。(S4A版影片) (Transformer版影片)

第四章  基礎課程-數位輸入控制

第一節  電鈴響了---按鈕與數位輸入、按鈕與類比輸入。(S4A版影片) (Transformer版影片)
第二節  按鈕計數器---利用按鈕按下與鬆開計數。(S4A版影片) (Transformer版影片)
第三節  簡易電子琴---利用組合鍵使用少數按鈕做多數輸入。(S4A版影片) (Transformer版影片)
第四節  超完美演奏會---任何情況都能順利演出。(S4A版影片) (Transformer版影片)
第五節  簡易教具或遊戲製作。(S4A版影片) (Transformer版影片)

第五章  基礎課程-類比輸入控制

第一節  警報響了---類比輸入當數位開關使用。(S4A版影片) (Transformer版影片)
第二節  吹奏小喇叭---利用分割區間彈出音階。(S4A版影片) (Transformer版影片)
第三節  噪音偵測儀---利用聲音感測做分貝計。(S4A版影片) (Transformer版影片)
第四節  經典1943---利用滑桿類比輸入與換算角色位置。(S4A版影片) (Transformer版影片)
第五節  簡易教具或遊戲製作。(S4A版影片) (Transformer版影片)

第六章  基礎課程-綜合運用與專案實作

第一節  運動我最愛---利用超音波計算運動量。(S4A版影片) (Transformer版影片)
第二節  貓咪大樂團---利用第二片Arduino擴充。(S4A版影片) (Transformer版影片)
第三節  經典射擊遊戲---混和輸入與輸出的控制。(S4A版影片) (Transformer版影片)

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

第七章  進階課程-馬達輸出控制

第一節  讓作品動起來---馬達總論
第二節  起重機---連續旋轉伺服機的運用
第三節  大型時鐘裝置藝術---舵機的運用
第四節  直流馬達的運用原理---使用L298N模組

第八章  進階課程-大電控制

第一節  智慧型家電開關---交流大電如何與系統隔離又能安全控制
第二節  Cool又Fuzzy的風扇---直流大電的功率控制

第九章  進階課程-藍芽無線控制

第一節  頻道相同才會通---藍芽鮑率的修改
第二節  無線也會通---藍芽的安裝與使用

第十章  進階課程-綜合運用與專題實作

第一節  大時鐘裝置藝術
第二節  遙控一台車
第三節  鉛管藝術高級檯燈

2015年5月13日 星期三

專題-S4A-燈光調色盤-PWM輸出與類比輸入的練習

專題-S4A-燈光調色盤-PWM輸出與類比輸入的練習


利用S4A偵測旋轉電位計或滑動電位計模組輸入,在RGB全彩LED模組上輸出想要的顏色。


教學目標:

1.         了解Arduino如何使用基礎類比輸入與類比輸出
2.         了解基礎電路運作原理
3.         了解RGB全彩LED與電位計模組使用方式
4.         能使用Scratch程式設定讀取類比輸入、PWM輸出至RGB全彩LED
5.         能使用Scratch程式做多媒體輸出與控制流程進行
6.         能運用上述學習天馬行空產生多元的創意
7.          能克服困難將創意展現製作出自己的作品

設計理念:

學習Arduino所需要的電路基礎常識,這些常識國小五年級其實就已經具備,這裡,我們運用簡單的模組(初步組裝即可)或電路(進階電路DIY),讓學生知道開放式硬體的電路部分其實很簡單,利用簡易的硬體加上千變萬化的程式設計,就能讓自己的創意無限延伸,創gk4ru4sxu3su04造出屬於自己的獨特作品,成為小小發明家。

主題架構:


材料:(本教案使用預設為粗體設備)


1.      Arduino開放式硬體,建議預先上傳好S4A韌體
2.      感測器擴充板,V4或V5均可使用,有擴充板接線比較簡單,無擴充板也能使用
3.      旋轉電位計(0~1023)、滑動電位計模組均可使用
4.      RGB全彩LED共陰模組(0-255),共陽極也行(數值要取255補數)。
5.    雙母頭杜邦彩虹排線

電路連接:


電位計模組電路連接說明:

電位計模組為類比輸入,因此其訊號輸出(OUT)要接到Arduino的A0~A5輸入端(本案例三個輸入接在A0、A1、A2),使用擴充板則接在A0~A5的S端,S代表信號的意思,連接腳位如下:
電位計1   Arduino
=======    ======
OUT  ←→ S(A0)
VCC  ←→ V
GND  ←→ G
電位計2   Arduino
=======    ======
OUT  ←→ S(A1)
VCC  ←→ V
GND  ←→ G
電位計3   Arduino
=======    ======
OUT  ←→ S(A2)
VCC  ←→ V
GND  ←→ G

RGB全彩LED連接電路說明:

RGB全彩LED模組有分共陽或共陰,接線和控制方法各有不同,本例以比較直覺之共陰極模組為主,除了“-”即為接地GND外,另三隻接腳分別為三原色的控制訊號,這次我們使用PWM控制,所以我們把它分別接至擴充板上的S5、S6、S9,也就是Arduino板上的D5、D6、D9,連接腳位如下:
   RGB模組     Arduino
   =======       =======
    - (GND)   ←→ G(GND)
    R(RED)   ←→ S5(D5)
    G(GREEN) ←→ S6(D6)
    B(BLUE)  ←→ S9(D9)

模組測試、程式撰寫與說明


電位計測試:

本專題將電位計輸入接在Arduino的A0、A1、A2類比輸入接腳,因此在S4A中請觀察sensor board上的Analog0、Analog1、Analog2欄位的值,當我們將連接在A0的電位計逆時針旋轉到最左邊時,Analog0的値為0,當順時針旋轉到最右邊時,Analog0的値為1023,任意旋轉時,Analog0的値為0~1023之間,同樣的方法測試另兩個電位計,會得到一樣的結果,Sensor Board的顯示如下圖。

因為電位計模組將0~5V切分成1024份以數位方式來模擬類比輸入,所以數值1相當於0.00488V的電壓,我們可以用一個小程式來轉換顯示目前的輸入電壓,程式如下圖:
  

我們可以寫一小段程式來轉換電位計類比輸入(0~1023),將它變成音階輸出(50~84),因此靠著轉動電位計我們可以達到不同的音樂音階輸出,範例如下。



RGB全彩LED測試:

本例中因為要使用PWM控制全彩LED,因此將R(紅色)、G(綠色)、B(藍)三隻接腳分別接在D5、D6、D9,每一支接腳單獨控制一個顏色,由於S4A的PWM輸出可以從0~255一共有256種變化,因此三隻接腳即可變化出全彩1677萬色(256*256*256),我們先來測試單一顏色,確認一下程式輸出與各接腳亮燈是否正常。
首先,拿出三個“analog 9 value 255 ”積木,將接腳全部改成5用來控制紅色,並將值分別改成255、128、0,然後分別雙擊點選積木,會發現模組紅燈全亮、半亮、不亮,因此可以知道“值”就是輸出的功力(PWM,脈波頻寬調變),可以控制燈的亮度。
   

測試完畢之後,記得點選“analog 5 value 0”積木,將紅燈關掉,以免測試其他顏色時混到色,接下來請以同樣方法依序測試綠燈(D6)和藍燈(D9),以確認你的三個顏色分別都能正常運作。

※如果你的顏色和接腳搭配錯誤,則以實際發生的情形來做設計即可,因為對岸製造的模組品質不一,有時接腳標示會錯誤,有時零件品質有問題某個燈不亮也是常有的事、還有線材接觸不良也會發生,可以交叉測試一下就會知道問題出在哪裡。

燈光調色盤程式製作

首先我們要將Analog 0旋轉電位計的輸入(0~1023)轉化成控制D5的PWM輸出範圍(0~255),因此要做一點簡單運算,於是將Analog 0的值除以1023再乘上255,然後因為PWM輸出訊號得用整數,因此再將結果四捨五入即可,將得到的結果放進點亮D5不斷地做PWM輸出,程式如下圖:

當我們按下綠旗執行後,只要旋轉A0上面的旋轉電位計,就能調整紅燈的亮度,同時為了能將亮度數值顯示在螢幕上,我們增加一個紅燈變數“紅燈R”

然後我們將剛剛運算的結果先放在這個變數中,然後再以這個變數輸出PWM,所以程式修改成下圖:

這時,再次旋轉A0上面的旋轉電位計,除了能調整紅燈的亮度,還能顯示紅燈R的亮度數值在螢幕上,如圖。

接下來產生“綠燈G”和“藍燈B”的變數,同時將整個程式複製成三份,分別修改第二隻程式使用變數“綠燈G”、“value of sensor Analog 1”、“analog 6 value 綠燈G”、以及第三隻程式改成使用變數“藍燈B”、“value of sensor Analog 2”、“analog 9 value藍燈B”,程式如下圖:



恭喜你,完成這樣就完成本次燈光調色盤專案,你可以參考網路上的RGB配色表,分別調整三個電位計所代表的三原色,自由調配出想要的顏色了!

教學影片



2015年5月4日 星期一

PICOBOARD感測器基礎用法

PICOBOARD感測器基礎用法

驅動程式在這裡

第二章 基礎篇 Scratchboard的能耐-認識Scratchboard上的5種感測器
◎學習目標:
2-1按鍵感測器的運用
2-2聲音感測器的運用
2-3光線感測器的運用
2-4滑桿感測器的運用
2-5電阻感測器的運用

◎課程實作
注意事項,在開始使用所有感測器之前,你應該將感測器板連接驅動完成,否則會造成SCRATCH程式抓不到偵測值而當掉。

2-1按鍵感測器的運用:


按鈕感測器位置
圖2-1-1



觀察按壓按鈕感測器後ScratchBoard監視器的變化,當按下按鈕時,顯示為True,按下按鈕時,顯示為false,如下圖
圖2-1-2



練習一,一般用法,設定小貓在按壓按鈕時變胖,我們利用「偵測器(按下按鈕)」、「如果否則」並包覆「重複執行」,讓電腦一直重複偵測是否有按下按鈕,如果有按下按鈕,就將魚眼特效設定為100,否則為0,程式(程式2-1A)如下
圖2-1-3


點選綠旗開始執行,執行結果如下
圖2-1-4


圖2-1-5


練習二,按壓按鈕瞬間動作,設定小貓在“按下按鈕瞬間”變胖,我們利用「如果」迴圈並包覆「重複執行」,讓電腦一直重複偵測是否有按下按鈕,當按鈕狀態由未按下的false→改變成按下的true時,就廣播變胖特效,在廣播程式中為了讓變胖特效被看見,因此使用了等待0.5秒,而使用廣播才不會將程式拖慢導致偵測出現空窗期,程式(2-1B)如下:
圖2-1B


練習三,放開按鈕瞬間動作
如果是要按鈕放掉時才產生動作,則只要修改顛倒將“偵測器按下按鈕”和“偵測器按下按鈕不成立”互換即可。
圖2-1C


2-2聲音感測器的運用


聲音感測器位置
圖2-2-1


觀察聲音感測器在ScratchBoard監視器的變化,你會發現在聲音的欄位,數字一直跳動,聲音感測值上下限在0-100之間,而聲音越大聲,數字就越大。
圖2-2-2


練習一,無段用法,我們將聲音的感測值直接放進鬼的特效設定中,因為鬼特效變化的範圍恰好也是0(存在)-100(隱形透明),因此不用額外做調整,並記得設定重複執行,同時為避免程式執行太快,人類眼睛無法捕捉變化,因此迴圈中增加一個0.1秒等待時間(非必要,視情況而定),讓聲音偵測及畫面顯示慢下來,程式如圖
圖2-2-3


點選綠旗執行後發現,聲音越大,小貓越透明,當聲音到達100時,小貓會消失
圖2-2-4


圖2-2-5


練習二,哨兵值用法,選定一個值,在大於、小於或等於此數值時產生動作。我們設定當聲音感測器的值大於50的時候,就讓小貓說請安靜點,小於50的時候,就說你們很乖,由於感測器值本身是一個橢圓形的數值積木,因此必須加上六角形的判斷積木才能放置在控制程式中做為判斷,同時別忘記要隨時判斷的程式,都要加上重複執行,如果怕變動太快,就要加上等待時間,程式如圖
圖2-2-6


點綠旗後執行結果如圖
圖2-2-7


圖2-2-8


練習三,多重範圍選擇,將聲音偵測的結果,切割成多個部分,範例中我們將聲音的偵測值分為三部分,如果在100~67,我們設定小貓的高度停在Y座標=100的位置,如果在66-34,我們設定小貓的高度停在Y座標=0的位置,如果在33-0,我們設定小貓的高度停在Y座標=-100的位置,如下圖
圖2-2-9


當點選綠旗執行時,聲音的數值一定會落在其中一個區間中,因此小貓的高度會在三個位置中變動,如圖
圖2-2-10



圖2-2-11


圖2-2-12


2-3光線感測器的運用


光線感測器位置
圖2-3-1


觀察光線的變化對比ScratchBoard監視器上光線偵測器的變化,當光線強時數字變大,當光線弱時,數字變小,可以使用手電筒或開關電燈測試,如下圖
圖2-3-2


練習一,設計一個會隨著光線無段變化的舞台背景
我們先點選舞台,並在背景選擇匯入一張圖片,並將舊的空白背景刪除。
圖2-3-3


撰寫舞台背景程式,使用外觀積木裡的亮度特效設定,將光線的偵測值置入,做為亮度的設定值,並設定重複執行,讓程式不斷偵測光線的亮度,然後調整舞台背景所呈現的亮度。程式如2-3-4
圖2-3-4


執行後你會發現,當光線亮度比較亮時,舞台畫面有些過亮過白,然後光線暗時,舞台背景還是很亮,如圖
圖2-3-5


圖2-3-6


我們必須做一點調整,讓光線的值所產生的舞台背景亮度比較適合現場的情況,因此我們使用運算積木,將光線的偵測值預先減掉50,再放進外觀的亮度設定中,如此一來現場的光線和舞台的亮度就會比較吻合了。程式如2-3-7
圖2-3-7


練習二,哨兵值用法,選定一個值,在大於、小於或等於此數值時觸發某個事件,本例中,我們讓光線大於80時,小貓會說早安,否則就閉嘴。所以我們使用如果否則來控制流程,並不斷的重複偵測。
圖2-3-8


當光線值大於80時,小貓會說早安
圖2-3-9


當光線值小於80時,小貓不說話
圖2-3-10


練習三,多重範圍選擇,將光線偵測的結果,切割成多個部分,按照光線偵測值的落點,範例中我們將光線的偵測值分為三部分,如果在100~67,我們設定小貓因為太陽太大,快被蒸發而求救,如果在66-34,我們設定小貓抱怨太陽太熱,如果在33-0,我們設定小貓最舒服自在
圖2-3-11


執行之後,光線很強時,小貓快要消失,且說要被蒸發了
圖2-3-12

執行之後,光線中等時,小貓消失一半,抱怨太陽太大
圖2-3-13


執行之後,光線很暗時,小貓最舒適
圖2-3-14


2-4滑桿感測器的運用


滑桿感測器的位置
圖2-4-1


觀察移動滑桿時ScratchBoard監視器上滑桿偵測器的數字變化,數字會從0-100變化
練習一,無段用法,我們來做一個塔防遊戲的炮台,讓滑桿可以控制炮口轉動的方向。
首先,新增一個巫師角色,並設定其造型中心在背部與魔術棒同一高度的位置, 以利巫師轉向時看起來比較自然,並將巫師位置置放於左側中間,我們假定巫師棒的位置向右。
圖2-4-2


設定外觀的『面向』積木,將滑桿偵測值置入,並設定重複執行,如程式2-4-3
圖2-4-3


因為滑桿的偵測值是0-100,與角色的轉向方位不同,因此我們要將偵測值做一點調整,我們先用100將它減去,目的是為了讓角色旋轉方向反轉,並和滑桿移動方向配合,然後將結果乘上1.75倍,這是目測並調整出來的值,讓主角旋轉的角度控制在右方,0-180度位置。程式如2-4-4
圖2-4-4


點選綠旗後執行結果如下,當我們滑動滑桿時,巫師會拿著魔術棒在右邊180度的範圍內旋轉
圖2-4-5

圖2-4-6

圖2-4-7


2-5電阻感測器的運用

電阻感測器的位置
圖2-5-1

一共有四個電阻感測器可以任意使用,我們將鱷魚夾線連接在電阻感測器D的插孔,然後觀察ScratchBoard監視器上電阻感測器D的數字變化,你會發現當鱷魚夾分開時,D的數值停留在100
圖2-5-2


圖2-5-3


當鱷魚夾互碰時,D的數值則停留在0
圖2-5-4


圖2-5-5


有趣的是,鱷魚夾果中間接上含有水分,或是會導電的東西的話
例如把鱷魚夾夾在2B鉛筆畫的兩端
如圖2-5-6

你會發現電阻感應D的數字竟然會變化,本例D的值約95
如圖2-5-7


例如把鱷魚夾夾在檸檬皮的兩端
如圖2-5-8

你會發現電阻感應D的數字停留在約79
如圖2-5-9


把鱷魚夾夾在檸檬比較多水分的果肉而且靠近一點的話
如圖2-5-10

你會發現電阻感應D的數字變得更小,本例約為71
如圖2-5-11


如果把鱷魚夾夾在水杯的兩端
如圖2-5-12


你會發現電阻感應D的數字停留在約71
如圖2-5-13

如果把水杯擠些檸檬汁下去,把檸檬也丟進去
如圖2-5-14

你會發現電阻感應D的數字縮小到46
如圖2-5-15



是不是很有趣?你可以多多做一些嘗試,你會發現原來越會導電的東西,在這裡的數字越小,而越不會導電的東西,在這裡的數字越大,有沒有想起國小自然課物體的導電性實驗、還有水溶液酸鹼性導電的實驗呢?有沒有想到一些有趣的應用呢?人體其實也會導電的哦,你可以試試用兩隻手分別握住鱷魚夾兩端,你會發現數字跳動,而且如果雙手是潮濕的效果更明顯,所以手如果濕濕的,最好不要按電燈開關,以免容易觸電啦!