亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

如何将超声波传感器与 Arduino 连接

发布时间:2021-07-02
分享到:

如何将超声波传感器与 Arduino 连接

发布时间:2021-07-02
分享到:

本文主要讲解了如何将超声波传感器 (HCSR04) 与 Arduino uno 连接。

硬件部件:

Arduino Uno 是这个系统的大脑。它是基于微控制器 ATmega328P 的微控制器板。Arduino 能够读取输入、处理输入并生成输出。它有 14 个数字输入/输出引脚(其中 6 个可用作 PWM 输出)、6 个模拟输入、一个 USB 连接、一个电源插孔、一个 ICSP 接头和一个复位按钮。

超声波传感器(HC-SR04):该传感器通过发射超声波来测量目标物体的距离,并将反射声转换为电信号。超声波的传播速度比可听见的声音快(超声波是人类无法听到的声音)。

超声波传感是探测障碍物的最佳方法之一,具有很高的可靠性。超声波传感器模块使用换能器来发送和接收超声波脉冲。该模块工作原理简单,它以40kHz的频率从触发针发出一个超声波脉冲,该脉冲在空气中传播,如果有障碍物或物体,它将反弹回回波针处的传感器。通过计算声波传播的时间和声速,计算出物体的距离。

(超声波传感器的工作原理)

超声波传感器模块有四个引脚,分别是 Gnd、Vcc、Echo 和 Trigger:

  • Gnd :被认为是负极引脚,它连接到系统的地
  • Vcc :为传感器供电。它通常需要 3.3V
  • Trigger:触发引脚,用于触发超声波脉冲。
  • Echo:当接收到反射信号时,Echo 引脚会产生一个脉冲

(超声波传感器引脚图)

 电路图:

代码:

//将超声波传感器与 Arduino uno 接口
#define echoPin 12 //将超声波传感器的echo pin连接到Arduino的D12
#define trigPin 10 //将超声波传感器的触发引脚连接到Arduino的D10

long duration;  // 声明保存持续时间和距离的变量
int distance;

void setup() //setup() 用于初始化

{
  Serial.begin(9600);  //设置串口通讯波特率为9600
  pinMode(trigPin,OUTPUT); //将trigPin设置为Arduino的输出引脚
  pinMode(echoPin,INPUT);  //设置echoPin为Arduino的输出引脚
 }
void loop(){
  digitalWrite(trigPin,LOW); //在触发引脚产生方波
  delayMicroseconds(2);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
  
 duration=pulseIn(echoPin,HIGH);//计算障碍物的距离
  distance=(duration*0.034/2);
  Serial.print("Distance : ");
  Serial.print(distance);
  Serial.println(" cm ");
  delay(1000);               
}

将代码上传到“Tinkercad”软件后,会发现一个放大镜图标和。单击该选项,将获得超声波传感器的值。例如:距离:3 厘米,表示物体距离传感器 3 厘米。这称为串行监视器,主要用于显示传感器的值。

(串行监视器)

(串行监视器上的超声波传感器值)

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论