可調光的LED實體成果 |
實作目標:
- 讓LED透過可變電阻進行亮度控制。
硬體電路:
可調光的LED硬體電路 |
- 其硬體電路十分的簡單,只要組合LED元件和可變電阻器元件即可,不過在此我們需要討論兩個比較重要的概念,其一是可變電阻器的結構,其二是類比輸出輸入的概念,這兩個概念會在「研究討論」進行說明。
程式碼:
int potpin = A0 ; //類比接腳,調光必須用此
int ledpin = 11 ;
int val = 0 ; //暫存來自可變電阻的變量值
void setup()
{
pinMode(ledpin, OUTPUT) ;
Serial.begin(9600) ;
}
void loop()
{
val = analogRead(potpin) ; //讀取可變電阻的模擬值,最大輸入類比值為1024
Serial.println(val) ; //顯示val值在Serial Monitor
analogWrite(ledpin, val/4) ; //透過可變電阻調整LED亮度,最大輸出類比值為255
delay(10) ;
}
實作成果:
研究討論:
類比輸入輸出 例圖 |
Arduino的類比輸入有2^10的解析度,也就說最高解析度可達1024,這個觀念在「Arduino Lesson 0」闡述過了,不過1024是輸入解析度,我們在操控LED必須使用輸出的解析度,而輸出解析度最高只有255,所以在調整可變電阻之時,倘若輸入解析度高於255,便會使LED呈現最高亮度,所以在此我們必須把輸入解析度1024除掉4,分別對應輸出解析度255才會使可變電阻器在調光的時候有相對的亮度呈現。
沒有留言:
張貼留言