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

自动电键助力无线电测向 —— 精准、易用、可靠

元器件与物料

元器件数量备注
Arduino UNO1主控板
电容 100 nF5防射频干扰
继电器 (通用)1控制电台发射
LED (通用)1状态指示
电容 100 µF1滤波平滑
杜邦线 (通用)1套连接电路
业余电台外置手咪/耳机插头1适配你的电台
拨动开关1电源控制

所需工具

项目背景

业余无线电爱好者常通过“狐狸猎寻”练习无线电测向技术:寻找隐藏在远处的发射台(称为“狐狸”)。这项技能在寻找发射设备或人员时极具实用价值。

本项目利用 Arduino 控制电台发射,并以莫尔斯电码发送台站呼号,随后发射长音,便于测向定位。

作者首次体验狐狸猎寻是在 2011 年 ARRL 教师研讨会,虽误寻他台却乐在其中。后因成本与复杂度未付诸实践。直到发现廉价 2 米波段电台配合 Arduino 即可低成本自制“狐狸”,遂成行。

项目采用百锋 UV-3R 对讲机(低价闲置)与 Arduino Uno。不同电台仅需测试麦克风插脚定义,电路与代码核心不变,仅需修改呼号。

注意: 原理图看似复杂实则简单。0.01 µF 电容用于抑制发射时的射频干扰 (RFI),否则 Arduino 会因临近发射而复位或异常;另一电容则将方波滤波为正弦波,改善音质。

核心代码

/* By Nelson Farrier
   控制电台发射并发送莫尔斯电码标识
   通过继电控制 Baofeng UV-3R 发射,发送呼号后输出 7 秒长音
*/

// 莫尔斯电码表
char* letters[] = {
  ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---",
  "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-",
  "..-", "...-", ".--", "-..-", "-.--", "--.."
};
char* numbers[] = {
  "-----", ".----", "..---", "...--", "....-",
  ".....", "-....", "--...", "---..", "----."
};

int relay = 12;
int tonePin = 13;
int frequency = 1000;
int dotDelay = 70;
int charDelay = 500;
int wordDelay = 1100;
int cycleDelay = 15000;

void setup() {
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  delay(2000);
}

void loop() {
  digitalWrite(relay, HIGH);  // 继电器吸合,电台发射
  delay(1000);
  sendText("NF7Z FOX");       // 发送呼号
  delay(1000);
  tone(tonePin, frequency);   // 发射长音
  delay(7000);
  noTone(tonePin);
  delay(10000);               // 无音发射 10 秒
  digitalWrite(relay, LOW);   // 继电器释放
  delay(cycleDelay);
  delay(cycleDelay);
}

// 莫尔斯序列发送
void morseCodeSequence(char* seq) {
  int i = 0;
  while (seq[i] != '\0') {
    dotOrDash(seq[i]);
    i++;
  }
  delay(charDelay);
}

// 文本转莫尔斯
void sendText(char* text) {
  int i = 0;
  char ch;
  while (text[i] != '\0') {
    ch = text[i];
    if (ch >= 'a' && ch <= 'z') morseCodeSequence(letters[ch - 'a']);
    else if (ch >= 'A' && ch <= 'Z') morseCodeSequence(letters[ch - 'A']);
    else if (ch >= '0' && ch <= '9') morseCodeSequence(numbers[ch - '0']);
    else if (ch == ' ') delay(wordDelay);
    i++;
  }
  delay(charDelay);
}

// 点划发送
void dotOrDash(char symbol) {
  tone(tonePin, frequency);
  if (symbol == '.') delay(dotDelay);
  else delay(dotDelay * 3);
  noTone(tonePin);
  delay(dotDelay);
}

原理图

自动电键助力无线电测向 —— 精准、易用、可靠

制作要点

制造工艺

  1. 无线电技术演进与工程:从马可尼到数字广播
  2. 猎刀:从青铜时代到现代战术装备的钢铁传奇
  3. Arduino UNO + MAX7219 自制《UFO攻击》复古射击游戏机
  4. 3D RGB Arduclock — 蓝牙控制全彩LED时钟带RTC与闹钟
  5. MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
  6. Arduino + 模拟摇杆互动游戏:五向 LED 反馈
  7. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  8. 便携式血氧仪(脉搏血氧监测):Arduino Nano + MAX30100 + OLED,COVID-19 应急开源方案
  9. Arduino 驱动的迷你漫游车:自制避障机器人
  10. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  11. Health Band 智能健康手环:基于 Infineon DPS310 的老人跌倒/步数/体温监护系统
  12. 精准功率因数校正:电容器组计算器 (kVAR & µF)