MicroPython Basic Input/Output ตอนที่ 4 (PWM)

Pulse Width Modulation (PWM) โดยปรกติในวงจร digital นั้นจะมีสัญญาณอยู่ 2 สถานะ นั่นคือ HIGH (1) กับ LOW (0) ให้เราลองนึกภาพของ Led ที่เราควบคุมการทำงาน เปิด หรือปิด ซึ่งสถานนะเปิดนั่นก็คือ HIGH สถานะปิดนั่นก็คือ LOW แต่ถ้าเราต้องการที่จะควบคุมความสว่างของ LED จะทำอย่างไร ก็คงต้องมาเลือการใช้งานผ่าน Pulse Width Modulation (PWM) นั่นเอง เราสามาารถนำเอา PWM ไปใช้ในการควบคุมความเร็วมอเตอร์, การควบความความสว่างของหลอดไฟ, Servo มอเตอร์ ฯลฯ

การใช้งาน PWM ของ MicroPython นั้นเราจกต้องทำงาน import module เข้ามาก่อนซึ่งอยู่ใน package machine

from machine import PWM

ทำการกำหนดขาของ GPIO ที่จะใช้งานสำหรับ PWM สำหรับ ESP8266 ขาของ GPIO ที่สามารถใช้ได้นั้นก็คือ 0, 2, 4, 5, 12, 13, 14 และ15 หรือทั้งหมดรองรับการทำงาน PWM นั่นเอง

จากนั้นทำการกำหนดขา GPIO ที่จะใช้งานโดยต้องทำการ import module Pin ที่อยู่ใน package machine

from machine import Pin

สร้าง object PWM

pinPWM = Pin(4)
pwm = PWM(pinPWM)
pwm

เราสามารถกำกนด frequency และ duty cycle ดังนี้

pwm.freq(500)
pwm.duty(512)

ค่าของ duty cycle จะมีค่าอยู่ระหว่าง 0 ถึง 1023 วึางค่า 512 ก็คือ 50% duty เราสามารถดูค่าที่กำหนดไว้ใน object PWM ได้โดยการพิมพ์ pwm ที่ console แล้วกด Enter

ทดลองเปลี่ยนค่า duty cycle แล้วดูการทำงาน พบกันใหม่ตอนหน้าเกียวกับเรื่องของ network

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.