Page 54 - เล่มโปรเจค
P. 54

41




                      Servo                   Control          Motor           Drive              Servo

                      Input                   Circuit                         Gears               Output

                                                         Potentiometer



                                             รูปที่ 2.46 Servo Motor Block Diagram [9]


                                 2.10.3 ไลบรารี Servo

                                 Arduino ได้เตรียมไลบรารีฟังก์ชันที่ใช้ในการควบคุมเซอร์โวมอเตอร์ได้มากถง 12 ตัว
                                                                                               ึ
                       (48 ตัว สำหรับ Arduino Mega) ไว้ในกลุ่มฟังก์ชันที่เกี่ยวข้องกับไลบรารี servo มีรายละเอียดดังนี้

                                 ไลบรารี Servo
                                 1) servo.attach(pin)

                                 2) servo.attech(pin, min, max)

                       ฟังก์ชันกำหนดตำแหน่งขาพอร์ตสำหรับควบคุมเซอร์โวมอเตอร์

                       โดย  servo : ตัวแปรชนิดข้อมูลของ Servo
                                 pin : หมายเลขขาพอร์ตที่ใช้ในการติดต่อกับเซอร์โวมอเตอร์

                                min : (ตัวเลือก) สัญญาณ pulse width ในหน่วยไมโครวินาที ใช้กำหนดมุมการ

                                        หมุนต่ำสุด (0 องศา) ของเซอร์โวมอเตอร์ (คำดีฟอลต์เท่ากับ 544)
                                Max : (ตัวเลือก) สัญญาณ pulse width ในหน่วยไมโครวินาที ใช้กำหนดมุมการ

                                        หมุนสูงสุด (180 องศา) ของเซอร์โวมอเตอร์ (คำดีฟอลต์เท่ากับ 2400)


                                 3) servo.write(angle)

                       ฟังก์ชันเขียนค่าไปที่เซอร์โวมอเตอร์หรือตำแหน่งการหมุนของเซอร์โวมอเตอร์
                       โดย  angle : มุมในการหมุนของเซอร์โวมอเตอร์จาก 0 ถึง 180


                                 4) servo.writeMicroseconds(µS)

                       ฟังก์ชันเขียนค่าในหน่วยไมโครวินาทีไปที่เซอร์โวมอเตอร์

                       โดย      us : ค่าพารามิเตอร์ในหน่วยไมโครวินาที (มีชนิดข้อมูลเป็น int)


                                 5) servo.read()
                       ฟังก์ชันอ่านตำแหน่งมุมปัจจุบันของเซอร์โวมอเตอร์ อยู่ในช่วง 0 ถึง 180 องศา
   49   50   51   52   53   54   55   56   57   58   59