亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino + TEA5767 打造 FM 收音机:Nokia 5110 显频谱/信号强度/立体声

项目简介

基于 Arduino Nano、TEA5767 FM 接收模块、Nokia 5110 LCD(PCD8544)、LM386 音频放大器与 3W 喇叭,在面包板上 30 分钟搭建一台功能完整的 FM 收音机。支持 87~108 MHz 全频段搜台、电位器调频/调音量、信号强度条、立体声指示、开机动画,总成本约 $15。

硬件清单

接线要点

模块关键引脚连接
TEA5767SDA→A4, SCL→A5, VCC→3.3V, GND→GND, 音频输出→音频线→音量电位器输入
Nokia 5110RST→D12, CE→D11, DC→D10, DIN→D9, CLK→D8, VCC→3.3V, LIGHT→GND(常亮), GND→GND
LM386IN→音量电位器中间脚, GND→GND, VCC→5V, OUT→喇叭
调频电位器中间脚→A0, 两端→5V/GND

TEA5767 模块自带耳机放大器,输出信号微弱且无软件音量控制,必须外接音量电位器 + LM386 后级推喇叭。

软件架构

使用两个库:Adafruit_PCD8544(或 U8g2)驱动屏幕,TEA5767 库控制射频芯片。核心流程:

void setup() {
  radio.setMonoReception();           // 强制单声道(可选)
  radio.setStereoNoiseCancellingOn(); // 立体声降噪
  initScreen(); showSplashScreen();   // 开机画面 3 秒
  Serial.begin(9600);
}

void loop() {
  int val = analogRead(A0);                    // 读调频电位器
  int freqInt = map(val, 2, 1014, 8700, 10700); // 映射 87.00~107.00 MHz
  float freq = freqInt / 100.0;

  // 防抖:频率变化 >0.1 MHz 才重新选台
  if (abs(freq - prevFreq) >= 0.1) {
    lcd.clrScr();
    radio.selectFrequency(freq);
    printSignalStrength(); // 读取 RSSI 画信号条
    printStereo();         // 判断立体声图标
    printFrequency(freq);  // 显示频率 xx.xx MHz
    prevFreq = freq;
  }
  sevseg.refreshDisplay(); // 若用数码管显示频率
}

关键调试技巧

外壳与进阶规划

总结

这是一个极具成就感的入门级射频项目,涵盖 I2C 通信、图形 LCD 驱动、模拟音频链路、人机交互等核心技能。从面包板验证到成品外壳,每一步都可按需深入。拿起烙铁,听听空中飘来的音乐吧!

制造工艺

  1. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  2. 树莓派 + Arduino 联手打造 Wi-Fi 网络收音机,畅听全球电台
  3. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  4. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  5. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  6. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  7. 使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
  8. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  9. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  10. Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
  11. Arduino RGB 颜色混合器 – 分步制作教程
  12. DIY全波段Arduino收音机:Si4730模块实现LW/MW/SW/FM接收