用arduino制作雷达

电子说

1.3w人已加入

描述

用arduino制作雷达

关于这个用Arduino做超声波雷达的项目,我在Create Arduino上见过很多次,这里就自己做出来试试。

主要原理是利用超声波测距,然后使用Processing在屏幕上绘制出雷达图,总体比较简单。

成品

准备

硬件

- 舵机

- 超声波模块 HC-SR04

- Arduino

- 杜邦线若干

- 其它材料

软件

Arduino IDE

Processing(下载地址:Download Processing)

接线和安装

接线主要分两大部分:超声波模块和舵机。

雷达

超声波模块的针脚旁的标注很清晰,小心不要把GND和Vcc接反,否则可能会烧坏模块。

舵机有的没有标注接线方式,一般来说是:橙色-信号,红色-正极,棕色-接地。

接线很简单,有一点是Arduino上只有一个5v供电的插脚,可以借助面包板扩展。舵机有可能会因为电压不足转动比较吃力,可以考虑给Arduino接9v电源货给舵机单独供电。

最终要实现扫描功能,所以需要把超声波模块固定在舵机上,具体的实现就见仁见智了,这是我自己用木条+胶枪做的效果:

安装软件

先安装好前面提到的两款软件。

所有代码已经打包到网盘:百度网盘(代码来自:https://www.instructables.com/id/Arduino-RadarUltrasonic-Detector/)

解压后分别找到Arduino_Radar.ino和Arduino_Radar_Processing.pde。

在Arduino_Radar.ino里前一部分定义针脚等信息,里面的针脚是和前面的接线图对应的,如果你连到其它针脚上,需要在这里改一下。

#include《Servo.h》 const int soundTriggerPin = 2; //Trig const int soundEchoPin = 3; //Echo const int motorSignalPin = 12; //舵机信号线 const int startingAngle = 15; //初始角度 const int minimumAngle = 15; //最小角度 const int maximumAngle = 165; //最大角度 const int rotationSpeed = 1; //旋转速度 …………

编译刷写到Arduino中,然后打开端口监视器,如果看到以下输出且舵机转动,说明代码工作正常:

雷达

接下来打开Arduino_Radar_Processing.pde,在Arduino_Radar_Processing.pde里需要修改一下串口的端口号,修改为Arduino正在使用的串口。

雷达

import processing.serial.*; import java.awt.event.KeyEvent; import java.io.IOException; Serial myPort; PFont orcFont; int iAngle; int iDistance; void setup() { size(1350, 760); smooth(); myPort = new Serial(this, “COM5”, 9600); //修改此处 myPort.clear(); myPort.bufferUntil(‘ ’); orcFont = loadFont(“OCRAExtended-30.vlw”); } void draw() …………

修改完后点击左上方的开始键,启动程序,如果一切没有错误,可以看到:

如果白屏的话,需要切到编辑器,点击左上角的终止键,此时一般会在下方的红条上给出错误信息,按照错误信息修改(一般是串口错误导致)。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分