สอนใช้งาน Arduino Analog InPut ตัวต้านทานปรับค่าได้ ควบคุมการหมุนของ Servo
ตัวอย่างนี้จะเป็นการทดลองใช้งาน Servo ซึ่งสามารถใช้ Arduino เขียนโคดควบคุมให้หมุนไปกี่องศาได้จากในโคด โดยตัวอย่างนี้ใช้ Servo ขนาดเล็ก และจะใช้ตัวต้านทานปรับค่าได้ เป็น input ให้กับ Arduino แล้ว Arduino ไปสั่งงานควบคุม Servo
คำสั่ง Analog Readval = analogRead(pin)
pin คือขาที่ต้องการอ่านค่าval คือค่าที่อ่านได้ อยู่ในช่วง 0-1023
ตัวอย่างคำสั่ง Analog Read
ต้องการอ่านค่า ขา Analog A0 เก็บในตัวแปล val
int val = analogRead(A0)
คำสั่ง map
map(value, fromLow, fromHigh, toLow, toHigh)
value คือ ค่าที่ต้องการคำนวน
fromLow คือ ช่วงที่รับมาค่าต่ำสุด
fromHig คือ ช่วงที่รับมาค่าสูงสุด
toLow คือ ช่วงที่ต้องการแปลง ค่าต่ำสุด
toHigh คือ ช่วงที่ต้องการแปลง ค่าสูงสุด
ตัวอย่างคำสั่ง map
ต้องการแปลงค่าของ data ซึ่งมาจากช่วง 0-1023 ให้เป็นช่วง 0-255 เก็นไว้ในตัวแปร val
int data = 100;
int val = map(data,0,1023,0,255)อุปกรณ์ที่ต้องใช้ใน บทความสอนใช้งาน Arduino Analog InPut ตัวต้านทานปรับค่าได้ ควบคุมการหมุนของ Servo
วิธีการต่ออุปกรณ์ บทความ สอนใช้งาน Arduino Analog InPut ตัวต้านทานปรับค่าได้ ควบคุมการหมุนของ Servo
ต่อวงจรดังรูปนี้
SG90 Servo Motor -> Arduino uno r3
- GND สายสีน้ำตาล -> GND
- VCC สายสีแดง -> 5V
- Data สายสีส้ม -> ขา 9

อัพโหลดโค้ดตัวอย่างด้านล่างลง Arduino uno r3 แล้วดูผลลัพธ์
---

เปิด Serial Monitor ขึ้นมา แล้วลองหมุนตัวต้านทานปรับค่าได้
จะเห็นค่า สัญญาณ Analog ที่อ่านได้จากขา Analog A0 ค่าจะเปลี่ยนอยู่ระหว่าง 0-180

เมื่อเราหมุน ตัวต้านทานปรับค่าได้ Servo SG90 จะหมุนตาม 0-180 องศา
ดูสอนวิธีใช้งาน Arduino บทต่อไป
#12 Arduino สอนใช้งาน Arduino สัญญาณ Analog Input ตัวต้านทานปรับค่าได้ตามแสง LDR ควบคุมเปิดปิดหลอดไฟ LED
#14 Arduino สอนใช้งาน Arduino วัดอุณหภูมิด้วย Sensor LM35
หน้าหลักบทความสอน Arduino แบบย่อทั้งหมด