Arduino Sensor Example [EP4] : LDR Sensor เซนเซอร์วัดแสง NO.10
Arduino Sensor Example [EP4] : LDR Sensor เซนเซอร์วัดแสง
เมื่อ 1 สัปดาห์ที่ผ่านมา
โดย เจ้าของร้าน Google+
LDR Sensor เซนเซอร์วัดแสง
ใน Ep นี้เราจะมาพบกับเซนเซอร์ที่ใช้สำหรับวัดแสงนะครับ โดยตัวเซนเซอร์ใช้ตัว LDR เป็นตัวรับแสง จากนั้นจึงส่งค่ามายัง Arduino
แอลดีอาร์ (LDR : Light Dependent Resistor) คือตัวต้านทานชนิดที่ไวต่อแสง หรือ ตัวต้านทานนี้สามารถเปลี่ยนสภาพทางความนำไฟฟ้า ได้เมื่อมีแสงมาตกกระทบ บางครั้งเรียกว่าโฟโตรีซีสเตอร์ (Photo Resistor) หรือโฟโตคอนดัคเตอร์ (Photo Conductor) เป็นตัวต้านทานที่ทำมาจากสารกึ่งตัวนำ (Semiconductor)
จากคุณสมบัติในขั้นต้นที่พูดมา จึงทำให้สามารถนำ LDR มาทำเป็นเซนเซอร์วัดแสงได้ ก่อนจะข้าสู่ขั้นตอนการทดลอง เราไปดูอุปกรณ์ที่จำเป็นต้องใช้กันก่อนครับ
1. บอร์ด Arduino Uno R3 หรือ Arduino Mega 2560 R3 (สาย USB ด้วยนะอย่าลืม)
2. Breadboard หรือ บอร์ดทดลอง (โฟโต้บอร์ด ที่เราเรียกกันจนติดปากนั้นแหละ)
วิธีเชื่อมต่ออุปกรณ์
Arduino | LDR Sensor | |
A0 | >> | A0 |
5V | >> | VCC |
GND | >> | GND |
หลักการทำงาน
ตัว LCR Sensor จะทำการเปลี่ยนความต้านทานไปตามปริมาณแสงที่ตกกระทบ ทำให้เกิดความนำไฟฟ้าที่เปลี่ยนแปลงไป จากนั้นส่งข้อมูลไปยัง Arduino
โค๊ดโปรแกรม
/*
* Coding By : Arduinos Pro
* Sample Coding : LDR Sensor
*/
int LDR_Sensor_Pin = A0; //สร้างตัวแปรชื่อ LDR_Sensor_Pin ชนิด int เก็บค่า A0 (ตำแหน่งขารับข้อมูล)
void setup() {
Serial.begin(9600); //กำหนดช่องความถี่ในการเชื่อมต่อกับ Serial เพื่อดูค่าต่างๆที่รับได้
}
void loop() {
int sensor_Value = analogRead(LDR_Sensor_Pin); //สร้างตัวแปรชื่อ sensor_Value ชนิด int ให้เก็บค่าดิจิตอลที่รับได้จาก LDR_Sensor_Pin
Serial.print("LDR Sensor Value = "); //แสดงค่าออกทาง Serial Monitor ว่า "LDR Sensor Value = "
Serial.println(sensor_Value); //แสดงค่าใน sensor_Value จากนั้นขึ้นบรรทัดใหม่
delay(500); //หน่วงเวลา 500 มิลลิวินาที
}
* Coding By : Arduinos Pro
* Sample Coding : LDR Sensor
*/
int LDR_Sensor_Pin = A0; //สร้างตัวแปรชื่อ LDR_Sensor_Pin ชนิด int เก็บค่า A0 (ตำแหน่งขารับข้อมูล)
void setup() {
Serial.begin(9600); //กำหนดช่องความถี่ในการเชื่อมต่อกับ Serial เพื่อดูค่าต่างๆที่รับได้
}
void loop() {
int sensor_Value = analogRead(LDR_Sensor_Pin); //สร้างตัวแปรชื่อ sensor_Value ชนิด int ให้เก็บค่าดิจิตอลที่รับได้จาก LDR_Sensor_Pin
Serial.print("LDR Sensor Value = "); //แสดงค่าออกทาง Serial Monitor ว่า "LDR Sensor Value = "
Serial.println(sensor_Value); //แสดงค่าใน sensor_Value จากนั้นขึ้นบรรทัดใหม่
delay(500); //หน่วงเวลา 500 มิลลิวินาที
}
การทดลอง
การทดลองที่ 1 ทดลองใช้โดยใช้แฟลชจากโทรศัพท์มือถือส่องแสงในระยะ 20 เซนติเมตร ปรากฏว่าเซนเซอร์รับค่าได้ที่ราว 79 ถึง 99
การทดลองที่ 2 ทดลองใช้โดยใช้ไฟจากเต้นถ่ายรูปส่องแสงในระยะ 30 เซนติเมตร ปรากฏว่าเซนเซอร์รับค่าได้ที่ราว 23 ถึง 24
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
ความคิดเห็น
แสดงความคิดเห็น