運用PWM(模擬類比輸出)控制LED明亮。
LED燈位於腳位2
//ESP32 3.0之後PWM的寫法
#define LED_PIN 2 // 定義LED的PIN腳為2
void setup() {
Serial.begin(115200); // 啟動序列埠,鮑率設定為115200
// 新版自動分配通道,無需 setup/attach 步驟
analogWrite(LED_PIN, 0); // 初始化 PWM,頻率預設 5kHz,解析度 8-bit
}
void loop() {
// 讓PWM訊號的占空比從1增加到255,模擬LED由暗變亮
for (int i = 1; i <= 255; i = i + 1) {
analogWrite(LED_PIN, i); // 直接指定腳位與佔空比
Serial.println(i);
delay(50); // 等待50毫秒
}
// 讓PWM訊號的占空比從255減少到1,模擬LED由亮變暗
for (int i = 255; i >= 1; i = i - 1) {
analogWrite(LED_PIN, i); // 直接指定腳位與佔空比
Serial.println(i);
delay(50); // 等待50毫秒
}
}
Motoduino程式範例:https://drive.google.com/drive/folders/1P9MLVkk5hy1M2hmyrCDymoGrgxkYePcH?usp=sharing