在本教程中,我们基本上将使用 Surilli GSM 将超声波传感器 (HC-SR04) 与 LED 和压电蜂鸣器集成在一起。每当任何物体靠近超声波传感器时,LED 就会开始闪烁,因此压电蜂鸣器会开始发出蜂鸣声。
蜂鸣器或蜂鸣器是一种音频信号装置,可以是机械的、机电的或压电的(简称压电)。压电蜂鸣器是一种常用于发声的电子设备。重量轻、结构简单、价格低廉,可用于汽车/卡车倒车指示器、计算机、呼叫铃等各种应用。
HC-SR04超声波模块有4个引脚:Ground、VCC、trig和echo。模块的接地和 VCC 引脚需要分别连接到地和 Surilli 板上的 5 伏引脚,触发和回波引脚需要连接到 Surilli 板上的任何数字 I/O 引脚。触发器(发射器)发出 40,000 赫兹的超声波,超声波在空气中传播,如果其路径上有物体或障碍物,它会反弹回回声(接收器)。考虑到旅行时间和声速,您可以计算出距离。
HC-SR04 传感器:
蜂鸣器和 LED
确保您为 Surilli 选择了正确的端口、电路板和处理器,如下图所示,并且它是可编程的(从文件>示例>数字>Blink 编译并上传“Blink”到您的 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条评论
快来发表一下你的评论吧 !