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
   84   85   86   87   88   89   90   91   92   93   94