版主: wanchong , wangyu , eepwwp , firedom

分享到:
共1条 1/1 1   

如何DIY 超酷超声波雷达?

    [您是本帖的第1510位阅读者]
toeflsieasy
我是MM
普通会员

最后登陆时间:2015-10-05 18:05:38

直达楼层
1# 发表于 2015-07-24 22:43:00

这是一个简单的自制雷达项目,过程中会用到Intel Edison开发板、HC-SR04超声波测距传感器和辉盛Tower Pro微型舵机。

下面我们先欣赏一下这个小型雷达的工作视频吧。

接下来让我们一起动手来做吧。

第一步:准备材料

● Intel Edison开发板

● Arduino原型扩展板

● HC-SR04超声波测距传感器

● 辉盛Tower Pro微型舵机

● 主轴可以固定超声波传感器,同时方便跳线连接传感器。主轴尺寸根据实际情况选择。(选用)

第二步:固定传感器

准备一个长为15cm的4孔主轴。

将传感器焊接到主轴的一端,连接跳线,然后将连接器焊接到主轴的另一端。这样固定传感器操作简单但是非常结实。

第三步:接线

在此,我使用了Arduino的原型开发板,为的是所有的线能保持整洁有序。

将外部电源接入Intel Edison开发板,为超声波测距传感器和伺服电机供电。(因为伺服电机需要恒定的电流,而且电流相对较大,所以开发板USB端提供的电源无法满足伺服电机。)

传感器连接Intel Edison开发板方法如下:

Vcc——————-Edison Vcc

GND—————–GND

Echo—————- Pin 6

Trigger————–Pin 5

伺服电机连接Intel Edison开发板方法如下:

Vcc—————–Vcc

GND—————GND

Signal———— Pin 9

将所有的跳线焊接好后,我将微型伺服电机粘到了原型扩展板上。

最后将主轴和电机粘到一起,并用束线带扎好。

第四步:将组装好的组件插入Intel Edison开发板,然后编程

这段代码非常简单,只需要控制电机左右往复旋转,然后控制超声波传感器测量依据声速测量距离。

用串口收集位置信息,然后根据数据绘图。

代码如下:

定义SR04连接的Edison的引脚和设置全局变量。


#define ECHOPIN 6

#define TRIGPIN 5

#include

Servo myservo;

int pos =0;


初始化


void setup(){

Serial.begin(115200);

 myservo.attach(9);

 pinMode(ECHOPIN, INPUT);

 pinMode(TRIGPIN, OUTPUT);

}


接下来是主程序。你可以调整pos=10 和pos=170来调节电机的旋转角度。

这段程序主要定义电机旋转速度和旋转位置的关系,如下:


   oid loop(){

         myservo.write(10);

     delay(1000);

   for(pos =10; pos <=170; pos +=3)

   {

       myservo.write(pos);

   Print(Distance(), pos);

       delay(15);

   }

     delay(1000);

   for(pos =170; pos>=10; pos-=3)

   {

       myservo.write(pos);

   Print(Distance(), pos);

       delay(15);

   }}


然后我们编译了几段子程序,方便上面的循环调用。这样主程序看起来会更简洁些。


voidPrint(int R ,int T)

{

Serial.print(R);Serial.print(", ");

Serial.print(T);Serial.println(".");

  delay(100);

}

floatDistance(){

 digitalWrite(TRIGPIN, LOW);

 delayMicroseconds(2);

 digitalWrite(TRIGPIN, HIGH);

 delayMicroseconds(10);

 digitalWrite(TRIGPIN, LOW);

// Distance Calculation

float distance = pulseIn(ECHOPIN, HIGH);

 distance= distance/58.2;

return(distance);

}


第五步:运行程序

下载Processing 2,将代码写入程序,随开发板一起运行,这样就能得到上图的结果了。

共1条 1/1 1   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]