วิธีใช้งาน ESP32 LED PWM
การสร้างสัญญาณเปิด/ปิดเร็ว ๆ เพื่อปรับแรงดันไฟให้ลดลงตามต้องการ เรียกว่า Pulse Width Modulation หรือสั้น ๆ ว่า PWM สามารถนำไปควบคุมหรีไฟ LED หรือปรับความเร็วมอเตอร์ได้
ใน ESP32 มีขาที่สามารถควบคุมเอาต์พุตแบบ PWM มากถึง 16 ขา การใช้งานดังนี้
1. ขั้นแรกกำหนดช่อง PWM ก่อน มีทั้งหมด 16 ช่อง หรือค่า 0-15
2. จากนั้น กำหนดความถี่ PWM ถ้าความถี่มากก็จะต่อเนื่องกว่า เช่น กำหนดความถี่ LED เป็น 5000 Hz ก็จะเห็นแสงนิ่ง ๆ ไม่ค่อยกระพริบแล้ว
3. กำหนดความละเอียดของสัญญาณ duty cycle ใน ESP32 สามารถปรับความละเอียดได้ 1-16 bit หรือค่า 0-65535 ถ้ากำหนดความละเอียด ที่ 8 bit ก็จะได้ค่าระหว่าง 0-255
4. กำหนดขา GPIO ที่ต้องการควบคุม โดยใช้คำสั่ง ledcAttachPin(ขาควบคุม , channel)
channel คือช่องสำหรับสร้างสัญญาณ
5. สุดท้าย สั่งให้ไฟออกที่ LED ใช้คำสั่ง ledcWrite(channel , dutycycle)
6. ถ้าอ่านแล้วยังงง ๆ ข้ามมาทดลองกันได้เลย
การทดลองที่ 1 ESP32 หรี่ไฟ LED แบบ PWM1.ต่อวงจรดังนี้
ก็อปโคดตัวอย่าง EX1 แล้วรันดูผลลัพธ์
การทดลองที่ 2 ควบคุม LED หลายดวง ที่สัญญาณเดียวกัน
เราสามารถกำหนดขา GPIO ให้สร้างสัญญาณ PWM โดยใช้การตั้งค่าเดียวกันได้ ดังตัวอย่างนี้
ต่อวงจรดังรูปนี้
ก็อปโคดตัวอย่าง EX2 แล้วดูผลลัพธ์
เล่น Arduino ESP32 บทต่อไปได้เลย
#5 สอน Arduino ESP32 การใช้งาน Arduino ESP32 Touch Sensor สวิตช์สัมผัส#7 สอน Arduino ESP32 การใช้งาน Arduino ESP32 Analog Input ESP32 อ่านค่าแบบ Analog