조도 센서 (Photo Resistor) : 주변의 밝기를 측정하는 센서이다.
광에너지 (빛)를 받으면 내부에 움직이는 전자가 발생하여 전도율이 변하는 광전 효과를 가지는 소자를 사용한다.
스마트 가로등
조도 센서가 빛의 양을 감지해 센서 값이 기준값 이상이면 LED를 켜고, 그 이하이면 LED를 끈다.
아두이노의 입력 핀에서는 플로팅 현상으로 인해 정확한 입력 값을 측정할 수 없다.
이를 해결하기 위해서는 풀업 또는 풀다운 저항을 사용해야 한다.
그림과 같이 브레드보드에 조도 센서와 10kΩ 저항을 풀업 저항 방식으로 끼워넣어준다.
LED의 긴 다리는 아두이노의 13번 핀에, 짧은 다리는 아두이노의 GND에 연결한다.
저항은 220Ω을 사용한다.
Sketch Code
const int led = 13; // LED를 연결할 핀 번호
const int sensor = A0; // 아날로그 센서 핀 번호
int senVal = 0; // 센서값을 저장할 변수
void setup() {
pinMode(sensor, INPUT); // A0번 핀을 입력으로 사용 (생략 가능)
pinMode(led, OUTPUT); // 13번 핀을 출력으로 사용
Serial.begin(9600);
}
void loop() {
senVal = analogRead(sensor); // 아날로그 0번 핀의 값을 senVal 변수에 저장
Serial.println(senVal);
if (senVal > 500) // 만약 센서의 값이 500을 넘으면
{
digitalWrite(led, HIGH); // LED 를 켜고,
} else {
digitalWrite(led, LOW); // 아니면 LED를 꺼라
}
delay(1000); // 1초 대기
}