이 세션에서는 Real Time Clock Module DS1307과 Raspberry PI를 인터페이스하여 알람 시계를 만들 것 입니다. Raspberry Pi에는 내부 시계가 있지만 인터넷 연결이 없으면이 내부 시계는 재부팅 할 때마다 재설정됩니다. 따라서 인터넷 연결없이 정확한 시간을 얻으려면 RTC 모듈 DS1307을 Raspberry Pi에 인터페이스해야합니다. RTC 모듈에는 백업용 버튼 배터리가 있으므로 시간이 재설정되지 않습니다. 우리는 또한 Arduino를 사용하고 ATmega32 AVR 마이크로 컨트롤러를 사용하여 알람 시계를 구축했습니다.
이 라즈베리 파이 디지털 시계 에서 16 * 2 문자 LCD는 실시간, 알람 시간 및 알람 상태 (ON / OFF)를 표시합니다. 프로그램이 Pi에서 실행되기 시작하면 모니터를 분리하고이 LCD와 5 개의 버튼을 사용하여 알람을 설정할 수 있습니다.
17 개의 GPIO 핀 각각은 최대 15mA 전류를 전달하거나 끌어 올 수 있습니다. 따라서 GPIO 핀을 사용하지 말고 Raspberry Pi에 전원을 공급하기 전에 연결을 두 번 확인하십시오. 여기에서 GPIO 핀 및 Raspberry Pi와의 인터페이스 버튼에 대해 자세히 알아보십시오. 또한 좋은 IoT 프로젝트와 함께 Raspberry Pi 튜토리얼 시리즈를 확인하십시오.
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며, 시작하려면 Raspberry Pi 소개 및 Raspberry PI LED Blinking에서 찾아 볼 수 있습니다.
- OS가 사전 설치된 Raspberry Pi
- RTC 모듈 DS1307 (배터리 포함)
- 전원 공급
- 1KΩ 저항기 (6 개)
- 5 개의 버튼
- 1000uF 커패시터 (2 개)
- 16 * 2 문자 LCD
- 2N2222 트랜지스터
- 부저
알람 시계 용 Raspberry Pi 설정:
더 진행하기 전에 Raspberry Pi를 약간 구성하고 RTC 모듈 용 라이브러리 파일을 설치해야합니다. 아래 단계를 따르십시오.
1 단계: 먼저 Raspberry Pi 구성 메뉴로 이동하여 아래와 같이 I2C 옵션을 활성화합니다.
2 단계: Raspberry Pi 데스크탑 화면에 새 폴더를 만들고 이름을 "Alarm Clock"으로 지정합니다.
3 단계: 아래 링크에서 RTC 모듈 용 헤더 파일을 다운로드합니다.
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
4 단계: 이전 단계에서 설명한대로 다운로드 한 zip 파일을 데스크톱에 생성 된 폴더 (Alarm Clock)에 압축 해제합니다.
5 단계: Raspberry Pi에서 터미널 창을 열고 아래 명령을 입력 한 다음 Enter 키를 누릅니다.
sudo apt-get i2c-tools 설치
이 명령은 RTC 모듈 인터페이스에 필요한 I2C 도구를 설치합니다. 그런 다음 ' sudo reboot' 명령 을 실행하여 Raspberry pi를 재부팅하십시오.
6 단계: 이제 RTC 모듈의 I2C 주소를 확인해야합니다. 주소를 확인하기 전에 먼저 아래 회로도와 같이 RTC 모듈을 연결하십시오.
그런 다음 터미널 창에 아래에 입력하십시오.
sudo i2cdetect -y 0 또는 sudo i2cdetect -y 1
7 단계: 위의 명령 중 하나가 작동하면 다음과 같은 내용이 표시됩니다.
8 단계: RTC 모듈이 올바르게 연결되면 I2C 주소 0x68이 표시됩니다. 값을 기록하십시오.
이를 통해 필요한 모든 조정이 Raspberry Pi 구성으로 수행됩니다.
회로도 및 연결:
Raspberry Pi와 LCD 간의 연결은 아래 표에 나와 있습니다.
Raspberry Pi와 5 개 버튼 간의 연결도 각 버튼의 각 기능과 함께 아래 표에 나와 있습니다.
프로그램 및 작업 설명:
RTC 모듈에는 논의 된 바와 같이 전원 백업용 버튼 셀이 있으므로 백업이 만료 될 때까지 시간이 최신 상태이며 RTC에서 정확한 시간을 확인할 수 있습니다.
이제 RTC 모듈 DS1307에서 정확한 시간을 얻기 위해 Python 프로그램 을 작성합니다. 이번에는 16x2 LCD에 표시됩니다. 그 후 우리는 프로그램에 작성된 알람 시계 기능을 갖게 될 것입니다. 알람 시간은 LCD의 두 번째 줄에 표시되고 ON 및 OFF 상태가 이어집니다. 알람 시간은 위의 표와 같이 라즈베리 파이에 연결된 5 개의 버튼으로 조정할 수 있으며 알람 설정이 매우 쉽습니다. 이 Raspberry Pi 알람 시계 를 작동하기 위해 데모 비디오 를 확인할 수도 있습니다. 알람 시간 증감 버튼 2 개, 알람 분 시간 증감 버튼 2 개, 알람 ON / OFF 버튼 1 개가 있습니다.
Python 프로그램은 알람 시간과 RTC 시간을 지속적으로 비교하고 알람 시간이 RTC 시간과 일치하면 PI는 NPN 트랜지스터 2N2222를 통해 Raspberry Pi의 GPIO 핀 22에 연결된 Buzzer를 트리거합니다. 따라서 알람 시간이되면 부저가 울립니다.
완전한 프로그램 은 아래에 주어지며 주석을 통해 잘 설명됩니다. 의심스러운 점이 있으면 아래 댓글 섹션에서 요청할 수 있습니다.