目????????录
实现功能
工作原理
电路连接
控制代码
超声波是一种振动频率超过20kHz的机械波,沿直线方向传播,传播方向性好,传播距离也较远,在介质中传播时遇到障碍物就会产生反射波。此外,模块本身体积小,易于在任何机器人项目中使用,并提供2厘米至400厘米(约1英寸至13英尺)之间出色的非接触范围检测,精度为3mm。工作电压为5伏。由于超声波的以上特点,因此被广泛地应用于物体距离的测量中。 ????????HC-SR04一款设计有超声波发射探头、接收探头、信号放大集成电路等超声波模块模块共四个引脚,VCC为5V供电,Trig为触发信号输入,Echo为回响信号输出,GND为电源地。
实现功能
? ? ? ? 在扔垃圾之前,用手或其他障碍物放在超声波传感器之前,当距离15cm时,舵机转动,实现盖子翻起。指示灯亮,蜂鸣器发生。在10秒后,舵机回到原位,盖子盖上。
VCC | HC-SR04电源接口,接Arduino上的5V引脚 | Trig?(Trigger) | 向外界触发超声波脉冲,接引脚12 | Echo | 回响信号输出。当接收到反射信号时,引脚产生一个脉冲。脉冲的长度与检测发射信号所需的时间成正比,接引脚11 | GND | HC-SR04接地引脚,接Arduino GND |
工作原理
? ? ? ? Arduino给超声波模块Trig引脚10μs以上的脉冲触发信号,模块内部自动发送8个40kHz的声音脉冲,一旦检测到反射信号,即输出回响信号(Echo引脚)使设备的“超声特征”变得独一无二,从而使接收器能够将发射模式与环境超声噪声区分开,回响信号脉冲宽度与被测距离成正比。如果这些脉冲没有被反射回来,则回波信号将在38毫秒(38毫秒)后超时并返回低电平。
电路连接
控制代码
#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);
}
|