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

Arduino HC-SR04 超声波雷达:舵机扫描 + Processing 实时可视化

元器件与材料

Arduino UNO ×1
HC-SR04 超声波测距模块 ×1
SG90/9g 微型舵机 ×1
面包板 & 跳线 各×1

项目简介

利用 Arduino 控制舵机旋转 HC-SR04 进行 180° 扫描,将每一度的测距数据通过串口发送给 PC 端的 Processing 程序,实现类似雷达屏幕的实时可视化。项目包含两部分代码:

硬件接线

Arduino 代码核心

/* Radar Screen Visualisation for HC-SR04
   发送每一度的舵机角度和测距值到串口,供 Processing 读取 */
#include <NewPing.h>
#include <Servo.h>

#define TRIGGER_PIN 2
#define ECHO_PIN 3
#define MAX_DISTANCE 150  // 最大测距 cm
#define SERVO_PWM_PIN 9
#define ANGLE_BOUNDS 80   // 扫描范围 ±80°
#define ANGLE_STEP 1      // 步进 1°

int angle = 0;
int dir = 1; // 1=正向, -1=反向
Servo myservo;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(9600);
  myservo.attach(SERVO_PWM_PIN);
}

void loop() {
  delay(50); // 留出舵机转动时间
  // 舵机角度映射:-80~80 → 0~160
  myservo.write(angle + ANGLE_BOUNDS);
  // 读取距离并发送串口
  int cm = sonar.ping_cm();
  Serial.print(angle); Serial.print(","); Serial.println(cm);

  // 更新角度,到达边界反向
  if (angle >= ANGLE_BOUNDS || angle <= -ANGLE_BOUNDS) dir = -dir;
  angle += dir * ANGLE_STEP;
}

Processing 端要点

Processing 代码读取串口 CSV 数据,维护两个方向的距离数组,绘制半透明扇形扫描线、距离点阵、网格刻度及文字标注。关键函数:

完整 Processing 代码较长,请访问 GitHub 仓库获取:
https://github.com/faweiz/My-Arduino/tree/master/arduino_radar

原理图

简单的三模块连接:Arduino → HC-SR04 (Trig/Echo) + 舵机。建议舵机单独供电,共地即可。

制造工艺

  1. DIY 蓝牙控制 Arduino 间谍小车
  2. FlickMote:基于手势的智能家居红外遥控器
  3. DIY Arduino TV-B-Gone:万能关机遥控器
  4. 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
  5. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  6. Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
  7. Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
  8. 从零构建智能 Arduino 四足机器人:完整指南
  9. Arduino 声纳实时测距与 Processing 可视化
  10. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  11. Arduino Nano + MPU6050 实现加速度转倾斜角度(Visuino 图形化编程)
  12. 利用 Arduino Nano R3 自制全功能 CNC 雕刻机