초급⏱ 예상 시간: 30분📝 4단계
스마트 가로등 만들기
조도 센서로 어두워지면 자동으로 켜지는 스마트 가로등을 만들어봅니다. 아날로그 입력과 디지털 출력의 기본을 배울 수 있습니다.
🧩 필요한 모듈
Arduino Uno
브레드보드
점퍼 와이어
LED
저항 (220Ω / 10kΩ)
조도 센서 (CdS)
📖 단계별 설명서
1단계준비물 확인
다음 부품들을 준비해주세요:
- Arduino Uno 1개
- 브레드보드 1개
- 점퍼 와이어 5개
- LED 1개
- 220Ω 저항 1개
- 10kΩ 저항 1개
- 조도 센서 (CdS) 1개
💡 팁: LED의 긴 다리가 양극(+), 짧은 다리가 음극(-)입니다.
2단계회로 연결하기
아래 회로도를 참고하여 부품을 연결합니다.
- 조도 센서의 한 쪽을 5V에 연결합니다.
- 조도 센서의 다른 쪽을 A0 핀과 10kΩ 저항에 연결합니다.
- 10kΩ 저항의 다른 쪽을 GND에 연결합니다.
- LED의 양극(+)을 220Ω 저항을 통해 D9 핀에 연결합니다.
- LED의 음극(-)을 GND에 연결합니다.
📐 회로도
회로도 이미지
/images/projects/smart-streetlight-circuit.png
💡 팁: 조도 센서와 10kΩ 저항은 분압 회로를 구성합니다.
3단계코드 작성하기
Arduino IDE를 열고 아래 코드를 입력합니다. 이 코드는 조도 센서 값을 읽어 어두우면 LED를 켜고, 밝으면 LED를 끕니다.
code.ino
// 스마트 가로등 - ModuKit
// 조도 센서로 어두워지면 LED가 자동으로 켜집니다.
const int CDS_PIN = A0; // 조도 센서 핀
const int LED_PIN = 9; // LED 핀
const int THRESHOLD = 500; // 밝기 기준값
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
Serial.println("스마트 가로등 시작!");
}
void loop() {
int brightness = analogRead(CDS_PIN);
Serial.print("밝기: ");
Serial.println(brightness);
if (brightness < THRESHOLD) {
// 어두우면 LED 켜기
digitalWrite(LED_PIN, HIGH);
Serial.println("→ LED ON (어두움)");
} else {
// 밝으면 LED 끄기
digitalWrite(LED_PIN, LOW);
Serial.println("→ LED OFF (밝음)");
}
delay(500);
}+12 줄 더 보기
💡 팁: THRESHOLD 값을 조절하면 LED가 켜지는 밝기를 변경할 수 있어요.
4단계업로드 및 테스트
- Arduino IDE에서 보드를 'Arduino Uno'로 선택합니다.
- 올바른 포트를 선택합니다.
- 업로드 버튼(→)을 클릭합니다.
- 업로드가 완료되면 조도 센서를 손으로 가려보세요.
- 어두워지면 LED가 켜지고, 손을 떼면 LED가 꺼집니다!
💡 팁: 시리얼 모니터(Ctrl+Shift+M)를 열면 실시간 밝기 값을 확인할 수 있어요.