
HC-SR04 bildirim algilamada problem
Merhaba, Kendimce kapıya pencereye kurmak için SR04 ultrasonik sensör ile İFTTT aracılığı ile bildirim sağladım. fakat bazen arada herhangi bir cisim olmasa dahi bildirim veriyor acaba elektriksel bir akımdan mı yoksa farklı bir durummu vardır. Video Aşağıdadır. Kod dadaa görüldüğü gibi 5 cm ile 20 cm arası bir temas olursa site_kontrol() isimli fonksiyonu calistiracak dolayisi ile bildirim gelecek.
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
ESP8266WiFiMulti WiFiMulti;
//int pirPin = 0;
//int pirState = LOW;
//int pirVal = 0;
int trigPin = 2;
int echoPin = 0;
int maxrange = 20;
int minrange = 5;
void setup() {
Serial.begin(115200);
// pinMode(pirPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Serial.println();
// Serial.println();
Serial.println();
for (uint8_t t = 4; t > 0; t--) {
Serial.printf("[SETUP] WAIT %d...\n", t);
Serial.flush();
delay(1000);
}
WiFi.mode(WIFI_STA);
WiFiMulti.addAP("wifi", "008992702689");
//WiFiMulti.addAP("SUPERONLINE-WiFi_3526", "superahsen92");
}
void loop(){
long duration, distance;
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 58.2;
delay(50);
if(distance >= minrange && distance <= maxrange){
site_kontrol();
}else {
}
}
void site_kontrol(){
if ((WiFiMulti.run() == WL_CONNECTED)) {
WiFiClient client;
HTTPClient http;
Serial.print("[HTTP] begin...\n");
if (http.begin(client, "http://maker.ifttt.com/trigger/Alarm_ESP/with/key/keybolumu")) { // HTTP
Serial.print("[HTTP] GET...\n");
// start connection and send HTTP header
int httpCode = http.GET();
// httpCode will be negative on error
if (httpCode > 0) {
// HTTP header has been send and Server response header has been handled
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
// file found at server
if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
String payload = http.getString();
Serial.println(payload);
}
} else {
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
} else {
Serial.printf("[HTTP} Unable to connect\n");
}
}
delay(1000);
}
Son Giriş: 2 yıl önce
Son Mesaj Zamanı: 5 yıl
Mesaj Sayısı: 1
Gerçek Toplam Mesaj Sayısı: 1
İkinci El Bölümü Mesajları: 0
Konularının görüntülenme sayısı: 149 (Bu ay: 6)
Toplam aldığı artı oy sayısı: 0 (Bu hafta: 0)
En çok mesaj yazdığı forum bölümü: Elektronik ve Mekanik

