电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 基础入门 >> Arduino开发学习 >> 正文

Arduino开发——基于HC-SR04测距的智能垃圾桶,超声波测距

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/8/6

目 录

实现功能

工作原理

电路连接

控制代码


超声波是一种振动频率超过20kHz的机械波,沿直线方向传播,传播方向性好,传播距离也较远,在介质中传播时遇到障碍物就会产生反射波。此外,模块本身体积小,易于在任何机器人项目中使用,并提供2厘米至400厘米(约1英寸至13英尺)之间出色的非接触范围检测,精度为3mm。工作电压为5伏。由于超声波的以上特点,因此被广泛地应用于物体距离的测量中。
HC-SR04一款设计有超声波发射探头、接收探头、信号放大集成电路等超声波模块模块共四个引脚,VCC为5V供电,Trig为触发信号输入,Echo为回响信号输出,GND为电源地。

实现功能

在扔垃圾之前,用手或其他障碍物放在超声波传感器之前,当距离15cm时,舵机转动,实现盖子翻起。指示灯亮,蜂鸣器发生。在10秒后,舵机回到原位,盖子盖上。

HC-SR04超声波测距模块 

图1 HC-SR04超声波测距模块

VCC HC-SR04电源接口,接Arduino上的5V引脚
Trig (Trigger) 向外界触发超声波脉冲,接引脚12
Echo 回响信号输出。当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比,接引脚11
GND HC-SR04接地引脚,接Arduino GND

工作原理

HC-SR04超声波测距时序图 

图2 HC-SR04超声波测距时序图


Arduino给超声波模块Trig引脚10μs以上的脉冲触发信号,模块内部自动发送8个40kHz的声音脉冲,一旦检测到反射信号,即输出回响信号(Echo引脚)使设备的“超声特征”变得独一无二,从而使接收器能够将发射模式与环境超声噪声区分开,回响信号脉冲宽度与被测距离成正比。如果这些脉冲没有被反射回来,则回波信号将在38毫秒(38毫秒)后超时并返回低电平。

电路连接

基于HC-SR04测距的智能垃圾桶,超声波测距 

图3 电路连接

控制代码

#include <Servo.h>
Servo myservo;
int trig=12;
int echo=11;
int led13=13;
int led3=3;
void setup(){
  myservo.attach(9);
  Serial.begin(9600);
  pinMode(echo,INPUT);
  pinMode(trig,OUTPUT);
  pinMode(led13,OUTPUT);
  pinMode(led3,OUTPUT);
}
void loop(){
  myservo.write(0);
  long val=0;
  digitalWrite(trig,HIGH);
  delayMicroseconds(15);
  digitalWrite(trig,LOW);
  val=pulseIn(echo,HIGH);
  float S=val/58.00;
  if(S<15){
    myservo.write(100);
    digitalWrite(led13,HIGH);
    digitalWrite(led3,HIGH);
  }
  delay(10000);
  S=0;
  digitalWrite(led13,LOW);
  digitalWrite(led3,LOW);
}
    
Tags:超声波测距,超声波,Arduino,开发  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询