美文网首页我爱编程程序员工具癖
关于Arduino数字超声波接法与应用

关于Arduino数字超声波接法与应用

作者: 之玖 | 来源:发表于2017-02-25 22:02 被阅读0次

时隔多日,我又来更新文章了。在大致系统地学习完Arduino后,终于腾出时间来。这一次是简单介绍超声波工作原理和示例代码。


此次超声波为SRF-04超声波传感器。该超声波有四个端口,电源端、接地端、触发端和反馈端。超声波,最直接最常见的作用是拿来测距。其原理是触发端(trige)发射超声波,反馈端(echo)接收反射回来的超声波,利用中间的时间差用公式算出得到距离。单位cm。用超声波作的扩展作用一般是设在小车前端测距,对距离设定范围判断是否遇到障碍物。

SRF-04超声波传感器

由此我们知道,一般超声波反馈端得到的数据写入另外的数字端,连接我们需要的元件,常见的是小车轮子上的直流电机。

超声波接法

超声波传感器和直流电机代码

const int TrigPin = 2; //超声波触发端口

const int EchoPin = 3;//超声波的反馈端口

float cm;

void setup()

{


Serial.begin(9600); //波特率

pinMode(TrigPin, OUTPUT); //超声波的触发端口为输出

pinMode(EchoPin, INPUT); //超声波的反馈端口为输出

}

void loop()

{

digitalWrite(TrigPin, LOW);

delayMicroseconds(2);

digitalWrite(TrigPin, HIGH);

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm

cm = (int(cm * 100.0)) / 100.0;

pinMode(4, OUTPUT);

if (cm > 5)//如果cm大于厘米

  {digitalWrite(4, HIGH);

  }

 else//否则

   {digitalWrite(4, LOW);

   }

  }

其中加粗的部分代码是超声波测距的程序,在利用超声波时可直接使用。



当然,该程序不能在串口监视器查看,想要加入串口监视,则要修改一下程序。

const int TrigPin = 2;
const int EchoPin = 3;
float distance;
void setup()
{   // 初始化串口通信及连接SR04的引脚
       Serial.begin(9600);
       pinMode(TrigPin, OUTPUT);
   // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
       pinMode(EchoPin, INPUT);
   Serial.println("Ultrasonic sensor:");
}
void loop()
{
   // 产生一个10us的高脉冲去触发TrigPin
       digitalWrite(TrigPin, LOW);
       delayMicroseconds(2);
       digitalWrite(TrigPin, HIGH);
       delayMicroseconds(10);
       digitalWrite(TrigPin, LOW);
   // 检测脉冲宽度,并计算出距离
       distance = pulseIn(EchoPin, HIGH) / 58.00;
       Serial.print(distance);
       Serial.print("cm");
       Serial.println();

       delay(1000);
}


串口监视器

以上是对超声波的简单介绍,实际具体情况编写的代码也会不同。

相关文章

  • 关于Arduino数字超声波接法与应用

    时隔多日,我又来更新文章了。在大致系统地学习完Arduino后,终于腾出时间来。这一次是简单介绍超声波工作原理和示...

  • Arduino与米思齐(Mixly)自学分享任务选项

    Arduino部分 Arduino中的中断及其编程应用举例 Arduino中内置的shiftOut函数与74HC5...

  • [Arduino]超声波测距

    一切开始之前,我们需要先来温习一个中学就学习过的物理原理: 常温常压下空气中的声速: 340m/s 声波雷达原理 ...

  • Arduino 超声波测距

    实验一 串口显示测距值并且当值小于50cm时点亮led 程序解密

  • 什么是Arduino?Arduino特色有哪些?

    在介绍Arduino应用之前,我们先来了解下什么是Arduino? 什么是Arduino Arduino是一款开源...

  • Arduino与PID算法应用

    这次萌生出写一篇Arduino和PID算法结合的文章,其实是因为刚忙完实验的事情,而实验进行过程中曾尝试着应用PI...

  • 2017年11月6日

    今天学习的是超声波反馈及应用。试着自己做了一个倒车雷达,挺成功的。可实际应用。通过发出超声波,再借由碰触物体的反馈...

  • 数字制造讲义07-Arduino声音应用

    数字制造讲义01-成为数字世界的建造者数字制造讲义02-Arduino入门数字制造讲义03-电路基础数字制造讲义0...

  • Arduino+Blynk 第一个Demo

    Arduino起步项目:通过Blynk应用程序控制板载LED 需要: Arduino UNO Blynk 第一步 ...

  • 2017

    今天,我们用arduino开发板套件实现了超声波测距,并把所测距离在1602屏上显示。另外,我们还做了一个“盲人手...

网友评论

    本文标题:关于Arduino数字超声波接法与应用

    本文链接:https://www.haomeiwen.com/subject/rhpnwttx.html