스마트 블라인드: 아두이노와 태양광으로 자동 조명 제어
부품 및 소모품
| 부품 | 수량 | 비고 |
| 스파크펀 아두이노 프로 미니 328 - 5V/16MHz | 1 | |
| 아두이노 우노 (프로 미니 프로그래밍용) | 1 | |
| 온도 센서 (LM35DZ) | 1 | |
| PN2907A PNP 트랜지스터 | 1 | 서보 고사이드 스위치용 |
| 조도 센서 (LDR) | 1 | |
| 저항 10kΩ | 1 | LDR 풀다운용 |
| 저항 1kΩ | 1 | 트랜지스터 베이스용 |
| 태양광 패널 5V 1.5W | 1 | |
| DC-DC 부스터 5V | 1 | 3.6V 배터리를 5V로 승압 |
| 리튬 배터리 충전 모듈 (TP4056 등) | 1 | |
| JST 커넥터 세트 | 1 | 배터리/패널 탈착용 |
| 4xAA 배터리 홀더 (초기 테스트용) | 1 | |
| 서보 모터 (Tower Pro MG996R 또는 동급) | 1 | 블라인드 회전 구동 |
| 충전식 3.6V 리튬 배터리 (18650 등) | 1 | |
| 서보 모터 커플링 | 1 | 블라인드 샤프트 연결용 |
| 커패시터 100nF | 1 | 전원 안정화 |
| 커스텀 PCB (OSH Park 등) | 1 | |
| 각종 점퍼 와이어 | 1 | |
필요 도구
- 납땜 인두, 납, 와이어 커터/스트리퍼
- 드릴, 드레멜(또는 소형 절단 공구)
- 멀티미터
- 수축 튜브, 회로 기판/브레드보드
소프트웨어
프로젝트 배경 및 개선 사항
이 프로젝트는 기존 '자동 태양광 수평 블라인드'의 설계 결함을 개선한 버전입니다. 원래 블라인드는 조도에 따라 개폐하고, 과열 시(임계 온도 30°C) 닫히도록 설계되었으나, 4개월 운영 후 다음과 같은 문제점이 발견되었습니다.
발견된 문제점 및 해결 방안
- 태양광 패널 위치 부적절: 겨울엔 햇빛이 잘 들지만 여름엔 정오 이후 그늘짐. → 패널 위치를 연중 일조량 최대화 지점으로 이동.
- 서보 모터 대기 전류 과다(13mA): 슬립 모드에서도 지속 소비. → PNP 트랜지스터(PN2907A)를 이용한 하이사이드 스위치로 서보 전원 완전 차단.
- 6V 태양광 패널이 충전 모듈 입력 전압 범위(4.5~5.5V) 초과: 과전압 시 충전 중단. → 5V 1.5W 패널로 교체.
- 로깅/텔레메트리 부재: 고장 진단 어려움. → EEPROM 로깅 기능 추가 (일일 2회 동작 기준 약 42회 저장 가능).
- 배터리/패널 탈착 불가: 수리 시 전체 분해 필요. → JST 커넥터로 간편 탈착 가능하게 수정.
- 기준 전압 불안정: DC-DC 부스터 출력이 아닌 아두이노 프로 미니의 정류된 5V(VCC)를 아날로그 기준 전압으로 사용해야 정확한 ADC 측정 가능.
제작 단계
1단계: 부품 리스트 준비
위 표 참조. 대부분 스파크펀, 뱅굿, 타이다일렉트로닉스 등에서 구매 가능.
2단계: 프로토타입 구성 및 테스트
- 리튬 배터리를 DC-DC 부스터에 연결해 5V 출력 확인 (약 5.04V).
- 브레드보드에 모든 부품 배치 후 회로 구성.
- 서보 모터 없이 대기 전류 측정 → 서보 연결 후 전류 증가 확인 (약 14mA 증가).
- NPN 트랜지스터 로우사이드 스위치 시도 실패 → PNP 트랜지스터 하이사이드 스위치로 성공 (대기 전류 1.5mA 달성).
3단계: 프로그래밍
아두이노 우노에서 IC를 분리하고 프로 미니에 직접 프로그래밍 (TX↔TX, RX↔RX, RESET↔RST, 5V↔VCC, GND↔GND). 아두이노 IDE에서 'Arduino Pro or Pro Mini' 보드 선택 후 업로드.
주요 라이브러리: LowPower (슬립 모드), EEPROMLog (로깅), Servo.
코드 핵심 로직:
- 조도(LDR) 임계값 기준으로 아침(열기 85°)/저녁(닫기 0°) 제어
- 온도(LM35) 30°C 초과 시 블라인드 상향 닫기(165°)
- EEPROM에 동작 로그 저장 (타임스탬프, 배터리/패널 전압, 온도, 조도, 동작 종류)
- 인터럽트 기반 버튼 입력으로 수동 제어 가능
4단계: PCB 조립 및 최종 프로그래밍
- JST 커넥터에 솔리드 와이어 납땜해 길이 연장 (배터리/패널 위치 유연성 확보).
- PCB 크기 맞춰 절단, 부품 납땜 (서보 커넥터 높이 고려).
- DC-DC 부스터 표시 LED 패턴 제거로 약 1mA 절약.
- 최종 조립 후 EEPROM 로깅 활성화, 최종 전류 측정 (슬립 1.5mA, 동작 25mA, 서보 구동 200~500mA).
5단계: 블라인드 설치
- 기존 풀코드용 코르크스크류 드라이브 제거 (서보 토크 부족 방지).
- LDR 노출용 작은 구멍 드릴링 (외부 향하게).
- 서보 모터 크기에 맞춰 레일 상단 컷팅 (드레멜 사용).
- PCB 삽입, LDR 구멍 정렬, 서보 커플링으로 블라인드 샤프트 연결.
- 사다리 타고 블라인드 설치, 태양광 패널은 창문 중앙 상단에 고정 (와이어는 프레임 따라 테이핑).
- 배터리 연결 후 블라인드 레일에 수납, 장식 트림 복원.
운영 결과
수개월 운영 결과 설계 의도대로 완벽 동작. 실내 조명 켜짐 시 블라인드가 열려 있어 시연 효과 좋음. 한여름 고온 시 실내 온도 70°F(약 21°C)에서도 창가 온도 상승 감지해 자동 닫힘.
소스 코드 및 자료
회로도
프리칭 회로도 파일 (GitHub)