Arduino ตอน8 วิธีใช้ Analog input ใน arduino

Jul 2, 2019 21:06 · 211 words · 1 minute read Analog Analog input Arduino Microcontroller C++ C Serial

สวัสดีครับ บทความนี้เราจะมาเรียนรู้ว่า Analog input ใน Arduino มันคืออะไร มีวิธีการใช้งานอย่างไร พร้อมทั้งตัวอย่างการใช้งานเบื้องต้น เรามาเริ่มต้นไปทีละ Step ดังนี้ครับ

Step1: Analog input คืออะไร

Analog input คือ การอ่านค่าของระดับแรงดันไฟฟ้า (Volt) ส่วนมาก Analog input จะนําไปใช้อ่านค่าแรงดันไฟฟ้าจากอุปกรณ์ที่เป็นประเภท Analog sensor ชนิดต่างๆ เช่น LDR, Analog temperature ฯลฯ ซึ่งเราจะไม่สามารถอ่านค่าจาก Sensor ประเภทนี้ในแบบ Digital ได้

Step2: ทําความรู้จักกับ Analog input ใน Arduino

โดยปกติรุ่นทั่วๆไปของ Arduino จะมี Analog input มาให้ใช้งานประมาณ 6 Pin (A0-A6) ในรุ่นอื่นๆอาจจะมีมากกว่านี้ สามารถอ่านข้อมูลของแต่ละรุ่นได้จากทางเว็บของ Arduino ได้เลย

Analog input ของ Arduino จะสามารถอ่านค่าของแรงดันไฟฟ้าได้ที่ความละเอียด 10 bits (จะมีบางรุ่นอ่านได้ 11 bits) หมายความว่าค่าที่อ่านได้จะมีค่าตั้งแต่ 0 ถึง 1023 (1024 ระดับ) ซึ่งค่าที่อ่านได้นี้เราจะนํามาเทียบกับระดับแรงดันไฟฟ้าอ้างอิง ตัวอย่าง ถ้าเราใช้ Arduino รุ่น UNO ในรุ่นนี้จะมีระดับแรงดันไฟฟ้าอ้างอิงที่เป็น Default สําหรับ Analog input คือ 5V (เราสามารถเปลี่ยนแปลงค่านี้ได้) หมายความว่า Arduino board รุ่นนี้สามารถอ่านค่าของแรงดันไฟฟ้าที่ความละเอียด 5V / 1024 = 0.0049 volts หรือ 4.9 mV ต่อ 1 หน่วยนั่นเอง

Step3: สิ่งที่ต้องมีสําหรับการทดลองนี้

  • Arduino board UNO
  • ทานปรับค่าได้ (Volume) 100k

Step4: ต่อวงจร Analog input กับ Arduino

เราจะต่อตัวต้านทานปรับค่าได้ (Volume) เข้ากับ Arduino board ตามรูปนี้ครับ

เมื่อต่อเสร็จแล้วจะได้ประมาณนี้ครับ

Step5: ลงมือ Coding

Coding ตามตัวอย่างนี้ใน Arduino IDE ได้เลยครับ

int analogPin = A3;

int val = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  val = analogRead(analogPin);
  Serial.println(val);
}

จาก Code ด้านบน เรากําหนดให้ pin A3 เป็น pin ที่ใช้อ่านค่า Analog เมื่อทุกครั้งที่วน loop ใน function loop() จะอ่านค่าจาก pin A3 มาเก็บไว้ในตัวแปร val แล้วส่งค่านั้นไปแสดงบน Computer (Serial monitor) ผ่านทาง Serial Port

เมื่อ Coding ใน Arduino IDE เรียบร้อย ก็ Compile แล้ว Upload โปรแกรมลงบน Arduino board ได้เลย

ถ้าทุกอย่างเรียบร้อยให้ทดสอบโดยลองหมุนที่ตัวต้านทานปรับค่าได้ตัวนี้ เพื่อปรับค่าความต้านทานให้เปลี่ยนแปลง เมื่อค่าความต้านทานเปลี่ยนแปลงจะส่งผลให้แรงดันไฟฟ้าที่ส่งเข้า pin A3 เปลี่ยนแปลง ค่าที่อ่านได้ก็จะเปลี่ยนไปด้วยเช่นกัน

จะเห็นค่าที่เปลี่ยนแปลงบน Serial monitor ประมาณนี้ครับ

ขอบคุณทุกทานที่อ่าน และ Share บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)