Arduino

http://arduino.cc/

Arduino語法http://blog.sina.com.cn/s/blog_834a471801010t0r.html

 
 
Arduino Easy Module Shield V1

    

階段
主題單元名稱
單元內容
教學目標

 

電控零件的認識與應用
單晶片的認識與操作、Serial Monitor
  • 引導學生認識單晶片元件的特性及使用,了解單晶片微電腦結構、指令執行及輸入/輸出之基本知識。
  • 透過Serial Monitor搭起電腦和單晶片之間的橋樑,也讓使用者透過Serial Monitor接收單晶片的訊息。
LED、定時紅綠燈
  • 透過程式控制讓LED產生規律性的變化,藉以培養學生運算思維的邏輯概念。
蜂鳴器、美麗的音階
  • 讓學生理解蜂鳴器發聲的共振原理,並透過程式設計讓蜂鳴器產生音階,結合藝文領域培養學生藝術知能,提升藝術鑑賞能力,陶冶生活情趣。
搖桿與旋鈕、可變電阻的操作
  • 認識電壓與電流,明白在串聯電路中,可變電阻越大,電壓差越大,但電流不變。
超音波、倒車雷達警示
  • 認識超音波感測器是由超音波發射器、接收器和控制電路所組成。並且明白超音波從發射到返迴是兩段距離,因此在計算時必須將結果除以 2 才是正確的物體距離。聲音在空氣中的傳播速度大約是每秒 340 公尺,傳播速度會受溫度影響,溫度愈高,傳播速度愈快。
角度Servo與連續Servo
  • 認識伺服馬達基礎控制原理,並透過程式控制伺服馬達的轉動角度,整合電學、力學及控制資訊之基本知能,培養學生跨領域系統分析模擬與實作及創新之能力。
LCD、訊息的顯示
  • 認識文字型 LCD 顯示模組,透過程式控制讓顯示幕印出字元。讓使用者可以透過LCD與自動控制裝置產生互動。
光控感應
  • 讓學生認識電磁波之基本概念,並從紅外線發射器透過紅外線通訊技術發出特定編碼,由接收器接收,進行解碼並執行相關功能。
溫溼度感測與控制
  • 認識溫溼度兩用感測器,並結合先前學習過的相關組件,讓學生透過撰寫程式能結合濕度感測器、LED與蜂鳴器產生自動控制與反應。
積木與電控零件的結合
PWM七彩霓虹燈
  • 認識Pulse Width Modulation(PWM),是將類比訊號轉換為脈波的一種技術。生活中的變頻洗衣機就是一種應用。
EEPROM
  • 認識EEPROM是既可讀又可寫的一塊特殊的記憶體,跟RAM 不一樣,它的內容是永久保存的,寫入的資料,即使在電源關閉之後還是保存在 EEPROM 裏,下次電源重開的時候仍然可以把它讀出拿來使用。
    認識EEPROM 通常用來保存程式的設定值與結合在生活中的應用。
Servo與積木的結合、風車(Servo+鍊輪+鍊條)
  • 引導學生結合超音波感測器、伺服機、齒輪、鍊輪與鍊條的結合,製作出互動式風車。藉以了解齒輪的傳動原理,以及汽車變速箱結構的概念。
副程式的控制與應用
  • 引導學生透過副程式的學習,讓主體程式更智能運作,並了解主副程式之間的互動與呼叫關係,更透徹運用運算思維進行問題解決。
紅外線自走車
  • 運用紅外線通訊,控制車體行進。並了解遠端控制的操作原理。
循跡自走車
  • 藉由讓學生撰寫程式讓自走車自動控制兩個馬達循跡前進,培養學生運算思維的邏輯概念,並在實際測試中驗證理論與數據的可行性。
避障自走車
  • 引導學生撰寫程式讓自走車使用超音波感測器來偵測與障礙物之間的距離,讓自走車能行走在未知的環境中,以達成避障的目的。
 
成發
綜合發表與交流
  • 培養學生對學習態度和實作的熱情,透過發表活動促進學生資料收集、分析與整理的技能,以及條理分明、邏輯思維等報告發表能力。

 

適用年級: 
課程內容: 

 


 一、單晶片的認識與操作、Serial Monitor、LED    ________講義提供:陳亭竹老師       
                    (一)常用工具介紹
                           1.
