// --------------------------------------------------------------------------------
/*
06 使用可變電阻調校 LED 亮度
[學習重點]
1. 認識可變電阻
2. 認識 Arduino 板上的 Analog In
3. 認識 analogRead (0 - 1023)
4. 認識 map(value, fromLow, fromHigh, toLow, toHigh)
[挑戰]
- 試以一種能作 Analog 輸出的感應器替換現有的可變電阻
Created by Jason on 6 Aug 2022.
*/
// --------------------------------------------------------------------------------
int ledPin = 9; // 定義 ledPin 變數並設定適合的 Pin 號
int potPin = A1; // 定義接收可變電阻數值的 Pin 號
int potValue; // 可變電阻回傳的數值 (0-1023)
void setup() {
pinMode(ledPin, OUTPUT); // 設定 ledPin 為輸出模式
pinMode(potPin, INPUT); // 設定 potPin 為輸入模式
}
void loop() {
potValue = analogRead(potPin); // 讀取可變電阻的數值 (0-1023)
int ledValue = map(potValue, 0, 1023, 0, 255); // map(value, fromLow, fromHigh, toLow, toHigh) 根據可變電阻的數值 (0-1023) 計算出 LED 的亮度值 (0-255)
analogWrite(ledPin, ledValue); // 因應 ledValue 值向 ledPin 輸出不同電位
delay(100); // 延時 0.1 秒
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
r1:1
r1:2
led1:A
led1:C
pot1:GND
pot1:SIG
pot1:VCC