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

基于 Si4730 与 Arduino Nano 的全波段收音机:长波/中波/短波/FM

组件与物料

组件数量
Arduino Nano R31
Si4730 收音机模块1
Adafruit 16x2 字符 LCD(白字蓝底)1
带按键的旋转编码器1
PAM8403 Class D 音频放大器模块1
扬声器 0.25W 8Ω1
旧中波收音机铁氧棒天线1
拨码开关1

所需工具

软件工具

项目背景

提到 Arduino 收音机,通常只想到 FM(88-108 MHz)。长波(LW)、中波(MW)覆盖 0.2-1.6 MHz,短波(SW)覆盖 3-30 MHz。短波信号可经电离层反射实现跨洲际通信,极具魅力。

本项目基于 Silicon Labs Si4730 芯片(淘宝/速卖通几美元买到的小模块)打造全波段收音机。虽厂商宣称仅支持 AM/FM,实测短波表现优异。音频输出采用廉价 PAM8403 Class D 放大板(2×3W)。

硬件架构

软件功能

核心代码片段

#include <Si4735.h> #include <LiquidCrystal.h> #include <rotary.h> #include <Wire.h>

Rotary r = Rotary(2, 3);
LiquidCrystal lcd(12, 13, 7, 6, 5, 4);
const byte band = A0;
Si4735 radio;

void setup() {
  lcd.begin(16, 2);
  PCICR |= (1 << PCIE2);
  PCMSK2 |= (1 << PCINT18) | (1 << PCINT19); sei();
  pinMode(band, INPUT_PULLUP);
  radio.begin(); radio.setMode(AM); command_am();
  radio.tuneFrequency(880);
  lcd.setCursor(0, 0); lcd.print("JCR Multiband Rx");
}

ISR(PCINT2_vect) { // 编码器中断
  unsigned char result = r.process();
  if (result == DIR_CW) freq = min(freq + fstep, freqmax);
  else freq = max(freq - fstep, freqmin);
}

void loop() {
  if (freqold != freq) { radio.tuneFrequency(freq); freqold = freq; }
  lcd.setCursor(5, 0); lcd.print(freq); lcd.print(" ");
  if (digitalRead(band) == LOW) { inc_preset(); while(digitalRead(band)==0); }
  RSQMetrics rsq; radio.getRSQ(&rsq);
  lcd.setCursor(0, 2); lcd.print("dBu: "); lcd.print(rsq.RSSI);
  lcd.setCursor(9, 2); lcd.print("dB: "); lcd.print(rsq.SNR);
}

void bandpresets() { // 15 个预设波段/频率
  switch(count) {
    case 1: freq=370;  radio.setMode(LW); fstep=5; lcd.print("LW1"); break;
    case 2: freq=620;  radio.setMode(AM); fstep=5; lcd.print("MW1"); break;
    // ... 中波、短波多个预设 ...
    case 15: freq=9700; radio.setMode(FM); fstep=10; lcd.print("FM1"); break;
  }
  radio.tuneFrequency(freq); command_am();
}

void command_am() {
  radio.setProperty(PROP_AM_SOFT_MUTE_MAX_ATTENUATION, 0);
  radio.setProperty(PROP_AM_AUTOMATIC_VOLUME_CONTROL_MAX_GAIN, 0x3A98);
}

完整代码与库文件请参考项目附件。

实测表现

作者居住在一楼人口密集区,使用 10 米长线天线,接收效果虽弱但仍可媲美商用袖珍收音机。Si4730 系列芯片广泛应用于 TECSUN、DEGEN、SANGEAN 等知名品牌便携收音机,性能可靠。

制造工艺

  1. 无线电技术演进与工程:从马可尼到数字广播
  2. 橡皮筋的演变与生产
  3. DIY热成像仪:从课堂创意到全球产品的进化史
  4. DIY 低成本 UVC 紫外线消毒盒:医疗与个人物品快速杀菌方案
  5. 树莓派 + Arduino 联手打造 Wi-Fi 网络收音机,畅听全球电台
  6. JX 波形发生器 – 基于 Arduino 的 DDS 振荡器,带 OLED 显示屏
  7. DIY VR 滑板:用 Arduino、Google Cardboard 与蓝牙打造虚拟滑雪体验
  8. 自制防水淋浴 FM 收音机:Arduino Nano + RDA5807 + Nokia 5110 LCD + PAM8403
  9. DIY Arduino J.A.R.V.I.S 语音助手 - 方舟反应堆造型设计
  10. 无线红外测温枪:Arduino Nano + HC-06蓝牙 + MLX90614
  11. 立式带锯床:用途、特点与应用
  12. 晶体管与晶体收音机电路:从基本检波器到集成 AM/FM 接收机