認識單晶片                         2.線材介紹

                         

        

                              

                    (二) 下載與設定

                           1.下載Arduino。
                             
主程式免安裝檔https://www.dropbox.com/s/n63ffei57tc1a7f/arduino-1.0.5-r2-Repack.zip?dl...
                             
驅動程式要安裝https://www.dropbox.com/s/ 3krl1o6n2im7c4t/CH341SER_dccduino.zip?dl=0

                           2.設定控制板為Arduino UNO。●執行Arduino.exe檔案●工具(Tools)→(Board)→Arduino Uno 
                                       
                                     
                                       

                           3.找出Arduino板子被接到哪一個序列埠上。
                                       
●插入Arduino的USB線到電腦
                                       
我的電腦(按右鍵)→內容→裝置管理員→連接埠
                                       
確定COM___

                           4.設定序列埠為剛才裝置管理員查看到的編號(例如:COM4)。
                                       
Tools  →  Serial Port →  選擇C OM Port 

                    (三)連接LED燈
                          1. 
Arduino接線如下圖(LED長腳接在13為正極,短腳接在GND為負極)。
 


                           

                    (四) LED閃燈範例程式
                           1.
開啟閃燈範例程式。
                                       ●
點選檔案( File)→範例(Examples)→Basics→Blink
                           2.按下左上角的 

 Verify按鈕,進行編譯、驗證看看程式。
                           3. 沒問題後,按下     Upload按鈕進行上傳,從電腦把程式傳到Arduino板子裡。

                           ※

在傳輸的過程中,軟體開發環境的左下方狀態列會出現「Uploading...」,
                              而且板子上有兩個標示著TX、RX的LED會不停閃爍,表示正在傳輸中。
                             
若傳輸成功,軟體開發環境的左下方狀態列會出現「Done uploading.」
                             
傳輸成功後,你就可以到看板子上那顆小小的LED(標示著L、腳位13的旁邊)在閃爍。
       
       
             

                           4.測試Ardublock                                       ●工具(Tools)→ Ardublock                      
         

                             (五)進階挑戰                              1.試著由一秒閃一次改為閃爍頻率更高的程式。                         
              


二、定時紅綠燈、呼吸燈、調出特定顏色、七彩霓虹燈
              
(一)紅綠燈
          .
                                                                                                                 (三色RGB LED)

 

                            2.三色齊亮(接pin 9,10,11)

         

          3.如何完成紅綠燈 紅燈亮5秒,然後滅    黃燈閃爍5秒(黃燈→紅綠同時亮)    綠燈亮5秒,然後滅

  

                           

                   (二)呼吸燈                    (三)調出特定顏色1.參考小畫家R、G、B數據
         

                         

         

                   (四)七彩霓虹燈
          


 

三、蜂鳴器、美麗的音階
       
(一)蜂鳴器
             1. 聲音簡單的組成為兩項: 聲音的高低與聲音的大小。
                 
電子訊號怎麼控制聲音的這兩項組成,
                 
聲音的大小靠的是通過的電壓高低,至於控制高低音,靠的是控制頻率。
             2.
  接線圖
         

          (二)美麗的音階
              1.
音階音頻
          


             2.程式撰寫
         

四、搖桿與旋鈕、可變電阻的操作
                
(一)搖桿
                       
1.可變電阻簡介種類:圓形直線型搖桿          ●雙軸按鍵搖桿                       
                                             

                                 

  
                        特性:                       
                             兩路類比量輸出,一路數位量輸出;
                       
        十字搖桿為一個雙向的10K電阻器,隨著搖桿方向不同,X、Y軸的電阻值隨著變化。
                        
        向下按搖桿,可以觸動一個開關,為數位輸出。
                                      
                         2.搖桿接線圖      

                   

                   3. 類比電阻值程式撰寫
                   

                   4.改變電壓程式撰寫( 電壓5v/1024=0.0049V)
                    


 
          (二)搖桿控制燈
                    

五、超音波、倒車雷達警示

                     (一)超音波感測器  


                            由超音波發射器、接收器和控制電路所組成。
                           
當它被觸發的時候,會發射一連串40 kHz的聲波並且從離它最近的物體接收回音。
                            
超音波是人類耳朵無法聽見的聲音,因為它的頻率很高。
                     (二)接線圖    
