使用可變電阻 (potentiometer) 控制 LED 的燈光亮度,達到調光的目的。
LED 接到 D9 和 GND,長腳(陽極)串接一顆 220 ohm 電阻到 D9,短腳(陰極)直接接到 GND
可變電阻中間腳位接到類比輸入(Analog Input) A0,剩下的兩支腳位,一支接到 5V,另外一支接到 GND
int potPin = A0; // select the input pin for the potentiometer
int ledPin = 9; // select the pin for the LED
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(potPin);
Serial.println(sensorValue, DEC);
sensorValue = map(sensorValue, 0, 1023, 0, 180);
analogWrite(ledPin, sensorValue);
delay(150);
}
L01: 宣告可變電阻所用的類比輸入腳位
L02: 宣告 LED 燈號腳位
L05: 設定 SerialPort 的傳輸速率,鮑率為 9600 bps (bit per second)
L09: 讀取可變電阻讀值並且放到 sensorValue 變數裡
L10: 使用 Serial.println(sensorValue, DEC) 把電阻值列印到 SerialPort。DEC 代表以十進位顯示數字
L12: analogRead() 讀進來的是一個 10 位元的數值,值域為 0 到 1023,由於 analogWrite() 的參數只能接受 0 到 255 的數值,所以得將 sensorValue 除以 4,讓 sensorValue 的數值從 0-1023 等比例縮小到 0-255 的範圍。
請先確認材料是否有缺少。
完成線路圖中之線路(請注意線路中電阻的型號以及腳位的正負極)。
開啟Arduino IDE,並將"程式碼"上傳至Arduino UNO。(上傳方法與IDE開啟方法請參見Arduino UNO & Arduino IDE 使用方法)
轉動可變電阻並觀察LED亮暗之變化。
觀察程式碼與LED亮暗之關係
資料來源:
1. Cooper Maa
http://coopermaa2nd.blogspot.tw/
2.Mert Arduino and Tech
https://www.youtube.com/channel/UCAH7OfjndkAgtjkmJ6IQvEw/featured