Page 89 - ArduinoและPOP-BOT
P. 89
89
ดิ วตี้ ไซเกิ ลของสั ญญาณพั ลส
สามารถคํ านวณได จาก
20%
t
W
50%
T
t
75% D w 100%
T
โดยที่ t คื อความกว างของพั ลส
w
T คื อ คาบเวลาของสั ญญาณ
พั ลส 1 ลู ก
นั่ นหมายความว า ความถี่ จะ
ไม มี ผลต อการปรั บหรื อเปลี่ ยนแปลง
ดิ วตี้ ไซเกิ ลแต อย างใด
รู ปที่ 7-2 แสดงสั ญญาณ PWM ที่ ค าดิ วตี้ ไซเกิ ลต างๆ
ค าแรงดั นของสั ญญาณพั ลส จะได เป นค าเฉลี่ ยของสั ญญาณพั ลส ซึ่ งสามารถคํ านวณได จากความสั มพั นธ ทาง
คณิ ตศาสตร ต อไปนี้
Outout_voltage = (on_time / off_time) * max_voltage
เราสามารถนํ าสั ญญาณ PWM ที่ ได จากคํ าสั่ ง analogWrite() นี้ ไปปรั บความสว างของ LED หรื อต อ
ขยายกระแสเพื่ อควบคุ มความเร็ วของมอเตอร ไฟตรงได หลั งจากเรี ยกใช คํ าสั่ งนี้ แล วขาพอร ตที่ กํ าหนดจะมี สั ญญาณ
PWM ส งออกมาอย างต อเนื่ อง จนกว าจะมี การเรี ยกใช คํ าสั่ ง analogWrite ในรอบใหม หรื อเรี ยกคํ าสั่ ง
digitalRead หรื อ digitalWrite ที่ ขาพอร ตเดี ยวกั น
ฮาร ดแวร Arduino มี ขาพอร ตที่ ทํ าหน าที่ เป นเอาต พุ ตอะนาลอกได 6 ขา คื อ ขา 3, 5, 6, 9,10 และ 11 สํ าหรั บ
โมดู ล POP-MCU จะมี ขาต อให เห็ นชั ดเจนคื อขา 3, 5, 6 และ 9 ที่ เขี ยนเป น Di 3, Di 5, Di 6 และ Di 9 ส วนขา 10
จะต อออกที่ ขา PB2 และขา 11 จะต อกั บขา MOSI ของคอนเน็ กเตอร In-System Programming (ISP)
การสั่ งให ขาพอร ตทํ างานสร างสั ญญาณ PWM ต องสั่ งผ านฟ งก ชั่ น analogWrite() ซึ่ งมี รู ปแบบดั งนี้
analogWrite(pin,value);
เมื่ อ pin คื อ หมายเลขขาพอร ตที่ ต องการ (3, 5, 6, 9 ถึ ง 11 สํ าหรั บ POP-MCU กํ าหนดได 4 ขาคื อ 3, 5, 6
และ 9)
value ค าดิ วตี้ ไซเกิ ลที่ ต องการ ค าจาก 0 ถึ ง 255