將TRIG接pin8; ECHO接pin9。                                     
                              
                                                    
                           (三)程式撰寫                        1.確定連接埠(COM_)&上傳。   2.打開Serial Monitor ,測試distance(距離)的單位多少。                                        
         (四)倒車雷達                         
                       
        1.將蜂鳴器裝於pin7。                         
                       
         2. 
利用LED燈閃爍,顯示距離遠近。當距離越近,LED閃爍速度越快,距離越遠,閃爍速度越慢。
         
距離5公分以內,間隔0.5秒閃一下(0.5秒)   距離5~15公分,間隔1秒閃一下(0.5秒)。
         
距離15~30公分,間隔1.5秒閃一下(0.5秒)。距離30公分以上,停止閃爍。

                                                          
                           
                                              
                       (五)倒車雷達加蜂鳴器                         
      1.
將LED裝於pin6。                        
      2.距離5公分以內,間隔0.5秒閃一下(0.5秒)連續BB響。
距離5~15公分,間隔1秒閃一下(0.5秒)。
       
兩個長BB響距離15~30公分,間隔1.5秒閃一下(0.5秒)兩個短BB響。距離30公分以上,停止閃爍。
       

六、角度Servo 與連續Ser vo

                       (一)Servo伺服馬達
                          1.


                          2.硬體差異
                             一般的伺服馬達(舵機)裡面除了馬達與減速齒輪,另外帶有一個可變電阻,馬達旋轉時,
                            帶動可變電阻,用以計算旋轉的角度。
                           
以TowerPro SG90來說,除了有個5k ohm的可變電阻偵測旋轉角度,在連接搖臂的齒輪
                           下方多了二小塊突起,旋轉的角度因此被限制在180度以內。
知道它控制旋轉角度的機置,
                            前述的兩點限制如果解除了,就可以將原本只能旋轉180度的伺服馬達改成可連續旋轉,超過一圈。

                          3. 兩者程式意涵的差異
                             
                          (二) 角度Servo
                             
1.簡介
每個廠牌型號的伺服馬達可允許旋轉的角度各不相同,也就是說可接受的訊號脈衝範圍也不相同,
                                 
須查閱產品資料規格書,若超出範圍可能會損害伺服馬達。                             2. 角度Servo接線圖(接pin10)                           

                                    

3. 角度Servo校正● 轉至不能轉動為止   ● 通電    ● 插上軸柄,固定軸柄位置。   ●測試
                            
                  
                                            

                            


 
                            

                           (三) 連續Servo
                             
1. 簡介
                           

                                2.連續Servo接線圖 (接pin11)                                

        
                              3.連續servo校正                                                                          
                                 
                                
                               (四)搖桿控制servo    1.搖桿接線     ●接pinA0     ● GND→G ; 5V→V;jR→S                                
                                  

                                              
          (五)動動腦 •如何讓servo從20度開始依序轉到160度,再從160度轉到20度?      

七、LCD、訊息的顯示
                            (一)
I2C LCD簡介
                            標準LCD需要比較多的腳位,I2C LCD可以減少腳位的使用,而且接線也比較簡單。
                            這個I2C LCD的特性如下:  •16x2 LCD,藍底白字,有背光
                                                                             
•走I2C介面,設備地址為0x27
                                                                             
•可調整螢幕顯示對比
                                                                             
•5V供電,相容於Arduino
                            (二)
LCD應用
                             
顯示文字訊息、顯示圖形、配合超音波感應器顯示距離、配合溫溼度感應器顯示溫濕度、配合氣體偵測器
                             顯示氣體濃度......

                            (三)LCD接線圖 
                            


                             (四)顯示訊息( Hello , world ! )                             (五)訊息輪播
                              
                             

                              


八、光控感應
                 
(一)光敏電阻簡介   
                           
光敏電阻是對光敏感的元件,簡稱光電阻,又名光導管。它的電阻和光線的強弱有直接關係。
                           
光強度增加,則電阻減小;光強度減小,則電阻增大。電阻值改變範圍可從20MΩ變化至2KΩ
                           
輸出說明:            DO為數位(HI/LO)輸出;AO為類比輸出。                     
        (二)
光敏電阻應用                          
       1.攝影用的測光計2.火災及煙霧警報器  
