关于Arduino超声波的接法与应用

简单介绍超声波测距模块

SR04超声波传感器:

是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波。范围在3-450cm。

工作原理:

超声波发射器向某一方向发射超声波,在发射的同时开始计时;

超声波在空气中传播,途中遇到障碍物则立即返回,超声波接收器收到反射波则立即停止计时。

声波在空气中传播速度为340m/s,根据计时器记录时间t,即可算出发射点距离障碍物的距离S,

即S=340m/s*t/2,这就是所谓的时间差测距法。

代码:

int trigPin = 8;          //发出信号
int echoPin = 7;         //接收信号
float v = 331.5+0.6*20;// 若不考虑温度的影响,声波在空气中传播速度为340m/svoid setup() {Serial.begin(115200);//设置波特率
pinMode(trigPin,OUTPUT);//设置输出状态。或者写成:pinMode(8,OUTPUT);
pinMode(echoPin,INPUT);//设置输入状态
pinMode(6,OUTPUT);//蜂鸣器pin6,输出状态}
float distanceM()
{digitalWrite(trigPin,LOW);//delayMicroseconds(3);//延时3微秒digitalWrite(trigPin,HIGH);delayMicroseconds(5); digitalWrite(trigPin,LOW); /*float tUS = pulseIn(echoPin,HIGH);float t = tUs / 1000.0 / 1000.0 / 2;float d = t*v;return d*100;*/float d =pulseIn(echoPin,HIGH)/58.00;     //检测脉冲宽度,并计算出距离**cm.  /*pulseIn()单位为微秒,声速340m/s,单片机的晶振频率约为14MHZ,所以距离cm=340*100/(1000000-14000)*pulseIn()/2,及化简为pulseIn()/[(1000000-14000)*2/(340*100)]等于pulseIn()/58.0.*/return d;}void loop()
{while(1){int d = distanceM();Serial.println(d,DEC);//BIN、OCT、HEX、DEC分别代表二、八、十六、十进制~~if(d>10){digitalWrite(6,HIGH);//蜂鸣器delay(200);digitalWrite(6,LOW);}delay(200);}}

米思齐:


(2021.04.14更新)

2021全国青少年机器人技术等级考试实操考题:

主题:超声波测距

器件:LED灯模块3个,超声波传感器1个,结构件若干(也可以使用普通电子元件结构面包板搭建)

搭建要求:

1、本项目由LED灯,超声波传感器组成;

2、当障碍物距离超声波传感器大于30厘米时,3盏LED灯均处于熄灭状态;

3、当障碍物逐渐接近超声波传感器时,随着距离的减小,3盏LED灯依次点亮(触发距离值由考生自行决定);

4、当障碍物逐渐远离超声波传感器时,3盏LED灯依次熄灭;

5、将超声波传感器返回的当前距离值,显示在串口监视器上。

电路原理图:

示例代码1:

volatile int Tpin;
volatile int Epin;
volatile int dISTANCE;float checkdistance_Tpin_Epin() {digitalWrite(Tpin, LOW);delayMicroseconds(2);digitalWrite(Tpin, HIGH);delayMicroseconds(10);digitalWrite(Tpin, LOW);float distance = pulseIn(Epin, HIGH) / 58.00;delay(10);return distance;
}void setup(){Tpin = 3;Epin = 2;dISTANCE = 0;pinMode(Tpin, OUTPUT);pinMode(Epin, INPUT);Serial.begin(9600);
}void loop(){dISTANCE = checkdistance_Tpin_Epin();Serial.print(dISTANCE);Serial.println("CM");}

示例代码2:

volatile int Tpin;
volatile int Epin;
volatile int R;
volatile int G;
volatile int B;
volatile int dISTANCE;float checkdistance_Tpin_Epin() {digitalWrite(Tpin, LOW);delayMicroseconds(2);digitalWrite(Tpin, HIGH);delayMicroseconds(10);digitalWrite(Tpin, LOW);float distance = pulseIn(Epin, HIGH) / 58.00;delay(10);return distance;
}void setup(){Tpin = 3;Epin = 2;R = 7;G = 8;B = 9;dISTANCE = 0;pinMode(Tpin, OUTPUT);pinMode(Epin, INPUT);Serial.begin(9600);
}void loop(){dISTANCE = checkdistance_Tpin_Epin();Serial.print(dISTANCE);Serial.println("CM");delay(10);if (dISTANCE < 30) {pinMode(R, OUTPUT);digitalWrite(R,HIGH);delay(1000);pinMode(G, OUTPUT);digitalWrite(G,HIGH);delay(1000);pinMode(B, OUTPUT);digitalWrite(B,HIGH);}if (dISTANCE > 30) {pinMode(R, OUTPUT);digitalWrite(R,LOW);delay(1000);pinMode(G, OUTPUT);digitalWrite(G,LOW);delay(1000);pinMode(B, OUTPUT);digitalWrite(B,LOW);}}

Arduino-超声波测距模块相关推荐

  1. Arduino超声波测距模块控制蜂鸣器

    Arduino超声波测距模块控制蜂鸣器 超声波传感器 蜂鸣器 电路连接.接线 源码 超声波传感器 超声波传感器是利用超声波的特性研制而成的传感器.超声波是一种振动频 率高于声波的机械波,由换能晶片在电 ...

  2. arduino超声波测距接线图详细_Arduino系列之超声波测距模块代码(一)

    这里我将简单介绍超声波测距模块 SR04超声波传感器: 是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波.范围在3-450cm. 工作原理: 超声波发射器向某一方向发 ...

  3. arduino UNO 与 超声波测距模块 实验详情

    US-015 超声波测距模块 超声波传感器 US-020升级版 送全套资料 资料下载地址:http://pan.baidu.com/s/1c0AfkIG US-015超声波测距模块 1. 概述 US- ...

  4. Arduino系列之超声波测距模块代码(一)

    这里我将简单介绍超声波测距模块 SR04超声波传感器: 是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波.范围在3-450cm. 工作原理: 超声波发射器向某一方向发 ...

  5. Arduino Uno 实验8——HC-SR04 超声波测距模块

    HC-SR04 超声波测距模块简介   由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现.   HC-SR04超声波 ...

  6. ROS 之 arduino 驱动 超声波测距模块

    US-015是目前市场上分辨率最高,重复测量一致性最好的超声波测距模块:US-015的分辨率高于1mm,可达0.5mm,测距精度高:重复测量一致性好,测距稳定可靠.US-015超声波测距模块可实现2c ...

  7. US-016超声波测距模块

    1.  概述 US-016超声波测距模块可实现2cm~3m的非接触测距功能,供电电压为5V,工作电流为3.8mA,支持模拟电压输出,工作稳定可靠.本模块根据不同应用场景可设置成不同的量程(大测量距离分 ...

  8. 使用超声波测距模块控制LED灯

    本文章为你介绍如何使用Arduino开发板和超声波测距模块来控制LED灯的明灭. 所需硬件 -Arduino开发板 -LED -超声波测距模块 下面主要为大家说明一下超声波模块. 超声波传感器通过采用 ...

  9. HC-SR04超声波测距模块使用方法和例程(STM32)

    基于STM32和HC-SR04模块实现超声波测距功能 最近在学STM32做个简单的应用实践一下,顺便水一篇文章. 本文用的单片机是STM32F103C8T6,超声波测距模块是HC-SR04,显示测距结 ...

  10. Arduino 超声波测距 LCD1602A

    arduino 实现超声波测距 涉及模块:四线超声波测距模块,LCD1602A LCD1602连接 实验代码: #include <LiquidCrystal.h> LiquidCryst ...

最新文章

  1. 订阅号助手App发布 手机也能管理公众号了
  2. Bit-Z推出去中心化多链钱包CoinU 打造资产价值生态体系
  3. 推荐系统里,可以用蒸馏吗?
  4. .NET 并行(多核)编程系列之六 Task基础部分完结篇
  5. Web中的鼠标自动移动
  6. Final关键字和类的自动加载
  7. HttpClientUtils封装
  8. springMVC视图解析器的配置和使用
  9. C# 设计模式 (一)
  10. Unity3D脚本编程读书笔记——第1章 Hello Unity 3D(认识Unity3D游戏引擎)
  11. lc用U盘更新固件_索尼X9000H/X9100H系列机型更新HDMI2.1固件
  12. vs 设置起始页不见了_VS2015,为什么模板不见了,请教
  13. 磨金石教育摄影干货分享|风光摄影后期教程:冷色调变暖色调
  14. 网络学习 局域网分类 以太网 令牌网 FDDI光纤分布式数据接口网 异步传输模式网(ATM) 无线局域网
  15. PM 时间管理技能—麦肯锡30秒电梯理论
  16. AUV运动控制仿真(PID控制)
  17. ISO认证是什么?| ISO体系认证办理
  18. 【算法详解-数学】(1)φ的基本知识
  19. APP开发后如何运营?
  20. UVA 1455 Kingdom 线段树+并查集

热门文章

  1. C语言——数组指针篇
  2. PCB布局布线技巧总结
  3. 学堂在线-清华大学-操作系统实验Lab1【练习1-2】
  4. contiki学习笔记 clock部分
  5. 华清远见第一周学习体会
  6. python将对象放入列表_将C对象添加到Python List并将C对象列表返回给python
  7. OracleDBLink
  8. 记应聘:华为 可信理论、技术与工程实验室 产品数据工程师
  9. 查看java web日志_java web 日志详细
  10. Hadoop集群实验