登录/注册

arduino舵机超声波雷达

更多

下面是一个使用Arduino、超声波传感器(HC-SR04)和舵机(SG90)制作简易雷达系统的方案,包含接线说明、代码和工作原理:


硬件组件

  1. Arduino UNO
  2. 舵机 SG90(用于旋转超声波传感器)
  3. 超声波传感器 HC-SR04
  4. 杜邦线若干

接线方式

组件 Arduino引脚
舵机信号线(黄) D9
超声波 Trig D10
超声波 Echo D11
舵机 VCC(红) 5V
超声波 VCC 5V
舵机 GND(棕) GND
超声波 GND GND

注意:如果同时驱动多个设备,建议使用外部电源或电容稳压。


Arduino 代码

#include <Servo.h>

const int trigPin = 10;
const int echoPin = 11;
Servo radarServo;

void setup() {
  Serial.begin(9600);          // 初始化串口通信
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  radarServo.attach(9);        // 舵机连接到D9
}

void loop() {
  for (int angle = 0; angle <= 180; angle++) {    // 0°~180°扫描
    radarServo.write(angle);                      // 设置舵机角度
    delay(30);                                    // 等待舵机稳定
    float distance = getDistance();               // 获取距离

    // 通过串口输出数据 (格式: 角度,距离)
    Serial.print(angle);
    Serial.print(",");
    Serial.println(distance);
  }

  for (int angle = 180; angle > 0; angle--) {     // 反向扫描180°→0°
    radarServo.write(angle);
    delay(30);
    float distance = getDistance();
    Serial.print(angle);
    Serial.print(",");
    Serial.println(distance);
  }
}

// 获取超声波距离(单位:厘米)
float getDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);      // 发送10μs高电平脉冲
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);  // 测量回波时间
  return duration * 0.0343 / 2;            // 换算为距离(声速340m/s)
}

工作原理

  1. 舵机控制
    • 舵机在0°~180°范围内来回转动,带动超声波传感器旋转扫描环境。
  2. 距离测量
    • 超声波发射器发送高频声波。
    • 遇到障碍物后声波反射,接收器捕捉回波。
    • 根据声波往返时间计算距离 距离 = (时间 × 声速) / 2
  3. 数据传输
    • 通过串口输出数据(角度和距离),格式为 角度,距离(例如 90,25.5)。

数据处理与可视化

  1. 使用Python/Processing显示雷达图
    • 接收串口数据,在极坐标系中绘制障碍物位置(角度+距离)。
  2. 示例Processing代码(需要安装Processing软件):

    import processing.serial.*;
    Serial port;
    
    void setup() {
     size(600, 600);
     port = new Serial(this, "COM3", 9600); // 修改为你的串口号
    }
    
    void draw() {
     background(0);
     translate(width/2, height/2); // 将原点移到中心
     while (port.available() > 0) {
       String data = port.readStringUntil('\n');
       if (data != null) {
         String[] values = split(trim(data), ',');
         if (values.length == 2) {
           float angle = radians(float(values[0]));
           float distance = float(values[1]);
           float x = distance * cos(angle); // 极坐标转笛卡尔坐标
           float y = distance * sin(angle);
           stroke(0, 255, 0);
           line(0, 0, x, y); // 绘制雷达线
         }
       }
     }
    }

优化建议

  1. 增加滤波:在getDistance()函数中添加多次测量取平均值,减少误差。
  2. 限制扫描范围:修改for循环的角度范围(如20°~160°)避免机械结构碰撞。
  3. 添加警报:当距离小于阈值时点亮LED或触发蜂鸣器。

常见问题解决

通过此方案,你可以实时监测周围障碍物的方位和距离,适用于智能小车避障、安防监控等场景。

超声波雷达和360影像有什么用

超声波雷达和360影像是两种不同的技术,它们在不同的领域有着广泛的应用。以下是对这两种技术的介绍。 一、超声波

2024-08-16 10:22:52

超声波(Ultrasound,又称超声波雷达)定位

超声波(Ultrasound,又称超声波雷达)定位,即使用发射探头发出频率大于20KHz的

2022-03-11 19:29:37

如何用Arduino实现超声波测距功能

基于Arduino的超声波模块和Proteus仿真最近做设计要用Arduino实现超声

2022-01-17 07:03:41

科力超声波清洗机132KHz超声波换能器图纸

科力超声波清洗机132KHz超声波换能器图纸

资料下载 Kelisonic 2023-07-08 03:05:46

制作基于Arduino超声波雷达

电子发烧友网站提供《制作基于Arduino的超声波雷达.zip》资料免费下载

资料下载 李泽坚 2023-02-08 15:35:05

单片机舵机超声波

作为一个51单片机初学者,我用的是普中科技V2.0的板子 我和队友分别学习超声波舵机 和 红外模块 开学组装小车 但是现在我的代码应该能够执行 但是

资料下载 YYXIAO 2021-11-14 19:06:05

超声波倒车雷达的源代码程序免费下载

本文档的主要内容详细介绍的是超声波倒车雷达的源代码程序免费下载。

资料下载 杨海清 2019-08-07 17:33:00

使用51单片机进行蓝牙舵机控制超声波测距模块的开发资料说明

本文档的主要内容详细介绍的是使用51单片机进行蓝牙舵机控制超声波测距模块的开发资料说明。

资料下载 南风一号 2019-07-02 17:42:00

SG90舵机+超声波简介

舵机+超声波简介一.SG90舵机二.超声波数据处理补充一下上一篇博客遗漏

2022-01-05 06:09:44

单片机舵机超声波相关资料分享

作为一个51单片机初学者,我用的是普中科技V2.0的板子我和队友分别学习超声波舵机和红外模块开学组装小车但是现在我的代码应该能够执行 但是不可行数码管可以显示

2021-11-23 08:03:26

如何实现舵机+超声波避障小车蓝牙遥控

如何实现舵机+超声波避障小车蓝牙遥控

2021-10-13 07:51:36

怎么实现基于超声波检测的倒车雷达设计?

本文所设计的倒车雷达系统是保障汽车倒车安全的辅助系统,通过超声波探头发出超声波,使用高速单片机计算距离,并加入了温度补偿电路,提高了距离计算的精

2021-05-14 06:04:41

超声波液位计和雷达液位计的区别

超声波液位计和雷达液位计都是液位测量仪表。顾名思义,一种采用超声波,一种采用电磁波,除此之外,

2020-06-24 14:59:31

elmos E524.09超声波雷达配置问题

最近在做超声波雷达驱动这部分工作,发现用MEAS_STEUP命令配置雷达不成功。不知道大家在实际操作中有没有遇到过这种问题,或许是我哪里的操作有

2020-05-22 13:32:45

毫米波雷达VS激光雷达VS超声波雷达

近年来,随着雷达技术的发展和普及,科技大片中的无人驾驶离我们越来越近。全球很多中高档汽车已经开始配备汽车雷达。目前用于汽车上的雷达分为

2019-09-19 09:05:02
7天热门专题 换一换
相关标签