3.防盜警報器4.工業上控制電路中  5.燈具的自動開關等
                                             
             
          (三)光敏電阻接線圖

                         


                    (四)顯示光敏電阻的值
                         
                  (五)啟閉LED燈
                         
                 (六)啟閉馬達開關窗簾

                     


                   (七)動動腦
                         1.光敏電阻控制Servo,以兩顆光敏電阻做一個簡單的光源追蹤系統。
                         
2.當發現左邊比較亮時 就控制伺服馬達旋轉到左邊。
                         
3.當發現右邊比較亮時,就控制伺服馬達旋轉到右邊。

九、溫溼度感應
                  (一)溫溼度感應器簡介  
                         DHT11是一款經過校準過且直接以數字訊號輸出的溫濕度感測器。
                         內含一個電阻式感濕元件和一個NTC測溫元件。
                         並與一個8bit單晶片相連接。
                         體積小、功耗低,
                         傳輸距離最遠可達20公尺以上。
                         測試範圍20-90% RH 0-50℃

                  (二)溫溼度感應應用
                        
1.依照濕度啟動除濕機     2.溫度高於24℃啟動電扇   3.環境監測  4.自然實驗
                 
                  (三)溫溼度感應接線圖
                       


                   (四)顯示溫溼度感應值
                     1.顯示Temp偵測的溫度於LCD的第一行。
                     
2.顯示Humi偵測的濕度於LCD的第二行。
                     
3.將兩個數值顯示於Serial Monitor
                 
                (五)啟閉LED燈
                1.設定變數Temp偵測溫度,當溫度大於24℃時,開啟LED燈並亮紅燈。
                
2.設定變數Humi偵測濕度,當濕度大於40%時,開啟LED燈並亮黃燈。

                (六)

啟閉馬達
                1.當溫度大於24℃時,開啟馬達。使用連續旋轉伺服機轉動葉片。
                2.
當濕度大於40%時,開啟馬達。使用連續旋轉伺服機轉動葉片。
                (七)動動腦
                 結合馬達、LED燈光、溫溼度感應器、LCD 、超音波……等感應器,設計一個實用功能的新創設備。

十、七段顯示器、副程式的控制與應用
           (一) 七段顯示器簡介
                 
七段顯示器是用來顯示數字的常用電子元件,如電子時鐘、溫度顯示器計數器、密碼鎖和各種儀表。https://www.youtube.com/watch?v=v7l4nZvSf_Q 
                  

                 背面一共有10支接腳。分成共陽極跟共陰極兩種。

                (二) 七段顯示器接線圖
                

        

              (三) 七段顯示器燈號對照表
                1. 共陽極七段顯示器 
                 


                2. 共陰極
           如果使用的是共陰極的七段顯示器,上面表格中所有的1都要換成0,所有的0都要換成1。

              (四)程式撰寫  
                  共陰極與共陽極七段顯示器寫法相反。

                  例如:數字6   ( 共陽極寫法)                                                                       數字6   ( 共陰極寫法)       
   

                    (五)副程式撰寫                                                           
     1.副函式撰寫_(共陽極寫法)               
PS副程式名稱不可以完全用數字。

               

     
                   (六)動動腦1.將其他數字也以副函式方式呈現。請參考提示(一)                              提示(一)                                                   

                 


                  2.利用七段顯示器設計一個倒數計時器。請參考提示(二)             
                    
(PS.記得要先清除前一個數字)                                                                                 提示(二)                   

                  


十一、GAS感應器
                 (一)GAS感應器簡介
                      •煙幕感應器:MQ2氣體感測器模組能檢測家庭或工業區域的氣體洩漏
                      
•檢測的氣體包括異丁烷,液化石油氣,甲烷,乙醇,氫氣,煙霧等。
                      
•感測器的回應速度快,便於實際的測量。
                      
•通過板上的電位器調整輸出精度
                      
•接線方式:VCC:接電源正極(5V)、GND:接電源負極、DO:TTL開關信號輸出、AO:模擬信號輸出

                 (二)GAS感應器接線
                     


                 (三) 動動腦
                       
GAS感應器將偵測值顯示在LCD上;當周遭環境發生異常時,LED紅燈閃爍警示,並讓蜂鳴器發出聲響。
                     
反之,綠燈恆亮安全指示。             

                  

                       


