Comment rajouter BLYNK dans son code.

Avec deux boutons poussoir je contrôle deux relais. Je voudrais pouvoir contrôler les relais à distance avec l’application BLYNK.
Avez-vous une idée comment faire ?

Voici mon code :

#include <WiFiNINA.h>
#include <BlynkSimpleWiFiNINA.h>
#define BLYNK_PRINT Serial


const int pushButton[] ={5,6};// define push button inputs
const int relayPin[]={3,4};// output pins where 4 relays will be connected
String relayNames[] ={"CH1", "CH2"};// Just put name for 4 relays
int pushed[] ={0,0};// status of each buttons
int relayStatus[] ={HIGH,HIGH};// initial status of relay
const int LED_V[]={7,9};
const int LED_R[]={8,10};

//BLYNK authentification + WIFI//
char auth[]= "**************";
char ssid[] = "**************";
char pass[]=  "**************";



void setup() {
  Blynk.begin(auth, ssid, pass),
  // Robojax.com 4-Relay-4-Push button 20181211
  Serial.begin(9600);// initialize serial monitor 
  for(int i=0; i<2; i++)
  {
    pinMode(pushButton[i], INPUT_PULLUP); 
    pinMode(relayPin[i], OUTPUT);   
    digitalWrite(relayPin[i], HIGH);// initial relay status to be OFF
    pinMode(LED_V[i], OUTPUT);
    pinMode(LED_R[i], OUTPUT);
  }

// Robojax.com 4-Relay-4-Push button 20181211
}

void loop() {
  
  

  for(int i=0; i<2; i++)
  {
     int  val = digitalRead(pushButton[i]);   
    if(val == HIGH && relayStatus[i] == LOW){
  
      pushed[i] = 1-pushed[i];
      delay(100);
    }// if   

  relayStatus[i] = val;

      if(pushed[i] == HIGH){
        Serial.print(relayNames[i]);
        Serial.println(" ON");
        digitalWrite(relayPin[i], LOW); 
        digitalWrite(LED_V[i], HIGH);digitalWrite(LED_R[i], LOW);
       
      }else{
        Serial.print(relayNames[i]);
        Serial.println(" OFF");
        digitalWrite(relayPin[i], HIGH);
        digitalWrite(LED_V[i], LOW);digitalWrite(LED_R[i], HIGH);
   
      }// else   
 
  }// for 
    Serial.println("=="); 
  delay(100);

  
}

avec des pins virtuelles - c'est dans la doc

merci de ta réponse, j’ai un peu modifier mon code, mais je comprend pas tout à fais comment écrire les lignes de code pour le virtualPin.

#include <WiFiNINA.h>
#include <BlynkSimpleWiFiNINA.h>
#define BLYNK_PRINT Serial


  
char auth[]= "0000000000-ukZJkMV4_IT5dvzaT";
char ssid[] = "0000000000";
char pass[]=  "00000000";

int pbuttonPin = 5;
int relayPin = 4;
int pbuttonPin2 = 6;
int relayPin2 = 3;
int val = 0;
int lightON = 0;
int pushed = 0;
int val2 = 0;
int lightON2 = 0;
int pushed2 = 0;
int buttonState =0;

BLYNK_READ(V2)
{
if(buttonState==HIGH)
  {
     Blynk.virtualWrite(2, HIGH);
  }
  else
  {
     Blynk.virtualWrite(2, LOW);
  }
}

void setup() {
  Blynk.begin(auth, ssid, pass);
  // Robojax.com 4-Relay-4-Push button 20181211
  Serial.begin(9600);// initialize serial monitor 
  
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
pinMode(pbuttonPin2, INPUT_PULLUP);
pinMode(relayPin2, OUTPUT);
}
void loop() {
  Blynk.run();

  

  val = digitalRead(pbuttonPin);
val2 = digitalRead(pbuttonPin2);
//Relay 1
if(val == HIGH && lightON == LOW){
pushed = 1-pushed;
delay(100);
}
lightON = val;
if(pushed == HIGH){
Serial.println("Light ON");
digitalWrite(relayPin, LOW);

}else{
Serial.println("Light OFF");
digitalWrite(relayPin, HIGH);
}
//Relay 2
if(val2 == HIGH && lightON2 == LOW){
pushed2 = 1-pushed2;
delay(100);
}
lightON2 = val2;
if(pushed2 == HIGH){
Serial.println("Light ON");
digitalWrite(relayPin2, LOW);
}else{
Serial.println("Light OFF");
digitalWrite(relayPin2, HIGH);
}
delay(100);

  
 
}

j’ai un peu modifié mon code, mais je ne comprends pas tout à fait comment écrire les lignes de code pour le virtualPin.

Programmer ce n’est pas du hasard…

Ne partez pas de votre code; commencez par faire les exercices + exemples fournis par Blynk. Quand vous aurez compris comment ça marche, adaptez votre code.

(et pourquoi avez vous des delay() dans le code ?)