ความรู้พื้นฐานทางด้านอิเล็กทรอนิกส์ การเขียนโปรแกรม Arduino และ หุ่นยนต์เบื้องต้น ที่เคยลงไว้แล้ว
นำมาปรับปรุง ในเนื้อหาที่เพิ่มขึ้น
สามารถติดตามได้ในส่วนนี้ ครับ


กลับหน้าหลัก บทความ

ตอนที่ 31

การอ่านค่า อนาล็อก

 

รูปแบบสัญญาณแบบอนาล็อก
การอ่านค่าสัญญาณอนาล็อกเป็นพื้นฐานในการใช้งาน
Arduino เพราอุปกรณ์
อิเล็กทรอนิกส์บางตัวค่าที่วัด
ได้จะอยู่ในรูแบบของอนาล็อก

ตัวอย่างอุปกรณ์ ที่ใช้การอ่านค่าแบบอนาล็อก

 

PORT สำหรับรับค่า อนาล็อก A0 -A5

 

วงจรใช้ทดสอบ ต่อ VR เข้าที่ขา AO
โดยค่าที่ได้จะแสดงผลออกทางหน้าจอคอมพิวเตอร์ ทาง Serial Monitior

 

// Code ที่ใช้ในการทดสอบ

int vr_pin = A0;
void setup() {
pinMode(vr_pin, INPUT);
Serial.begin(9600);
}
void loop() {
int vr = analogRead(vr_pin);
Serial.println(vr);
delay(500);
}


Code ที่ใช้ในการทดสอบ

 

ค่าที่อ่านได้ เมื่อ หมุนตัว VR จะอยู่ระหว่าง
0 – 1023
ซึ่งเราสามารถนำค่าเหล่านี้ไปใช้ทำโครงงานได้
อีกมากมาย

 

ทดลอง LDR โดยใช้วงจรตามรูป ใช้ Code ตัวเดียวกันผลที่ได้
คือ ยิ่งสว่างตัวเลขจะสูง ถ้าแสงน้อย ตัวเลขจะลดลง ช่วงทดสอบ
อ่านค่าได้ ในช่วง 50 -500 สามารถเปลี่ยนใช้ตัว R ที่ต่อกับ
LDR ค่าอื่นๆได้แล้วดูค่าที่ได้

 

จะเห็นว่า การอ่านค่า อนาล็อกนั้น ต่าที่ได้จะอยู่ในช่วง 0 - 1023
แต่การนำไปใช้งาน ถ้ารู้สึกว่าค่า นี้มากเกิน เราสามารถ แปลงค่า
ต่ำสุด สูงสุด ตามที่ต้องการ โดยใช้ คำสั่ง map

รูปแบบคือ map(ค่าที่ต้องการแปลง , ค่าต่ำสุดของตัวตั้งต้น , ค่าสูงสุดของตัวตั้งต้น , ค่าต่ำสุดของตัวที่ต้องการแปลง , ค่าต่ำสุดของตัวที่ต้องการแปลง );
โดยจะให้ค่าออกมาเป็น ตัวแปรแบบ int
ตัวอย่างใช้งาน
int a = map(val,0,1023,0,255);

ตัวแปล a จะเก็บข้อมูล ที่มาจากตัวแปล val ซึ่งข้อมูล ต่ำสุกคือ 0 สึงสุดคือ 1032
เก็บข้อมูล ในช่วง ต่ำสุกคือ 0 สึงสุดคือ 255
ลองเขียนดูนะครับ

 

ตัวอย่างโครงงานที่ใช้การอ่านค่าแบบ อนาล็อก

วัดความชื่น (รถน้ำอัตโนมัติได้้)

วัดแรงดัน วัดกระแส

วัดอุณหถูมิ

     

โครงงานเหล่านี้จะเขียนเป้นบทความภายหลังครับ

 
 

เขียนเมื่อ 24 พค 65

ติดตามตอนต่อไปครับ