以 analogRead() 讀取可變電阻的值,會回傳 0~1023 之間的值。以下的電路示意與範例程式碼,示範情境為:使用可變電阻控制 LED 的燈光亮度,達到調光的目的。 電路示意圖 範例程式 上例的電路圖中,如果將 LED 接在 13 以外的腳位,請加一顆 220 ohm 的電阻,若直接接 13 腳位則可不必,請記得依照你 LED 所接的腳位修改程式碼的 ledPin。 int potPin = A3;int ledPin = 13;void setup() { Serial.begin(9600);}void loop() { int sensorValue = analogRead(potPin); Serial.println(sensorValue, DEC); sensorValue = sensorValue/4; // convert from 0-1024 to 0-255 // 或者用 map 函數 map(value, fromLow, fromHigh, toLow, toHigh) // sensorValue = map(sensorValue, 0, 255, 0, 1023); analogWrite(ledPin, sensorValue); delay(150);} 思考練習 還記得 Blink LED 閃爍的範例程式嗎?如何轉動可變電阻改變電阻數值時,改變 LED 閃爍的速度?
Comments