Blynk- Dht11- 5V 2Kanal Röle- Program Tepki Hızı Neden Yavaş

erdinccatal

Yeni Üye
Katılım
12 Ekim 2021
Mesajlar
7
merhaba, arkadaşlar aşağıdaki program ve blynk arayüzünü sizler ile paylaşıyorum... benim sorunum blynk arayüzünde D0 ve D1 röle butonlarına tıkladığımda röleler gecikmeli cevap vermektedir. ancak programda HCSR04 ultrasonik sensör ile ilgili olan kısımları çıkardığımda (satır numarası 11,12,13,14,17,18,21,22,23,24,25,26,27,28,30) sadece DHT11 ve 2 adet röle için çalıştırdığımda aynı anda tepki almaktayım. herhangi bir gecikme olmamaktadır. konu hakkında bilgi paylaşımı ve yardımlarınız için şimdiden teşekkür ederim.

nodemcu:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <dht11.h> // dht11 kütüphanesini ekliyoruz.
#define DHT11PIN 4 // DHT11PIN olarak Dijital 2"yi belirliyoruz.
dht11 DHT11;
int sicaklik, nem;
char auth[33] = "W-Btn3XnaSu4qi9v3bj3rUTNFComubFc";
char ssid[33] = "E";
char pass[33] = "erdinccatal";
const int echoPin = D8;
const int trigPin = D6;
long duration;
int distance;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); 
Blynk.begin(auth, ssid, pass);}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(20); 
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.017;                   
Blynk.virtualWrite(V3, distance);   
Blynk.run();
delay(500);} 
BLYNK_READ(V0) {
DHT11.read(DHT11PIN);
sicaklik = DHT11.temperature;
Serial.println("Sıcaklık: " + String(sicaklik));
Blynk.virtualWrite(V0, sicaklik);}
BLYNK_READ(V1) {
DHT11.read(DHT11PIN);
nem = DHT11.humidity;
Serial.println("Nem: " + String(nem)); 
Blynk.virtualWrite(V1, nem);}
 
blynk arayüzünü eklemeyi unutmuşum. aşağıda bulabilmeniz mümkündür...
 

Ekler

  • WhatsApp Image 2021-10-13 at 14.11.23.jpeg
    WhatsApp Image 2021-10-13 at 14.11.23.jpeg
    49.8 KB · Görüntüleme: 97
Ana döngüde 500 ms delay var zaten. Bundan dolayı en az 500 ms lik bir gecikme mutlaka olur.
 
Hangi fonksiyonların gecikme yarattığını tespit etmek için millis() fonksiyonunu kullanabilirsin. Şüpheli fonksiyonu çağırmadan önce ve sonraki milisaniye zamanı kaydedersin, sonra da farka bakarsın.
 
biraz önce bir deneme yaptım. şöyle ki; blynk daki dht11 in gauge lerine yani hem nem hemde sıcaklık verilerinin komut kısmını açtığımda orada verileri yenileme hızı vardı ve bende 1saniyede bir verileri yenile yazıyordu. ben bu değeri 5 saniyeye düşürdüm. yani 5 saniyede bir nem ve sıcaklık verisi yenileyecek şekilde düzenledim ve sonuç farkedilir derece değişti. yani epey hızlandı.

ilave olarak sizin belirttiğiniz şekilde; ana döngüdeki delayları 500 değilde örneğin 50 yapsam programda herhangi hata vermez sanırım. bu şekilde de epey zaman kazanırım diye düşünüyorum.

diğer bir olasılıkta bütün delayları kaldırsam program hata verir mi acaba? bir deneyip cevabını yazacağım
 

Forum istatistikleri

Konular
5,663
Mesajlar
97,407
Üyeler
2,439
Son üye
Efekan

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top