ความรู้พื้นฐานทางด้านอิเล็กทรอนิกส์ การเขียนโปรแกรม 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
ติดตามตอนต่อไปครับ