เขียนโปรแกรมสั่งงานบอร์ด ESP32 ปรับความสว่างไฟ โมดูล LED แบบ PWM
กว่าจะเขียนโปรแกรมสั่งปรับความสว่าง led ได้ นั่งงมเข็มตั้งนาน ดู google ก็แล้ว จะถามพี่ๆก็ไม่กล้า จบที่ คำสั่ง for นี่เอง for วนๆไปเรื่อยๆ for 2 ลูป เขียนโปรแกรมก็ก็อกๆแก็กๆดูแปลกๆ ปรับความสว่างขึ้นลงได้ซะงั้น
ปรับความสว่างแสง led แบบนี้ถาม google ดู เค้าบอกว่าเป็นหลักกการปรับความสว่างแบบ PWM แล้วคืออะไร? เอาน่า!! ไม่รู้เหมือนกัน ก็อปตัดแปะจบงานได้ สำหรับมือใหม่อย่างเราก็ ok แล้วละครับบบ
#define led1 4
#define led2 12
#define led3 13
#define led4 25
#define PWM0_Ch 0
#define PWM1_Ch 1
#define PWM2_Ch 2
#define PWM3_Ch 3
#define PWM1_Res 8
#define PWM1_Freq 1000
void setup() {
ledcAttachPin(led1, PWM0_Ch);
ledcAttachPin(led2, PWM1_Ch);
ledcAttachPin(led3, PWM2_Ch);
ledcAttachPin(led4, PWM3_Ch);
ledcSetup(PWM0_Ch, PWM1_Freq, PWM1_Res);
ledcSetup(PWM1_Ch, PWM1_Freq, PWM1_Res);
ledcSetup(PWM2_Ch, PWM1_Freq, PWM1_Res);
ledcSetup(PWM3_Ch, PWM1_Freq, PWM1_Res);
}
void loop() {
for (int x =0; x <= 255 ;x++)
{
ledcWrite(PWM0_Ch,x);
ledcWrite(PWM1_Ch,x);
ledcWrite(PWM2_Ch,x);
ledcWrite(PWM3_Ch,x);
delay(10);
}
delay(500);
for (int x = 255; x >= 0 ;x–)
{
ledcWrite(PWM0_Ch,x);
ledcWrite(PWM1_Ch,x);
ledcWrite(PWM2_Ch,x);
ledcWrite(PWM3_Ch,x);
delay(10);
}
delay(500);
}

