找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1411|回复: 0
收起左侧

37种传感器(二)之超声波传感器模块+Stduino Nano&UNO

[复制链接]
ID:786043 发表于 2020-6-29 22:56 | 显示全部楼层 |阅读模式
37种传感器(二)之超声波传感器模块+Stduino Nano&UNO

本文转载自:www点stduinocom/forum.php?mod=viewthread&tid=24&extra=

说明:
超声波测距原理简析:
超声波传感器能够发射超声波并接收反射回的超声波信号。利用发射与接收的时间差以及传播速度(即声速,声音在空气中传播的速度约为340m/s)即可计算传感器到障碍物体的距离。单片机向超声波传感器发送脉冲,超声波传感器被此脉冲触发后会产生一个40 kHz的脉冲电信号,通过激励换能器处理以后,转换成机械振动,频率约在20 kHz以上,由此形成了超声波。


该信号经锥形“辐射口”处将超声波信号发射出去。接收器接收到反射回来的超声波信号后,将超声波变成微弱的电振荡,并将信号进行放大,就可得到所需的脉冲信号,此脉冲信号再返回给单片机。
超声波传感器.jpg



实验目的:
利用HC-SR04超声波传感器测量到目标物体的距离,并利用串口通信窗口显示。

具体而言,在模块trig端输出一个至少10us的高电平信号,则该模块内部将循环发射8个40KHz频率的脉冲;若检测由回波信号,则会在echo端产生高电平信号。


器材:
Stduino Uno/Nano、超声波传感器HC-SR04、杜邦线4根

电路连接:

电路连接.jpg


代码展示:


  1. int trig = 8;//Trig端
  2. int echo = 9;//Echo端
  3. void setup()
  4. {
  5. // put your setup code here, to run once:
  6. pinMode(echo,INPUT);
  7. pinMode(trig,OUTPUT);
  8. Serial.begin(9600);
  9. }
  10. void loop()
  11. {
  12. // put your main code here, to run repeatedly:
  13. unsigned long time = 0;
  14. while(1){
  15. digitalWrite(trig,HIGH);
  16. delayMicroseconds(15);//需要大于10
  17. digitalWrite(trig,LOW);

  18. time = pulseIn(echo,HIGH);//高电平传回超声波从发射到接收所经过的时间。
  19. float S = time/58.00; //使用浮点计算出距离,单位为cm,time除以58是由速度乘以时间换算而来
  20. Serial.println(S);
  21. S = 0;
  22. time = 0;
  23. delay(500);

  24. }
  25. }
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表