ฟังก์ชัน Analog I/O ในโปรแกรม Arduino IDE สามารถใช้งานกับบอร์ด Arduino ได้ทั้งพินดิจิตอล(PWM) และพินแอนะล็อก
โดยพินดิจิตอล(PWM) จะใช้ฟังก์ชัน analogWrite(PIN,VALUE);
PIN ใช้กำหนดพินPWMที่ใช้งาน เช่น 3 5 6 9 10 11 สังเกตุจากเครื่องหมาย ~ บนบอร์ด
VALUE ใช้กำหนดค่า PWM กำหนด 0 ถึง 255
เช่น analogWrite(5,100); หมายถึงกำหนด PWM OUTPUT พิน 5 มีค่า เท่ากับ 100
และพินอนาลอกจะใช้งานฟังก์ชัน analogRead(PIN);
วิธีการใช้ Arduino IDE
รายการอุปกรณ์
1. analogRead()
ฟังก์ชัน analogRead เป็นฟังก์ชันที่ใช้ในการอ่านค่าสัญญาณที่เป็นแรงดันไฟฟ้าตั้งแค่ 0 – 5V โดยภายในชิพ Atmel ในบอร์ด Arduino จะมีวงจร ADC หรือ analog to digital convertor จากแรงดันไฟฟ้า 0 – 5V เป็นค่า ADC ที่ 0 -1023 (10 bit)
เปิดตัวอย่างซอร์สโค้ดตัวอย่างในโปรแกรม Arduino IDE
การต่อวงจร
ต่อวงจรตามรูปและทำการอัปโหลดโปรแกรมลงบนบอร์ด Arduino และเปิดหน้าจอ Serial monitor ขึ้นมาโดยการกด Ctrl + Shift + M ทำการปรับค่าตัวต้านทานปรับค่าได้ และสังเกตผลการทดลองบนหน้าจอ Serial monitor เมื่อปรับค่าตัวต้านทานปรับค่าได้ไปทางขวาจนสุดจะแสดงค่า 0 เนื่องจากมีแรงดันไฟฟ้าตกคร่อมที่พินอนาลอก A0 เท่ากับ 0V และปรับค่าไปตัวต้านทานปรับค่าได้ไปทางขวาสุดจะแสดงค่า 1023 เนื่องจากมีแรงดันไฟฟ้าตกคร่อมที่พินอนาลอก A0 เท่ากับ 5V นั่นเอง
2. analogWrite()
ฟังก์ชัน analogWrite เป็นฟังก์ชันปล่อยสัญญาณ PWM หรือ pulse width modulation ออกมาจากพินดิจิตอล โดยมีความละเอียดในการปรับระยะ Duty cycle ที่ 0 – 255 (8 bit) ค่า Duty cycle คือความกว้างของสัญญาณรูปคลื่น 4 เหลี่ยมในช่วง HIGH สามารถใช้ในการควบคุมความเร็วของมอเตอร์กระแสตรง หลอดไฟ LED เป็นต้น
ซอร์สโค้ดตัวอย่างที่ 1
คัดลอกซอร์สโค้ดตัวอย่างลงในโปรแกรม Arduino IDE กดอัปโหลดและเปิดหน้าจอ Serial monitor ขึ้นมา ทดลองโดยการหมุนตัวต้านทานปรับค่าได้ สังเกตผลการทดลองจาก LED และหน้าจอ Serial monitor
หน้าที่เข้าชม | 7,125,821 ครั้ง |
ผู้ชมทั้งหมด | 2,822,719 ครั้ง |
เปิดร้าน | 15 ก.ย. 2557 |
ร้านค้าอัพเดท | 6 ก.ย. 2568 |