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

2 Jul 2019,
Share: 
Cover image

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

จริงหรือ? ที่สามารถกดเงินจาก ATM ด้วยรหัส ATM มากกว่า 1 ชุด

สวัสดีครับ บทความนี้ก็เป็นเรื่องสั้นๆ ที่เกี่ยวข้องกับการใช้งานตู้ ATM ซึ่งก็ตามหัวข้อนะครับ เราสามารถกดเงินจากตู้ ATM ได้ด้วยรหัส ATM อื่นๆ นอกเหนือจากที่เราตั้งไว้ในตอนแรกที่เราทําบัตร ATM

การใช้ Real time clock กับ Raspberry pi

ใน Raspberry pi จะไม่มี Real Time Clock มาให้ เมื่อเราปิดเครื่อง หรือไม่มีไฟฟ้าจ่ายให้กับ Raspberry pi วันที่และเวลาของเครื่องจะไม่เป็นปัจจุบัน วิธีที่จะทําให้เวลาของเครื่องเป็นวันที่ปัจจุบันมีด้วยกัน 2 วิธี ดังนี้ใช้ NTP server (จะต้องเชื่อมต่อกับเครือขาย internet)ใช้ Real time clock (ไม่ต้องเชื่อมต่อกับเครือขาย internet)ในบทความนี้เราจะอธิบายวิธีใช้ Real time clock เป็นฐานเวลาให้กับ Raspberry pi ก่อนอื่นมารู้จักกันก่อนว่ามันคืออะไร Real time clock เป็น module ฐานเวลา เนื่องจากตัว module ใช้พลังงานจากถ่านกระดุมขนาดเล็กทําให้ตัว module ทํางานอยู่ตลอดเวลาแม้ไม่ได้จ่ายไฟเลี้ยง

Execute the php file and collect the output

ในบทความนี้ผมจะอธิบายวิธีการ Execte ไฟล์ php แล้วเอา output ไปใช้งานต่อ ตัวอย่างเช่น ถ้าเรามีไฟล์ cal.php สําหรับ ทําอะไรซักอย่าง แล้วเราต้องการจะเรียกใช้ไฟล์ดังกล่าวเพื่อเอาผลลัพธ์ไปใช้งาน เราจะสามารถเขียน code ได้ดังนี้


Copyright © 2019 - 2025 thiti.dev |  v1.56.0 |  Privacy policy | 

Build with ❤️ and Astro.

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