ผมจะทำเปิดปิด Relay 5 ชุดโดยใช้ virtual

error

(Thanawit Uthairat) #21
type or paste code here
#define BLYNK_PRINT Serial

#define Relay1 D1
#define Relay2 D2
#define Relay3 D3
#define Relay4 D4
#define Relay5 D5
#define Relay6 D6
#define Relay7 D7
#define Relay8 D8
char auth[] = "";

char ssid[] = "OPPO";
char pass[] = "1111100000";


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>


BLYNK_WRITE(V1) //////lock
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V1, 1); //On
    digitalWrite(Relay1, LOW);

  }
  
  else
  {
   Blynk.virtualWrite(V1, 0); //Off
   digitalWrite(Relay1, HIGH);

 }
   }
   BLYNK_WRITE(V4) //////lock
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V4, 1); //On
     digitalWrite(Relay2, LOW);

  }
  
  else
  {
   Blynk.virtualWrite(V4, 0); //Off
   digitalWrite(Relay2, HIGH);

 }
   }
void setup()
{

  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
}
void loop()
{
  Blynk.run();
  
}

Relay 1 ใช้ได้ เเต่ Relay 2 ยังใช้ไม่ได้ครับ
เปลี่ยน Nodemcu เป็น Esp8266 ใช้ไม่ได้ทั้งสอง รีเลย์เลยครับ


(Permpol Thanapunnamas) #22

งั้นเพิ่มการกำหนดค่า นี้เข้าไปด้วยครับ เช็คก่อนว่า Relay 1 กับ 2 ต่อกับ ขาอะไร ก็เอาตัวเลขนั้นมากำหนด


(Permpol Thanapunnamas) #23

ดูบอร์ดหน่อยครับใช้ตัวไหน


(Thanawit Uthairat) #24


(Permpol Thanapunnamas) #25

เลือกในแอพเป็น esp8266 แล้วกำหนดพินเข้าไปเพิ่มครับตามที่บอก

#define BLYNK_PRINT Serial
#define Relay1 16
#define Relay2 5

char auth[] = "XXXXXXXXXXXXXXXXXXXXXXX";

char ssid[] = "OPPO";
char pass[] = "1111100000";


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>


BLYNK_WRITE(V1) {
  
  if (param.asInt() == 1)
  {
    digitalWrite(Relay1, LOW);
    
  }else{
    
   digitalWrite(Relay1, HIGH);

 }
   }
   
BLYNK_WRITE(V4){
  if (param.asInt() == 1)
  {

     digitalWrite(Relay2, LOW);

  }else
  {
    
   digitalWrite(Relay2, HIGH);

 }
   }

   
void setup()
{

  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  Blynk.connect();   
  
}
void loop()
{
  Blynk.run();
  
}

ลองดูได้ไหม


(Permpol Thanapunnamas) #26

แล้วใช้ 2 ขานี้ต่อ Relay ครับ

image


(Thanawit Uthairat) #27
#define BLYNK_PRINT Serial
int RelayCH1 = D1 ;
int RelayCH2 = D2 ;

char auth[] = "";

char ssid[] = "OPPO";
char pass[] = "1111100000";


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>


BLYNK_WRITE(V1) //////lock
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V1, 1); //On
    digitalWrite(D1, LOW);

  }
  
  else
  {
   Blynk.virtualWrite(V1, 0); //Off
   digitalWrite(D1, HIGH);

 }
   }
   BLYNK_WRITE(V4) //////lock
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V4, 1); //On
     digitalWrite(D2, LOW);

  }
  
  else
  {
   Blynk.virtualWrite(V4, 0); //Off
   digitalWrite(D2, HIGH);

 }
   }
void setup()
{
  pinMode(D1, OUTPUT);  //ตั้งค่าขา 4 เป็น output
  pinMode(D2, OUTPUT);  //ตั้งค่าขา 5 เป็น output
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
}
void loop()
{
  Blynk.run();
  
}

ได้เเล้วครับพี่ ขอบคุณพี่มากๆๆครับ:grinning::grinning::grinning::grinning::grinning:


(Permpol Thanapunnamas) #28

เส้นผมบังภูเขาอีกแล้วหรอ โถ่วววว ผมก็ลืมดู

จริงๆ ตรงนี้ไม่ต้องใส่ก๋ได้นะครับ ยังไงกดที่ปุ่มมันก็ต้อง on อยู่แล้ว

จาก

   BLYNK_WRITE(V4) //////lock
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V4, 1); //On
     digitalWrite(D2, LOW);

  }
  
  else
  {
   Blynk.virtualWrite(V4, 0); //Off
   digitalWrite(D2, HIGH);

 }
   }

เป็น

   BLYNK_WRITE(V4) //////lock
{
  if (param.asInt() == 1)
  {

     digitalWrite(D2, LOW);

  }
  
  else
  {

   digitalWrite(D2, HIGH);

 }
   }

(Thanawit Uthairat) #29

ผมขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆๆๆๆนะครับพี่


(Permpol Thanapunnamas) #30

มีอะไรสงสัยติดตรงไหนก็ เข้ามาถามได้ครับ ช่วยกันดูช่วยกันแก้ ปวดหัวดี!!


(Thanawit Uthairat) #31
 digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);
   digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);
    digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);
   digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);
    digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);
   digitalWrite(D3, LOW); /////// ไฟฉุกเฉิน
   delay (300);
   digitalWrite(D3, HIGH);
   delay (300);

มีวิธีอื่นไหมครับ


(Permpol Thanapunnamas) #32

ตั้งกระทู้ใหม่ เป็นโจทย์ใหม่เลยครับ