如何解决与NODEMCU和Blynk App连接时,多个超声波传感器HC-SR04不起作用
我遇到了这个问题,当我仅将一个超声波传感器连接到NodeMCU和Blynk应用程序时,当有人经过传感器时,Blynk应用程序确实会通知我。当我在NodeMCU上添加另一个超声波传感器时,当我中断两个传感器时,blynk应用程序不会通知我。 下面随附的代码是超声波传感器与NodeMCU和blynk应用程序的接口。请帮帮我...谢谢!
代码:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define echoPin1 D1
#define trigPin1 D2
#define echoPin2 D3
#define trigPin2 D4
char auth[] = "***";
char ssid[] = "***";
char pass[] = "***";
long duration1;
float distance1;
long duration2;
float distance2;
void setup() {
// put your setup code here,to run once:
Serial.begin(9600);
Blynk.begin(auth,ssid,pass);
pinMode(trigPin1,OUTPUT);
pinMode(echoPin1,INPUT);
pinMode(trigPin2,OUTPUT);
pinMode(echoPin2,INPUT);
}
void loop() {
// put your main code here,to run repeatedly:
digitalWrite(trigPin1,LOW);
delayMicroseconds(2);
digitalWrite(trigPin1,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1,LOW);
duration1 = pulseIn(echoPin1,HIGH);
distance1 = duration1 *0.34/2;
digitalWrite(trigPin2,LOW);
delayMicroseconds(2);
digitalWrite(trigPin2,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2,LOW);
duration2 = pulseIn(echoPin2,HIGH);
distance2 = duration2 *0.34/2;
if (distance1 <= 1000){
Blynk.virtualWrite(V1,255);
Blynk.notify("Intruder passing by sensor1 !");
}
else{
Blynk.virtualWrite(V1,0);
}
if (distance2 <= 1000){
Blynk.virtualWrite(V2,255);
Blynk.notify("Intruder passing by sensor2 !");
}
else{
Blynk.virtualWrite(V2,0);
}
Blynk.run();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。