02 從燈開始
(2020/01/09)
一、使用Sensor Shield for Arduino V5.0 感測器擴充板
將Arduino UNO板與Sensor Shield for Arduino V5.0 擴展板結合
結合後,常用腳位介紹:
註:SVG一組腳位通常用來接一個感應器或元件:S接到感應器的訊號腳位上,為傳遞腳位訊號用;V本身有5V的電;G為接地。所以V、G兩腳就像具有5V的電池一樣,用來提供感應器或元件的電源。一般V接到感應器的VCC端(或+極)(通常用紅色杜邦線)、G接到感應器的GND端(或- 極)(通常用黑色杜邦線)。
二、點亮一顆燈
將一顆LED燈與Arduino板連接
(LED為發光二極體,長腳為正極、短腳為負極)
註:所有的數位腳位都可以用來接LED燈(通常比較不會用腳位0及腳位1),如果數位腳位不足,也可以用類比腳位來當數位腳位!(A0就相當於D14)
準備一塊多功能擴展板
註:1、接LED燈時,只要接二支腳(S、G)就可以了
2、多功能擴展板說明 (宇宙機器人代理)
程式部份:LED燈會每隔1秒鐘一亮一滅
三、點亮多顆燈或一顆三色LED燈
分別準備3顆不同顏色的LED燈,接到D8、D9、D10這3個腳位
程式部份:先亮第1顆燈、1秒後亮第2顆燈,再1秒後亮第3顆燈,以此類堆
同理,也可以在這3個腳位接上一顆共陰的三色LED燈,同樣用上面的程式來讓一次亮一種顏色(RGB)
四、利用按鍵點燈
按鍵為一個【數位輸入】裝置,在使用按鍵控制亮燈前,先要知道按鍵下去時,所輸入的值是0、還是1。
將【按鍵模組】接在D2腳位,一樣,所有數位腳位都可以接按鍵模組。
程式部份:(利用序列埠監控視窗來顯示結果)
開啟序列埠監控視窗
點擊IDE
會開啟Arduino IDE,然後選取正確的序列埠 (Arduino 接到電腦所使用的埠數)
點擊右上角【序列埠監控視窗】
這時會開啟【序列埠監控視窗】,由於程式中設定傳輸率(鮑速)為9600bps,所以右下角速度要選9600
最後,請同學按下按鍵,看視窗內顯示的數字有沒有改變,是不是變1了。也就是按下按鍵相當於輸入的值是 1
在還沒有接上顯示器前,就利用監控視窗來顯示結果。
將按鍵模組接在D2腳位,LED燈接在D8腳位(還使用之前的三色LED燈) (接線圖同上題)
題目一:當按下按鍵時燈亮;當放開按鍵時燈滅
二分法:符合條件(開燈)與不符合條件(關燈)時的動作
題目二:當按下按鍵時燈亮(放開時燈還亮);再按下一次按鍵時,燈就滅掉,以此類堆。
也就是求按下的次數是奇數還是偶數?奇數亮燈,偶數不亮燈!
同理,同學們會不會利用【滾珠開關】、【霍爾感應器】或各式的【感應器】來開燈了嗎?
五、可控制燈的亮度
之前利用【數位輸出】來控制亮燈,輸出高電位(1)則亮燈,輸出低電位(0)則燈滅,所以不是亮燈就是滅燈
本節改利用【類比輸出】來控制亮燈,燈除了亮、滅外,還可以控制稍亮或稍暗等不同程度的亮燈
前一章介紹過Arduino只有D3、D5、D6、D9、D10、D11這6個腳位(上圖編號前有 ~ 圖案),可模擬成【類比輸出】腳位(又稱PWM腳位)。
PWM腳位的值介於0(相當於數位的0) 到 255(相當於數位的1),也就是介於0、1間還有很多值可用。
以下程式為燈由暗、漸亮、到最亮的呈現
認識【類比輸入】
前一節介紹的按鍵是【數位輸入】,輸入時不是0就是1,本節介紹的【類比輸入】其值介於0(相當於數位輸入的0)、1023(相當於數位輸入的1),也就是0、1間還有很多中間的值可用。
顯示電位計(可變電阻器)所輸入的值
將電位計(可變電阻器)接在A0腳位
將A0類比值顯示在序列埠監控視窗,程式如下:
顯示結果
利用電位計控制燈的亮度
將電位計接在A0、LED燈接在D9
程式:
試試看,旋轉電位計時,燈的亮度是否也會跟著改變。
呼吸燈
所謂呼吸燈,就是燈由暗漸亮,再由亮漸暗,一直重複下去,感覺就像人呼吸一樣
其實,將上面的電位計由最小慢慢轉到最大,再從最大慢慢轉到最小,一直重複下去,這燈的變化就是呼吸燈的感覺
程式: