Arduino 智能安防系统:超声波测距 + 舵机扫描 + 声光报警
元件与供应
![]() | Arduino UNO | × | 1 |
![]() | HC-SR04 超声波传感器 | × | 1 |
| MG996R 舵机 | × | 1 | |
![]() | 压电蜂鸣器 | × | 1 |
![]() | 面包板 | × | 1 |
![]() | 公/母跳线 | × | 1 |
| 塑料项目盒 | × | 1 |
所需工具
- 美工刀
软件工具
- Arduino IDE
- Processing IDE(用于雷达图可视化)
项目简介


本系统由 Arduino UNO、舵机、超声波传感器、蜂鸣器组成。超声波传感器检测范围内物体触发蜂鸣器报警,数据经串口传输至 Processing 绘制雷达扫描图。舵机带动超声波传感器旋转扩大监测覆盖角度。制作简单,约 1 小时完成。
接线步骤
- 传感器 Trig → D2,Echo → D3,VCC/GND 接 5V/GND
- 蜂鸣器正极 → D10,负极 → GND
- 舵机:棕/红线接 GND/5V,橙线(信号) → D9
- Arduino 5V/GND 供电
- 整体装入项目盒
Arduino 代码
#include <Servo.h>
int tPin = 2, ePin = 3, buz = 10;
int d1, d2, i = 0, sdistance;
Servo myServo;
void setup() {
Serial.begin(9600);
pinMode(tPin, OUTPUT); pinMode(ePin, INPUT); pinMode(buz, OUTPUT);
myServo.attach(9);
}
void loop() {
for (i = 0; i <= 180; i += 10) {
myServo.write(i); delay(30);
d2 = calculateDistance();
Serial.print(i); Serial.print(","); Serial.print(d2); Serial.print(".");
}
for (i = 180; i > 0; i -= 10) {
myServo.write(i); delay(30);
d2 = calculateDistance();
Serial.print(i); Serial.print(","); Serial.print(d2); Serial.print(".");
}
}
int calculateDistance() {
digitalWrite(tPin, HIGH); delayMicroseconds(10); digitalWrite(tPin, LOW);
d1 = pulseIn(ePin, HIGH);
d2 = d1 * 0.0171821306; // cm
if (d2 < 10) digitalWrite(buz, HIGH);
else digitalWrite(buz, LOW);
return d2;
}
Processing 可视化代码
import processing.serial.*;
Serial myPort;
String angle="", distance="", data="";
float pixsDistance;
int iAngle, iDistance;
void setup() {
size(1366, 768); // 修改为你的屏幕分辨率
myPort = new Serial(this, "COM3", 9600);
myPort.bufferUntil('.');
}
void draw() {
// 绘制雷达背景、扫描线、目标点、文字标注等
// 详见原文完整代码
}
void serialEvent(Serial myPort) {
data = myPort.readStringUntil('.');
data = data.substring(0, data.length()-1);
int idx = data.indexOf(",");
angle = data.substring(0, idx);
distance = data.substring(idx+1);
iAngle = int(angle);
iDistance = int(distance);
}
// ... 绘图函数 drawRadar, drawLine, drawObject, drawText 等 ...
原理图
制造工艺
- 基于 Edge Impulse 的 TinyML 语言检测器:Arduino Nano 33 BLE Sense 实战
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- Arduino 声纳实时测距与 Processing 可视化
- MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
- 声控氛围灯:Arduino Nano + 麦克风模块 + WS2812B 灯珠
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里




