ลองเล่นกับ LDR [Light Dependent Resistor]
บทความสอนวิธีการต่อและการใช้งาน LDR
23 October, 2019 by
ลองเล่นกับ LDR [Light Dependent Resistor]
Liew Wuttipat
| 2 Comments

LDR (Light Dependent Resistor) คือตัวต้านทานที่สามารถปรับเปลี่ยนค่าของตัวเองได้โดยขึ้นอยู่กับความเข้มข้นของแสง ส่วนใหญ่จะเอาไปใช้สำหรับทำวงจรเซนเซอร์รับแสง

ส่วนใหญ่แล้วค่าความต้านทานของ LDR จะเพิ่มขึ้นถ้าค่าความเข้มของแสงลดลง เราสามารถที่จะวัดค่าความต้านทานได้โดยการใช้มิเตอร์วัดโอห์ม มาวัด ภายในวงจรจะมีตัวต้านทานค่าคงที่อยู่อีก 1 ตัวขนาด 10k โอห์ม เพื่อที่ทำให้เกิดเป็นวงจร Voltage divider ซึ่งเมื่อ LDR นั้นเปลี่ยนค่าความต้านทานไป วงจรนี้ก็จะทำให้ค่าของแรงดันนั้นเปลี่ยนไปตามด้วย สำหรับใครที่ไม่ได้มีวงจรเซนเซอร์สำเร็จมาแล้ว ก็สามารถต่อตาม diagram ด้านบนได้เลย



ลองใช้ Oscilloscope จับการเปลี่ยนแปลงแรงดัน หลังจากที่เราเห็นแรงดันเปลี่ยนแล้วนั้น ต่อไปเราจะไปลองใช้บอร์ด Arduino อ่านค่าแรงดันแล้วมาแสดงผล



#include <Arduino.h>
const int LDR_PIN = A0;
void setup()
{
    Serial.begin(9600);
}

void loop()
{
    int value = analogRead(LDR_PIN);
    Serial.print("LDR Value: ");
    Serial.println(value);
    delay(200);
}


โปรแกรมนี้จะเป็นโปรแกรมสำหรับอ่านค่าแรงดัน ด้วยฟังก์ชั่น analogRead จากพินที่ A0 จากนั้นก็แสดงผลออกมาทาง Serial


const int LDR_PIN = A0;
void setup()
{
    Serial.begin(9600);
}


ประกาศพินของ LDR ไว้ที่ขา A0 และภายในฟังก์ชั่น setup จะประกาศใช้ serial port


void loop()
{
    int value = analogRead(LDR_PIN);
    Serial.print("LDR Value: ");
    Serial.println(value);
    delay(200);
}


อ่านค่าแรงดันจากขา LDR_PIN ความละเอียดจะอยู่ที่ 10bits 0-5V หมายความว่าถ้าอ่านได้ 1023 คือแรงดัน 5V แต่ถ้าอ่านได้ 0 คือแรงดัน 0V เมื่ออ่านเสร็จแล้วก็แสดงผลออกมาทาง serial port และหน่วงเวลา 200 ms


ค่าตัวนี้ก็จะเปลี่ยนไปตามความเข้มของแสง ดังนั้นเราสามารถเขียนโปรแกรมให้ทำอะไรบางอย่างถ้าค่าเท่านั้น เท่านี้ได้


Sign in to leave a comment