Blynk hakkında yardım

Hocam merhaba..ben tekrar yardiminizi rica edecegim... Bylnk den uno daki roleleri kontrol etmek icin bir kod buldum... bu tek role icindi ve calisiyordu.. ben 4 roleye uyarlamaya calistim ama bir sikinti var... daha dogrusu buyuk bir sikinti var.. mesela nem butonuna basiyorum.. nemi aciyor..kapat diyorum..fan rolesini aciyor, isiklari ac diyorum nemi kapatiyor falan.. yani roleleri kafasina gore bir sira ile acip kapatiyor..
kesin yanlis kodlama yaptim ama nasil bilmiyorum..

Bu arada insallah oglunuz iyidir... Tekrardan gecmisler olsun...

Kod:
  // ARDUINO YUKLE

#include <SoftwareSerial.h>
SoftwareSerial ArduinoUno (10, 11);
int a, b, c, d;

void setup() {
  Serial.begin(9600);
  ArduinoUno.begin(4800);
 
  pinMode( 4, OUTPUT);
  digitalWrite(4, HIGH);
  pinMode(12, OUTPUT);
  digitalWrite(12, HIGH);
  pinMode( 5, OUTPUT);
  digitalWrite(5, HIGH);
  pinMode( 9, OUTPUT);
  digitalWrite(9, HIGH);
}
void loop() {
 
  while (ArduinoUno.available() > 0) {
    int val = ArduinoUno.parseInt();
    if (ArduinoUno.read() == '\n') {
      Serial.println(val);
      if (val == a); {
      if (val == LOW) {
        digitalWrite(4, LOW);
      }
      else {
        digitalWrite(4, HIGH);
        }
      }
    }
  }

  while (ArduinoUno.available() > 0) {
    int vbl = ArduinoUno.parseInt();
    if (ArduinoUno.read() == '\n') {
      Serial.println(vbl);
      if (vbl == b); {
      if (vbl == LOW) {
        digitalWrite(12, LOW);
      }
      else {
        digitalWrite(12, HIGH);
        }
      }
    }
  }

  while (ArduinoUno.available() > 0) {
    int vcl = ArduinoUno.parseInt();
    if (ArduinoUno.read() == '\n') {
      Serial.println(vcl);
      if (vcl == c); {
      if (vcl == LOW) {
        digitalWrite(5, LOW);
      }
      else {
        digitalWrite(5, HIGH);
        }
      }
    }
  }

  while (ArduinoUno.available() > 0) {
    int vdl = ArduinoUno.parseInt();
    if (ArduinoUno.read() == '\n') {
      Serial.println(vdl);
      if (vdl == d); {
      if (vdl == LOW) {
        digitalWrite(9, LOW);
      }
      else {
        digitalWrite(9, HIGH);
        }
      }
    }
   }
  
delay (300);
}

Kod:
//NODEMCU YUKLE

#define BLYNK_PRINT Serial
#include <SoftwareSerial.h>
#include <BlynkSimpleEsp8266.h>
#include <ESP8266WiFi.h>
//BlynkTimer timer;

// ================= CONNECT TO WIFI ================
char auth[] = "1HJh3g8b4ra9rFLjDz_ABL5CukkH4";
char ssid[] = "Kablonet Netmaster-C5B5-G_EXT";
char pass[] = "1911ff74";
int  a, b, c, d ;

SoftwareSerial NodeMCU(D8, D7);


 BLYNK_WRITE(V1)
{
  a = param.asInt();
  NodeMCU.print(a);
  NodeMCU.println("\n");
  Serial.println(a);
}

 BLYNK_WRITE(V2)
{
  b = param.asInt();
  NodeMCU.print(b);
  NodeMCU.println("\n");
  Serial.println(b);
}

 BLYNK_WRITE(V3)
{
  c = param.asInt();
  NodeMCU.print(c);
  NodeMCU.println("\n");
  Serial.println(c);
}

 BLYNK_WRITE(V4)
{
  d = param.asInt();
  NodeMCU.print(d);
  NodeMCU.println("\n");
  Serial.println(d);
}

void setup() {
  Serial.begin(9600);
  NodeMCU.begin(4800);
  Blynk.begin(auth, ssid, pass);
  pinMode(D8, INPUT);
  pinMode(D7, OUTPUT);
  
}



void loop() {
  Blynk.run();
  
}
 
Teşekkür ederim. Şimdi daha iyi, doktor 6 aylık kritik bir zaman olduğunu ve tekrarlama olasılığı olabileceğini söyledi. Umarım tekrarlamaz.

Yukarıdaki mesajlarda tekrarladığım gibi NodeMCU ile problemi çözmek bana göre daha kolaydı. Serial üzerinden de olur tabi ki. Fakat daha dikkatli kodu yazmak gerekiyor. NodeMCU'nun gönderdiği kodları kaçırmamak hatta karşılıklı teyit etmek gerekir ki P2P haberleşmenin mantığı da budur. Yukarıdaki kodda tek loop içinde hangi pin ile ilgili veri gönderilmişse o veri tespit edilip gereği yapılmalıdır. O durum karıştığından rastgele işlem oluyor. Serial.println(..); ile veriyi gönderirken hangisi olduğunu belirleyen bir değer daha olmalı. a, b, c, d değişkenleri muhtemelen bu iş için kullanılmış ama bir değer atanmamış ve parse edip gelen değer o değer mi karşılaştırılmamış. Arduino NodeMCU'nun hangi değeri gönderdiğini bilirse sorun kalmaz. Köyde olduğumdan bilgisayar üzerinden ayrıntılı kontrol edemiyorum.
 
Tesekkur ederim... Cozmeye calisacagim...
Oglunuzun iyi olduguna cok sevindim.. Umarim tekrarlamaz..Saglikli mutlu yillar gecirir..
Iyi aksamlar..
 
arkadaşalr selamın aleyküm bana blynk eski sürüm kullanan biri laazım ilk kez kullanacam ama yeni sürüm çok kötü yapmışlar o yyüzden bana hesabını bir kaç günlüğüne verebilecek biri varmı
 

Forum istatistikleri

Konular
129,833
Mesajlar
930,576
Kullanıcılar
452,658
Son üye
yılmaz_yılan

Yeni konular

Geri
Üst