×

使用Surilli GSM的带LED和蜂鸣器的超声波传感器

消耗积分:0 | 格式:zip | 大小:0.49 MB | 2022-12-28

而无返还

分享资料个

描述

在本教程中,我们基本上将使用 Surilli GSM 将超声波传感器 (HC-SR04) 与 LED 和压电蜂鸣器集成在一起。每当任何物体靠近超声波传感器时,LED 就会开始闪烁,因此压电蜂鸣器会开始发出蜂鸣声。

什么是压电蜂鸣器?

蜂鸣器蜂鸣器是一种音频信号装置,可以是机械的、机电的或压电的(简称压电)。压电蜂鸣器是一种常用于发声的电子设备。重量轻、结构简单、价格低廉,可用于汽车/卡车倒车指示器、计算机、呼叫铃等各种应用。

超声波传感器 (HC-SR04)

HC-SR04超声波模块有4个引脚:Ground、VCC、trig和echo。模块的接地和 VCC 引脚需要分别连接到地和 Surilli 板上的 5 伏引脚,触发和回波引脚需要连接到 Surilli 板上的任何数字 I/O 引脚。触发器(发射器)发出 40,000 赫兹的超声波,超声波在空气中传播,如果其路径上有物体或障碍物,它会反弹回回声(接收器)。考虑到旅行时间和声速,您可以计算出距离。

硬件要求:

  • 苏里利 GSM。
  • HC-SR04超声波传感器。
  • 压电蜂鸣器。
  • 引领。
  • 10k 欧姆电阻。
  • 面包板和连接线。

连接:

 

HC-SR04 传感器:

  • HC-SR04超声波模块有4个引脚,Ground,VCC,trig和echo。模块的接地和 VCC 引脚需要分别连接到接地和 Surilli GSM 上的 5 伏引脚,触发和回波引脚需要连接到 Surilli GSM 上的任何数字 I/O 引脚。
  • 连接到面包板的 HC-SR04 传感器。
  • 传感器 VCC 连接到 Surilli GSM USB。
  • 传感器 GND 连接到 Surilli GSM GND。
  • 传感器触发器连接到 Surilli GSM 数字 I/O 9 PIN。
  • 传感器回波连接到 Surilli GSM 数字 I/O 10 PIN。

蜂鸣器和 LED

  • 蜂鸣器附在面包板上。
  • 蜂鸣器长腿 (+) 连接到 Surilli GSM 数字 PIN 11。
  • 蜂鸣器短腿 (-) 连接到 Surilli GSM GND。
  • 附在面包板上的 LED。
  • 电阻连接到 LED 长脚 (+)。
  • 电阻另一条腿(来自 LED 的长腿)连接到 Surilli GSM 数字 PIN 13。
  • LED 短脚 (-) 连接到 Surilli GSM GND。

第 1 步:为 Surilli 设置 Arduino IDE

确保您为 Surilli 选择了正确的端口、电路板和处理器,如下图所示,并且它是可编程的(从文件>示例>数字>Blink 编译并上传“Blink”到您的 Surilli 上,检查是否一切正常).

第 2 步:电路

电路非常简单。主要是编程。按照下图设置您的硬件。

 
poYBAGOriVaAbJj6AADJ8ksBvFQ472.png
 

第 3 步:将代码上传并刻录到 Surilli

现在您已经完成了硬件和 Arduino IDE 的设置。将下面给出的 Arduino 草图复制并粘贴到您的 Arduino IDE 中,然后点击上传。

上传后,电路将开始工作。

代码:

// defines pins numbers
const int trigPin = 9;
const int echoPin = 10;
const int buzzer = 11;
const int ledPin = 13;
// defines variables
long duration;
int distance;
int safetyDistance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
pinMode(buzzer, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
safetyDistance = distance;
if (safetyDistance <= 5){
 digitalWrite(buzzer, HIGH);
 digitalWrite(ledPin, HIGH);
}
else{
 digitalWrite(buzzer, LOW);
 digitalWrite(ledPin, LOW);
}
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}

玩一下这个程序,看看它对不同的值和逻辑有何反应。这将加深您对超声波传感器的理解,以便您可以在实际应用中使用它们。

如果您制作了一些有趣的东西,请与我们的社区分享。

目前为止就这样了。如果您有任何疑问,请访问我们的网站surilli.io或联系我们的支持人员。与 Surilli 家族保持联系,了解更多精彩内容。:-)


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !