이 프로젝트는 아두이노를 활용한 스마트 알람 시계입니다. LCD 디스플레이, TM1637 디스플레이, DHT11 센서, RTC 모듈, 버튼, 부저를 결합하여 다양한 기능을 제공합니다. 날짜 및 시간 설정, 알람 설정, 온도/습도 확인, LCD 밝기 조절 등 여러 기능을 구현했습니다.
- RTC 모듈: 현재 날짜와 시간을 RTC DS3231 모듈로 관리.
- LCD 및 TM1637 디스플레이: LCD에 날짜/시간/요일, TM1637 디스플레이에 시간 표시.
- 알람 설정: 사용자 정의 알람 시간과 요일 설정 가능.
- 알람 활성화/비활성화: 버튼을 사용해 알람 상태를 토글.
- 부저 알림: 알람 시간에 도달하면 부저가 작동.
- DHT11 센서: 현재 온도와 습도를 측정하여 LCD에 표시.
- 섭씨/화씨 변환: 버튼을 통해 온도 단위를 변경 가능.
- 밝기 설정: 버튼을 사용해 LCD 밝기 조절 가능.
- 날짜 및 시간 설정
- 알람 시간 및 요일 설정
- 홈 화면으로 복귀 기능
| 부품 | 핀 번호 | 설명 |
|---|---|---|
| DHT11 센서 | D2 | 온도 및 습도 센서 입력 |
| RTC DS3231 모듈 | I2C (SDA, SCL) | 실시간 시계 모듈 |
| LCD (I2C) | I2C (SDA, SCL) | 16x2 문자 디스플레이 |
| TM1637 디스플레이 | D3 (CLK), D4 (DIO) | 시간 디스플레이 출력 |
| 설정 버튼 | D6 | 설정 메뉴 진입 버튼 |
| 알람 버튼 | D7 | 알람 토글 및 부저 끄기 버튼 |
| 밝기 조절 버튼 | D8 | LCD 밝기 조절 및 온도 단위 변경 버튼 |
| 부저 | D9 | 알람 작동 시 소리 출력 |
- Wire.h: I2C 통신
- LiquidCrystal_I2C.h: LCD 디스플레이 제어
- DHT.h: 온도 및 습도 센서 제어
- RTClib.h: RTC DS3231 모듈 제어
- TM1637Display.h: TM1637 디스플레이 제어
- 아두이노 IDE를 설치합니다.
- 필요한 라이브러리를 설치합니다:
LiquidCrystal_I2CDHTRTClibTM1637Display
- 아두이노 보드(예: Arduino Uno)를 컴퓨터에 연결하고, 코드를 업로드합니다.
- 위의 핀 연결 표를 참고하여 센서 및 부품을 아두이노 보드에 연결합니다.
- 아두이노에 전원을 연결하여 시스템을 실행합니다.
- 초기 화면에 날짜, 시간, 온도/습도가 표시됩니다.
- 버튼을 사용하여 알람 설정, 시간 설정, LCD 밝기 조절 등의 기능을 테스트합니다.
- RTC 모듈에서 읽은 데이터를 LCD와 TM1637에 표시합니다.
- 요일은 LCD에 문자 형식으로 표시됩니다.
- 설정된 시간과 현재 시간이 일치하면 부저가 작동합니다.
- 버튼을 눌러 알람을 끄거나 다시 활성화할 수 있습니다.
- DHT11 센서를 통해 온도와 습도를 측정하여 LCD에 표시합니다.
- 온도 단위는 섭씨(C) 또는 화씨(F)로 전환할 수 있습니다.
- 버튼을 사용하여 LCD 백라이트 밝기를 조절할 수 있습니다.
-
날짜 및 시간 표시
- LCD와 TM1637 디스플레이에서 날짜와 시간을 정확히 표시합니다.
-
알람 기능
- 설정된 시간과 요일에 알람이 작동하며, 부저가 울립니다.
- 버튼을 눌러 알람을 비활성화할 수 있습니다.
-
온도 및 습도 측정
- DHT11 센서 데이터를 LCD에 정확히 표시합니다.
- 섭씨/화씨 변환이 정상적으로 작동합니다.
-
LCD 밝기 조절
- 버튼을 통해 LCD 밝기를 성공적으로 조절할 수 있습니다.
아래의 링크를 통해 스마트 알람 시계의 동작 시연 영상을 확인하실 수 있습니다:
본 프로젝트는 학습 목적으로 개발된 스마트 알람 시계로, RTC, DHT11, LCD 등의 기초적인 아두이노 활용법을 포함하고 있습니다.
