LDR(Light Dependent Resistor) 감광저항 센서는 빛의 강도에 따라 저항 값이 변하는 센서이다.
![]() |
![]() |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://link.coupang.com/a/b2bGXl
아두이노용 LDR 감광 저항센서 모듈 - 기타측정도구 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
원리 :
1. LDR의 재료는 빛을 받으면 전자의 이동이 증가하여 전기 전도도가 높아지고, 그에 따라 저항이 낮아진다. 반대로 빛이 줄어들면 전자의 이동이 줄어들고, 저항은 다시 높아진다.
2. 이 모듈에는 빛의 강도에 따라 출력 신호를 조절하기 위한 가변 저항기를 포함하고 있는데, 이것을 사용하여 센서의 감도를 조절할 수 있다.
3. 디지털, 아날로그 출력을 제공하여 빛의 강도에 대한 연속적인 값을 변환하여, 특정 임계값을 넘으면 디지털 출력을 트리거 할 수 있다.
모듈 핀 기능 :
VCC : 작동 전압 ( DC 3.3 ~ 5V )
GND : 전원 접지( - )
DO (핀) : 디지털 출력
AO (핀) : 아날로그 출력
용도 :
1. 자동 조명 시스템 : 빛의 강도에 따라 조명을 자동으로 조절하는 시스템에 사용된다. 예를 들어 해가 질 때 자동으로 켜지는 가로등 등이 있다.
2. 카메라 노출 조절 : 카메라의 자동 노출 기능에서 조명 상태를 감지하는데 사용된다.
3. 알람 및 보안 시스템 : 빛의 변화로 인해 누군가의 접근을 감지하는 보안시스템에서도 사용된다.
실습 예제 :
LDR 감광센서 모듈과 아두이노, 소리모듈을 사용하여 간단한 프로젝트를 구현하는 방법을 설명하겠다.
LDR 센서를 아두이노에 연결하여 빛의 강도에 따라 데이터를 수집하여 아두이노에 연결된 LED와 소리모듈의 동작을 제어하여 LCD 디스플레이에 출력결과를 표시해보도록 하겠다.
준비품 :
아두이노 우노 R3, LDR 감광저항센서, 개짖는 소리 모듈, LED 다이오드, LCD1602 등이 사용된다.
아두이노 우노 R3 - 조이키트
AI 등 분야에서 센서 및 모듈을 제어할 수 있는 개발보드
joykit.shop
LDR감광 저항센서 - 조이키트
교환 및 반품 주소 - 교환 및 반품이 가능한 경우 - 계약내용에 관한 서면을 받은 날부터 7일. 단, 그 서면을 받은 때보다 재화등의 공급이 늦게 이루어진 경우에는 재화등을 공급받거나
joykit.shop
개짖는 소리 음성 모듈 - 조이키트
교환 및 반품 주소 - 교환 및 반품이 가능한 경우 - 계약내용에 관한 서면을 받은 날부터 7일. 단, 그 서면을 받은 때보다 재화등의 공급이 늦게 이루어진 경우에는 재화등을 공급받거나
joykit.shop
LCD1602 16x2 4핀 디스플레이 모듈 - 조이키트
교환 및 반품 주소 - 교환 및 반품이 가능한 경우 - 계약내용에 관한 서면을 받은 날부터 7일. 단, 그 서면을 받은 때보다 재화등의 공급이 늦게 이루어진 경우에는 재화등을 공급받거나
joykit.shop
아두이노 우노 R3 | LDR 감광저항센서 | 개짖는 소리 모듈 |
![]() |
![]() |
![]() |
LCD1602 | LED 다이오드 | 300옴 저항 |
![]() |
![]() |
![]() |
구성품이 준비되면 다음과 같이 회로를 연결한다.
회로연결 :
아두이노 우노 R3 | LDR 감광센서 | 소리 모듈 | LED 다이오드 | LCD 1602 |
VCC | VCC | VCC | ||
GND | GND | GND | GND | GND |
D3 | VCC | |||
D8 | DO | |||
D9 | +전원 | |||
A0 | AO | |||
A4 | SDA | |||
A5 | SCL |
회로도 :
아래 그림은 실지 회로를 연결한 모습이다.
회로 연결이 전부 끝나면 다음과 같이 코드를 작성한다.
#include <LiquidCrystal_I2C.h>
int sensorPin = A0; // LDR 연결 핀
int ledPin = 9; // LED 연결 핀
int dogPin = 3;
int threshold = 750; // 임계값 (0~1023 범위)
먼저 LCD1602 라이브러리를 설치하고 변수 sensorPin, ledPin, dogPin, threshold 를 선언한다.
여기서 threshold 변수의 임계 값이 750을 넘으면 아두이노에 연결된 LED와 소리모듈을 제어할 수 있다.
LiquidCrystal_I2C lcd (0x27,16,2); // LCD1602 hexa값, 2행 16열 설정
LCD 1602는 16행 2열로 설정한다.
void setup() {
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 백라이트 켬
pinMode(ledPin, OUTPUT); // LED 핀을 출력 모드로 설정
pinMode(dogPin, OUTPUT); // dog 핀을 출력 모드로 설정
Serial.begin(9600); // 시리얼 통신 시작
}
LCD 모듈을 초기화하고, 백라이트를 켜준다.
ledPin, dogPin을 출력모드로 설정하고, 시리얼 통신은 9600으로 시작한다.
void loop() {
int sensorValue = analogRead(sensorPin); // LDR에서 아날로그 값 읽기
Serial.println(sensorValue); // 시리얼 모니터에 값 출력
// 밝기가 임계값 이하이면 LED 켜기
if (sensorValue > threshold) {
digitalWrite(ledPin, HIGH);
digitalWrite(dogPin, HIGH);
lcd.setCursor(0,0);
lcd.print("LED : ON");
lcd.setCursor(0,1);
lcd.println(sensorValue);
} else { // 밝기가 임계값 이상이면 LED 끄기
digitalWrite(ledPin, LOW);
digitalWrite(dogPin, LOW);
lcd.setCursor(0,0);
lcd.print("LED : OFF");
lcd.setCursor(0,1);
lcd.println(sensorValue);
}
sensorValue 변수로 sensorPin의 아날로그 값을 읽어드리고, sensorValue 값에 따라 아두이노에 연결된 모듈을 제어한다.
전체 코드 :
#include <LiquidCrystal_I2C.h>
int sensorPin = A0; // LDR 연결 핀
int ledPin = 9; // LED 연결 핀
int dogPin = 3;
int threshold = 750; // 임계값 (0~1023 범위)
LiquidCrystal_I2C lcd (0x27,16,2); // LCD1602 hexa값, 2행 16열 설정
void setup() {
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 백라이트 켬
pinMode(ledPin, OUTPUT); // LED 핀을 출력 모드로 설정
pinMode(dogPin, OUTPUT); // dog 핀을 출력 모드로 설정
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
int sensorValue = analogRead(sensorPin); // LDR에서 아날로그 값 읽기
Serial.println(sensorValue); // 시리얼 모니터에 값 출력
// 밝기가 임계값 이하이면 LED 켜기
if (sensorValue > threshold) {
digitalWrite(ledPin, HIGH);
digitalWrite(dogPin, HIGH);
lcd.setCursor(0,0);
lcd.print("LED : ON");
lcd.setCursor(0,1);
lcd.println(sensorValue);
} else { // 밝기가 임계값 이상이면 LED 끄기
digitalWrite(ledPin, LOW);
digitalWrite(dogPin, LOW);
lcd.setCursor(0,0);
lcd.print("LED : OFF");
lcd.setCursor(0,1);
lcd.println(sensorValue);
}
delay(100); // 100ms 대기 (출력 속도 조절)
lcd.clear();
}
코드를 전부 작성한 후 컴파일 하고 업로드 하면 다음과 같은 출력 결과를 볼 수 있다.
출력 결과 :
https://www.youtube.com/watch?v=LeMFeUzghe8
'아두이노 센서 모듈 활용' 카테고리의 다른 글
DHT11 온습도 센서 사용법 (0) | 2025.03.07 |
---|---|
아두이노 DC5V 4채널 릴레이모듈 사용방법 (0) | 2025.02.06 |
HC-SR501 인체감지 센서 모듈 사용법 (0) | 2024.06.29 |
조이스틱 모듈을 아두이노에 연결하여 LED 제어 하는법 (0) | 2024.06.23 |
MQ-135 센서를 사용한 "아두이노 가스감지 측정기" (0) | 2024.06.19 |