第七章 進階專題2
CH7-1-光空小夜燈
實習清單
實驗名稱 |
光控小夜燈 |
預期實驗結果 |
跟隨著光線亮度調整燈光 |
實驗目的 |
Ø 了解如何使用光敏電阻 |
材料清單 |
Ø Arduino*1 Ø 光敏電阻*1 Ø |
元件介紹
本次會利用的元件是光敏電阻,光敏電阻一種可變電阻,電阻值隨著光源亮度變化,亮度越高電阻越低,如無光源形同斷路!
實習步驟與說明
本次實驗是用讀取光敏電阻的數值去控制LED的亮度,在程式碼方面int light=160-(analogRead(A0)\/4),會因為實驗地點光源的不同而有所改變,如果無法感應光源亮度而改變LED,需要自行設定紅色自裡面的數值(160),數值約從150~255之間作調整
電路實作
佈線圖
Arduino程式實作
完整程式碼
01 void setup() 02 { 03 pinMode(A0,INPUT); \/\/設定A0讀取光敏電阻數值 04 pinMode(13,OUTPUT); \/\/設定PIN13為LED輸出腳 05 } 06 07 void loop() 08 { 09 int led=13; 10 int light=160-(analogRead(A0)\/4); 11 12 analogWrite(led,light); 13 14 } |
|
CH7-2-七彩霓虹燈
實習清單
實驗名稱 |
七彩霓虹燈 |
預期實驗結果 |
讓RGB LED 顯示不同的顏色 |
實驗目的 |
Ø 了解如何使用光敏電阻 |
材料清單 |
Ø Arduino*1 Ø 共陰極RGB LED |
元件介紹
RGB LED:是一種將紅色(R)、綠色(G)、藍色(B),將三個顏色的LED封裝在同一個LED內,利用光的三原色去混色出各種顏色,
實習步驟與說明
電路實作
佈線圖
Arduino程式實作
完整程式碼
01 int redPin = 11; 02 int greenPin = 10; 03 int bluePin = 9; 05 void setup() 06 { 07 pinMode(redPin, OUTPUT); 08 pinMode(greenPin, OUTPUT); 09 pinMode(bluePin, OUTPUT); 10 } 11 12 void loop() 13 { 14 setColor(255, 0, 0); \/\/ 紅色 15 delay(1000); 16 setColor(0, 255, 0); \/\/ 綠色 17 delay(1000); 18 setColor(0, 0, 255); \/\/ 藍色 19 delay(1000); 20 setColor(255, 255, 0); \/\/ 黃色 21 delay(1000); 22 setColor(255, 0, 255); \/\/ 紫色 23 delay(1000); 24 setColor(0, 255, 255); \/\/ 淺綠色 25 delay(1000); 26 setColor(2555,255, 255); \/\/ 白光 27 delay(1000); 28 } 30 void setColor(int red, int green, int blue) 31 { 32 analogWrite(redPin, red); 33 analogWrite(greenPin, green); 34 analogWrite(bluePin, blue); 35 } |
|