컴퓨터
[아두이노 센서] KY-018 Photoresistor Module
조이팜
2026. 1. 4. 15:37
주변 빛의 밝기를 전기 신호(아날로그 값)로 바꿔주는 센서 모듈

1. [KY-018 모듈] 무엇을 하는 친구일까?
"빛의 밝기를 전압으로 바꿔주는 전자 눈"
- 핵심 부품: 황화카드뮴(CdS)을 이용한 광가변저항이 달려 있습니다.
- 작동 원리: 주변이 밝으면 저항값이 낮아지고, 어두우면 저항값이 높아지는 성질을 가졌습니다. 아두이노는 이 저항의 변화를 아날로그 전압 값(0~1023)으로 읽어들입니다.
- 특징: 빛의 유무뿐만 아니라 밝기의 정도(조도)를 세밀하게 측정할 수 있어 활용도가 매우 높습니다.

2. [활용사례] 우리 주변의 어디에 있을까?
"주변 환경에 따라 스스로 반응하는 똑똑한 장치들"
- 가로등: 어두워지면 자동으로 켜지고, 해가 뜨면 자동으로 꺼지는 스마트 가로등.
- 스마트폰: 주변 밝기에 따라 화면의 밝기를 조절하는 '자동 밝기' 기능.
- 디지털 카메라: 촬영 시 플래시를 터뜨릴지 말지 결정하는 노출계.
- 스마트 홈: 낮에는 블라인드를 열고 밤에는 닫는 자동 커튼 시스템.


3. [회로도] 어떻게 연결할까?
"아날로그 값을 읽기 위한 3핀 연결"

KY-018은 밝기의 정도를 읽어야 하므로 아두이노의 아날로그 핀(A0)에 연결합니다.
|
모듈 핀
|
아두이노 연결
|
설명
|
|
S (Signal)
|
Analog A0
|
밝기에 따른 아날로그 전압 값 전송
|
|
중간 (VCC)
|
5V
|
센서 전원 공급
|
|
- (GND)
|
GND
|
접지선
|
4. [코드설명] 아두이노에게 명령 내리기
"밝으면 숫자가 커지고 어두우면 작아지는 마법"

int sensorPin = A0; // 조도 센서를 아날로그 0번에 연결 int ledPin = 13; // 테스트용 내장 LED void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { int val = analogRead(sensorPin); // 0 ~ 1023 사이의 값을 읽음 Serial.print("현재 밝기 수치: "); Serial.println(val); // 어두워지면(수치가 낮아지면) LED를 켭니다. // (모듈 방식에 따라 밝을 때 수치가 낮을 수도 있으니 확인 필요!) if (val < 300) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } delay(200); }

5. [미션] 도전! 직접 만들어보기
"똑똑한 밤길 지킴이, 자동 가로등 만들기"
- 반전 제어: 손으로 센서를 가렸을 때(어두울 때)만 아까 배운 KY-016 RGB LED에서 노란색 불빛이 나오게 만들어 보세요.
- 그래프 관찰: 아두이노 툴에서 **[시리얼 플로터]**를 켜고, 전등을 켜고 끌 때 그래프가 어떻게 요동치는지 블로그에 캡처해서 올려보세요.
- 정밀 세팅: 실내 전등을 켰을 때와 손으로 가렸을 때의 수치 차이를 확인하여, LED가 켜지는 최적의 threshold(기준값)를 직접 찾아보세요.
*모듈 설계에 따라 저와 반대로 작동될 수 있습니다.
#아두이노 #KY-018 #조도센서 #CdS센서 #빛감지 #스마트가로등만들기
반응형