Cover image

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

2 Jul 2019

Share to:

สวัสดีครับ บทความนี้เราจะมาเรียนรู้ว่า 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 ตามรูปนี้ครับ

Image

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

Image

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 เปลี่ยนแปลง ค่าที่อ่านได้ก็จะเปลี่ยนไปด้วยเช่นกัน

Image

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

Image

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

Suggestion blogs

ระวังโดน Hack facebook โดยไม่รู้ตัว

สวัสดีครับ วันนี้ผมจะนําเสนอเรื่องราวของการ hack facebook รูปแบบหนึ่ง ซึ่งถ้าไม่ทันระวังก็อาจจะตกเป็นเหยื่อได้ รูปแบบการ hack แบบนี้เค้าเรียกกันว่า Phishing โดย hacker จะทําการปลอมหน้าเพจขึ้นมา ส่วนใหญ่จะปลอมเป็นหน้าเพจ login ของเว็บที่ hacker ต้องการ user password เช่น ถ้า hacker ต้องการ user และ password ของ facebook hacker ก็จะทําหน้า login ของ facebook ปลอมขึ้นมา เพื่อหลอกให้เหยื่อ login จากหน้าปลอมนั้น แล้วส่งข้อมูล user password ของ เหยื่อมายัง hacker

ปัญหา Login Secure Shell ช้า

เคยไหมเวลา login เข้า Secure Shell แล้ว ช้า สาเหตุเกิดจาก ค่า config default ของ sshd เมื่อมีการ login เข้ามาระบบจะพยายามแปลง ip address เป็นชื่อ host name โดยไปถามจาก DNS Server (reverse hostname lookup) ถ้าเครื่อง ไม่สามารถติดต่อ DNS Server ได้ จะทําให้ ตอน login จะค้างไปซักพัก

เรียนรู้ Extension Method

โดยปกติแล้ว Class ต่างๆจะมี Method เป็นของตัวเองอยู่แล้ว แต่ถ้าเราต้องการจะเขียน Method เพิ่มเติมเข้าไป ในกรณีที่เราเป็นเจ้าของ Source code เราสามารถแก้ไข Source code ของเราได้เลย แต่ถ้าในกรณีที่เราไม่ได้เป็นเจ้าของ Source code เรามีเพียงแค่ dll ไฟล์เท่านั้น เราจะทําอย่างไร? ใน .net 3.0 ขึ้นไป เราสามารถเพิ่ม Method เสริมให้กลับ Class ที่ถูกสร้างไว้แล้วได้ โดยจะเรียกว่า Extension Method


Copyright © 2019 - 2024 thiti.dev |  v1.39.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