十二、聲音檢測

                 (一)聲音檢測模組簡介
                    ● 用於聲音大小、有無檢測。
                    ●
模組有2個輸出:AO,類比輸出,即時輸出麥克風的電壓信號。
                                                  
DO,當聲音強度到達某個閥值時,輸出高低電平信號。
                    ●
閥值-靈敏度可以通過電位器調節。

                 (二)聲音檢測模組應用
                    1.分析周遭環境的音量大小   2.聲控啟動3.  https://www.youtube.com/watch?v=cXtrpDg20Hk   ……

                 (三) 聲音檢測模組接線
                       


                 (四)
                 (五)動動腦
                     1.聲音檢測模組分析周遭環境分貝值,當分貝值超過70分貝時,亮紅燈;反之,亮綠燈。
                     
2.使用PWM依照聲音的大小改變LED的亮度。
                        ●提示
                       

自動控制系統











一、

1.LED閃爍+2顆LED交互閃爍。

2.透過Easy Module Shield讓RGB三色LED輪流閃爍。

3.超音波偵測距離

4.超音波偵測距離顯示在Serial Monitor

5.超音波+LED,偵測距離越短閃爍越快。

6. Easy Module Shield 按鈕狀態的監測。

7. Easy Module Shield按鈕和LED的搭配。

8.光敏電阻和LED的搭配。

 

二、

1.運用蜂鳴器。

2.查詢音頻,編成歌曲。(中音Do(523Hz), Re (587Hz), Mi(659Hz),Fa(698Hz), So(784Hz), La(880Hz), Si(988Hz))

3.讀取Easy Module Shield上旋鈕(可變電阻)的值。

4.透過Easy Module Shield上的旋鈕改變音頻的高低。

5.按鈕按下才有音頻,旋鈕亦能同時控制音頻高低,按鈕放開音頻就結束。

6.透過光敏控制音頻高低。

7.DHT11溫溼度兩用感測器的應用。(濕度超過設定值,蜂鳴器及LED作動)

按鈕按下,顯示溫度。

 

三、

1.將音階寫成副程式,進行編曲。

2.結合超音波、LED和蜂鳴器。

3.當距離越近,LED閃爍與蜂鳴器聲響越急促。

4.for迴圈的應用

5.重複執行N次

四、

連續Servo,由超音波測距偵測前方距離,小於20cm順轉,大於20cm逆轉。

 

五、

LCD的介紹與實作。特別強調1602(IIC)的意思,以及Lcd Clear。

顯示溫度(濕度)在LCD上
 

    

 

顯示感測器的值在LCD上

 

六、

1.伺服機(SG90)的認識與控制。

2.repeat between指令的認識。

3.利用可變電阻(旋鈕)控制舵機。

4.map運用函數的概念將變數vr的值0~1023轉換成30~160輸出到angle。

 

透過repeat between讓LED輪流亮滅

 

七、

scoop程式多工運行

八、

serial輸入控制arduino

 

九. IR

1.擷取遙控器的內碼

 

2.透過對應內碼來設定動作

 

十、PWM控制LED(七彩燈)

 

http://www.wahart.com.hk/rgb.htm RGB配色表

1.讀取A0再透過PWM控制LED(D9)

 

2. 讀取A0,1,3再透過PWM控制LED(D9,10,11)

 

3.透過按鈕和可變電阻來調色

    

4.直接用板載上2顆按鈕和1顆可變電阻旋鈕來調色


十一、EEPROM

 

1.將溫溼度寫入EEPROM

 

2. 透過EEPROM記錄今日最高濕度

 
十二、搖桿與LED
 
 

麵包板與擴充板

     

 


車體篇

一、車體行進

1.變數控制

2.透過delay讓車體行走固定距離

3.透過副程式控制車體左轉與右轉

二、避障

1.超音波感測前方15 公分有障礙物,向左轉90 度,繼續前進。

2.大於20CM,前進。小於15CM,後退。

3.沿黑線走,20CM內有障礙,停下來,反之則繼續沿黑線走。

 

三、循跡

1.往前走遇到黑線停下來。

 

2.副程式的應用(STOP、F、R、L)

3.往前走遇到第三條黑線才停。(沒有沿著黑線)

 

4.沿著黑線走(三顆LIGHT)

 

 


 

授課教師: