วันเสาร์, 26 เมษายน 2568

บอร์ด ESP32 ปรับความสว่าง led แบบง่ายๆ

06 ก.พ. 2025
61

เขียนโปรแกรมสั่งงานบอร์ด 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);

}