RDA5807 & 아두이노 프로 미니로 나만의 FM 라디오 만들기
부품 및 소모품
| RDA5807 FM 라디오 모듈 |
× |
1 |
| 스파크펀 아두이노 프로 미니 328 - 3.3V/8MHz |
× |
1 |
| 노키아 5110 디스플레이 |
× |
1 |
| 18650 리튬이온 배터리 |
× |
1 |
| 18650 배터리 케이스 |
× |
1 |
| 아다프루트 USB 리튬이온 배터리 충전기 |
× |
1 |
| 오디오 앰프 |
× |
1 |
| 포토레지스터 (조도 센서) |
× |
1 |
| 범용 NPN 트랜지스터 |
× |
1 |
| 저항 100옴 |
× |
1 |
| 저항 10k옴 |
× |
2 |
| 저항 300k옴 |
× |
1 |
| 저항 1M옴 |
× |
1 |
| 로터리 인코더 (푸시버튼 포함) |
× |
1 |
| 스피커 |
× |
1 |
필요한 도구 및 기계
앱 및 온라인 서비스
프로젝트 소개
간단 설명
이 프로젝트는 아두이노로 제어하는 간단한 FM 라디오 만들기입니다. 인터넷 서핑 중 RDS 신호 수신을 지원하는 훌륭한 FM 라디오 모듈 RDA5807을 발견했습니다. 이 모듈로 커스텀 기능이 있는 나만의 FM 라디오를 만들면 재밌겠다고 생각했습니다. 게다가 리튬이온 충전 배터리로 구동되고 흥미로운 USB 충전기도 갖출 수 있습니다.
노키아 5110 디스플레이는 잘 읽히고, 사용하기 쉽고, 커스터마이징 가능하고, 저전력이라 배터리 수명 연장에 도움이 돼 라디오에 좋은 선택이라 생각합니다.
이 프로젝트의 주요 특징
- 18650 리튬이온 배터리와 USB 충전기로 라디오 전원 공급
- 그래픽 노키아 5110 디스플레이로 친숙한 사용자 인터페이스 구현 (현재 경우는 아님)
- 이전 방송국 4개 리스트 기능으로 방송국 간 이동 간소화
- RDS 정보(방송국 이름) 화면 하단에 표시
- 화면 백라이트 자동 조절
RDA5807은 독립적인 라디오 모듈로 3.3V 전원을 구현합니다. 프로젝트를 단순화하려고 아두이노 프로 미니 3.3V 컨트롤러로 라디오 모듈을 제어합니다. 내부 전압 레귤레이터가 라디오 모듈과 화면에 올바른 전압을 보장합니다. 볼륨을 적절히 만들기 위해 간단한 오디오 앰프를 구현했습니다. 리튬이온 배터리가 레귤레이터 없이 앰프에 직접 전원을 공급합니다.
노키아 화면 정보 표시에 U8GLIB 그래픽 라이브러리를 사용했습니다. 이 라이브러리는 빠르고, 신뢰성 있고, 확장 가능하며 많은 흑백 디스플레이에 매우 편리합니다. 라이브러리에 새로운 키릴 폰트를 추가했으니 스케치에서 가진 폰트를 선택하세요.
라디오 조작 방법
라디오는 로터리 인코더로 조작합니다. 튜너는 자동 모드와 수동 모드 두 가지로 동작합니다. 기본은 자동 모드입니다. 이 모드에서 인코더를 앞으로/뒤로 돌리면 라디오 모듈이 좋은 신호 레벨의 방송국을 위/아래로 탐색합니다. 한 번 눌러 수동 모드로 전환하면 주파수를 직접 설정할 수 있습니다.
최근 4개 방송국 리스트는 방송국 변경 시마다 아두이노 EEPROM에 저장됩니다. EEPROM 수명 보존을 위해 저장 프로시저는 방송국 변경 1분 후에 호출됩니다. 그래서 좋아하는 방송국 찾을 때까지 EEPROM에 아무것도 저장하지 않고 자유롭게 탐색할 수 있습니다.
최근 4개 방송국 리스트를 보려면 인코더를 길게 누르세요(약 2초). 그러면 인코더를 돌려 리스트에서 방송국을 고를 수 있습니다. 방송국으로 전환하려면 인코더를 누르세요.
결론
RDA5807 라디오 모듈은 매우 편리한 라이브러리와 흥미로운 기능을 구현한 훌륭한 FM 라디오 수신기입니다. 라디오 방송국에서 멀리 있을 경우 충분히 긴 안테나가 필요합니다. 음질은 괜찮습니다. 더 좋은 오디오 앰프를 써도 되지만, 더 강력한 앰프는 배터리 수명을 단축시킬 수 있습니다.
코드
FM 라디오 소스 코드
저장소에 두 버전이 있습니다: 풀 버전과 라이트 버전(백라이트 제어와 방송국 히스토리 제외). 풀 버전은 하드웨어 테스트 완료, 라이트 버전은 소스에서 빌드만 했고 테스트 안 함. https://github.com/sfrwmaker/fm_radio_rda5807
회로도
회로도 이미지 포함