SyncPhysicalButton arduino mega 22pc button and 22pc physical button

Link my project https://yadi.sk/d/EvV8FXgtwA7oi
The problem is that I am not a programmer so get more code, only 10 keys (10 keys and 10 widget physical buttons) are working in this code.

Who can help, that would be on the Arduino Mega worked 22pc button and 22pc physical button?

Please attach code to topic with </> button.

@Sergey_Kuntsevich like this:

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <SimpleTimer.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "c4b698c712034338b2778cc1752196bb";

// Set your LED and physical button pins here


SimpleTimer timer;


void checkPhysicalButton30();void checkPhysicalButton31();void checkPhysicalButton32();void checkPhysicalButton33();void checkPhysicalButton34();void checkPhysicalButton35();
void checkPhysicalButton36();void checkPhysicalButton37();void checkPhysicalButton38();void checkPhysicalButton39();void checkPhysicalButton40();void checkPhysicalButton41();
void checkPhysicalButton42();void checkPhysicalButton43();void checkPhysicalButton44();void checkPhysicalButton45();void checkPhysicalButton46();void checkPhysicalButton47();
void checkPhysicalButton48();void checkPhysicalButton49();void checkPhysicalButton50();void checkPhysicalButton51();void checkPhysicalButton25();void checkPhysicalButton26();
void checkPhysicalButton27();void checkPhysicalButton28();void checkPhysicalButton29();


int btnPin30 = A0; int ledPin30 = 30;int ledState30 = LOW;int btnState30 = HIGH;
int btnPin31 = A1; int ledPin31 = 31;int ledState31 = LOW;int btnState31 = HIGH;
int btnPin32 = A2; int ledPin32 = 32;int ledState32 = LOW;int btnState32 = HIGH;
int btnPin33 = A3; int ledPin33 = 33;int ledState33 = LOW;int btnState33 = HIGH;
int btnPin34 = A4; int ledPin34 = 34;int ledState34 = LOW;int btnState34 = HIGH;
int btnPin35 = A5; int ledPin35 = 35;int ledState35 = LOW;int btnState35 = HIGH;
int btnPin36 = A6; int ledPin36 = 36;int ledState36 = LOW;int btnState36 = HIGH;
int btnPin37 = A7; int ledPin37 = 37;int ledState37 = LOW;int btnState37 = HIGH;
int btnPin38 = A8; int ledPin38 = 38;int ledState38 = LOW;int btnState38 = HIGH;
int btnPin39 = A9; int ledPin39 = 39;int ledState39 = LOW;int btnState39 = HIGH;
int btnPin40 = A10;int ledPin40 = 40;int ledState40 = LOW;int btnState40 = HIGH;
int btnPin41 = A11;int ledPin41 = 41;int ledState41 = LOW;int btnState41 = HIGH;
int btnPin42 = A12;int ledPin42 = 42;int ledState42 = LOW;int btnState42 = HIGH;
int btnPin43 = A13;int ledPin43 = 43;int ledState43 = LOW;int btnState43 = HIGH;
int btnPin44 = A14;int ledPin44 = 44;int ledState44 = LOW;int btnState44 = HIGH;
int btnPin45 = A15;int ledPin45 = 45;int ledState45 = LOW;int btnState45 = HIGH;
int btnPin46 = 22; int ledPin46 = 46;int ledState46 = LOW;int btnState46 = HIGH;
int btnPin47 = 23; int ledPin47 = 47;int ledState47 = LOW;int btnState47 = HIGH;
int btnPin48 = 24; int ledPin48 = 48;int ledState48 = LOW;int btnState48 = HIGH;
int btnPin49 = 2;  int ledPin49 = 49;int ledState49 = LOW;int btnState49 = HIGH;
int btnPin50 = 3;  int ledPin50 = 50;int ledState50 = LOW;int btnState50 = HIGH;
int btnPin51 = 4;  int ledPin51 = 51;int ledState51 = LOW;int btnState51 = HIGH;
int btnPin25 = 5;  int ledPin25 = 25;int ledState25 = LOW;int btnState25 = HIGH;
int btnPin26 = 6;  int ledPin26 = 26;int ledState26 = LOW;int btnState26 = HIGH;
int btnPin27 = 7;  int ledPin27 = 27;int ledState27 = LOW;int btnState27 = HIGH;
int btnPin28 = 8;  int ledPin28 = 28;int ledState28 = LOW;int btnState28 = HIGH;
int btnPin29 = 9;  int ledPin29 = 29;int ledState29 = LOW;int btnState29 = HIGH;

void setup()
{
  Serial.begin(9600); // See the connection status in Serial Monitor
  Blynk.begin(auth);
  /*pinMode(ledPin30, OUTPUT);pinMode(btnPin30, INPUT_PULLUP);digitalWrite(ledPin30, ledState30);timer.setInterval(100L, checkPhysicalButton30);
  pinMode(ledPin31, OUTPUT);pinMode(btnPin31, INPUT_PULLUP);digitalWrite(ledPin31, ledState31);timer.setInterval(100L, checkPhysicalButton31);
  pinMode(ledPin32, OUTPUT);pinMode(btnPin32, INPUT_PULLUP);digitalWrite(ledPin32, ledState32);timer.setInterval(100L, checkPhysicalButton32);
  pinMode(ledPin33, OUTPUT);pinMode(btnPin33, INPUT_PULLUP);digitalWrite(ledPin33, ledState33);timer.setInterval(100L, checkPhysicalButton33);
  pinMode(ledPin34, OUTPUT);pinMode(btnPin34, INPUT_PULLUP);digitalWrite(ledPin34, ledState34);timer.setInterval(100L, checkPhysicalButton34);
  pinMode(ledPin35, OUTPUT);pinMode(btnPin35, INPUT_PULLUP);digitalWrite(ledPin35, ledState35);timer.setInterval(100L, checkPhysicalButton35);
  */pinMode(ledPin36, OUTPUT);pinMode(btnPin36, INPUT_PULLUP);digitalWrite(ledPin36, ledState36);timer.setInterval(100L, checkPhysicalButton36);
  pinMode(ledPin37, OUTPUT);pinMode(btnPin37, INPUT_PULLUP);digitalWrite(ledPin37, ledState37);timer.setInterval(100L, checkPhysicalButton37);
  pinMode(ledPin38, OUTPUT);pinMode(btnPin38, INPUT_PULLUP);digitalWrite(ledPin38, ledState38);timer.setInterval(100L, checkPhysicalButton38);
  pinMode(ledPin39, OUTPUT);pinMode(btnPin39, INPUT_PULLUP);digitalWrite(ledPin39, ledState39);timer.setInterval(100L, checkPhysicalButton39);
  pinMode(ledPin40, OUTPUT);pinMode(btnPin40, INPUT_PULLUP);digitalWrite(ledPin40, ledState40);timer.setInterval(100L, checkPhysicalButton40);
  pinMode(ledPin41, OUTPUT);pinMode(btnPin41, INPUT_PULLUP);digitalWrite(ledPin41, ledState41);timer.setInterval(100L, checkPhysicalButton41);
  pinMode(ledPin42, OUTPUT);pinMode(btnPin42, INPUT_PULLUP);digitalWrite(ledPin42, ledState42);timer.setInterval(100L, checkPhysicalButton42);
  pinMode(ledPin43, OUTPUT);pinMode(btnPin43, INPUT_PULLUP);digitalWrite(ledPin43, ledState43);timer.setInterval(100L, checkPhysicalButton43);
  pinMode(ledPin44, OUTPUT);pinMode(btnPin44, INPUT_PULLUP);digitalWrite(ledPin44, ledState44);timer.setInterval(100L, checkPhysicalButton44);
  pinMode(ledPin45, OUTPUT);pinMode(btnPin45, INPUT_PULLUP);digitalWrite(ledPin45, ledState45);timer.setInterval(100L, checkPhysicalButton45);
  pinMode(ledPin46, OUTPUT);pinMode(btnPin46, INPUT_PULLUP);digitalWrite(ledPin46, ledState46);timer.setInterval(100L, checkPhysicalButton46);
  pinMode(ledPin47, OUTPUT);pinMode(btnPin47, INPUT_PULLUP);digitalWrite(ledPin47, ledState47);timer.setInterval(100L, checkPhysicalButton47);
  pinMode(ledPin48, OUTPUT);pinMode(btnPin48, INPUT_PULLUP);digitalWrite(ledPin48, ledState48);timer.setInterval(100L, checkPhysicalButton48);
  pinMode(ledPin49, OUTPUT);pinMode(btnPin49, INPUT_PULLUP);digitalWrite(ledPin49, ledState49);timer.setInterval(100L, checkPhysicalButton49);
  pinMode(ledPin50, OUTPUT);pinMode(btnPin50, INPUT_PULLUP);digitalWrite(ledPin50, ledState50);timer.setInterval(100L, checkPhysicalButton50);
  pinMode(ledPin51, OUTPUT);pinMode(btnPin51, INPUT_PULLUP);digitalWrite(ledPin51, ledState51);timer.setInterval(100L, checkPhysicalButton51);
  pinMode(ledPin25, OUTPUT);pinMode(btnPin25, INPUT_PULLUP);digitalWrite(ledPin25, ledState25);timer.setInterval(100L, checkPhysicalButton25);
  pinMode(ledPin26, OUTPUT);pinMode(btnPin26, INPUT_PULLUP);digitalWrite(ledPin26, ledState26);timer.setInterval(100L, checkPhysicalButton26);
  pinMode(ledPin27, OUTPUT);pinMode(btnPin27, INPUT_PULLUP);digitalWrite(ledPin27, ledState27);timer.setInterval(100L, checkPhysicalButton27);
  pinMode(ledPin28, OUTPUT);pinMode(btnPin28, INPUT_PULLUP);digitalWrite(ledPin28, ledState28);timer.setInterval(100L, checkPhysicalButton28);
  pinMode(ledPin29, OUTPUT);pinMode(btnPin29, INPUT_PULLUP);digitalWrite(ledPin29, ledState29);timer.setInterval(100L, checkPhysicalButton29);
}

// Every time we connect to the cloud...
 BLYNK_CONNECTED() {
                    Blynk.syncVirtual(V30);Blynk.syncVirtual(V31);Blynk.syncVirtual(V32);Blynk.syncVirtual(V33);Blynk.syncVirtual(V34);Blynk.syncVirtual(V35);Blynk.syncVirtual(V36);Blynk.syncVirtual(V37);
                    Blynk.syncVirtual(V38);Blynk.syncVirtual(V39);Blynk.syncVirtual(V40);Blynk.syncVirtual(V41);Blynk.syncVirtual(V42);Blynk.syncVirtual(V43);Blynk.syncVirtual(V44);Blynk.syncVirtual(V45);
                    Blynk.syncVirtual(V43);Blynk.syncVirtual(V44);Blynk.syncVirtual(V45);Blynk.syncVirtual(V46);Blynk.syncVirtual(V47);Blynk.syncVirtual(V48);Blynk.syncVirtual(V49);Blynk.syncVirtual(V50);
                    Blynk.syncVirtual(V51);Blynk.syncVirtual(V25);Blynk.syncVirtual(V26);Blynk.syncVirtual(V27);Blynk.syncVirtual(V28);Blynk.syncVirtual(V29);
                    //Blynk.syncVirtual(V52);Blynk.syncVirtual(V53);
                  }
                  
/*BLYNK_WRITE(V30) {ledState30 = param.asInt();digitalWrite(ledPin30, ledState30);}
void checkPhysicalButton30(){if(digitalRead(btnPin30) == LOW){if(btnState30 != LOW){ledState30 = !ledState30;digitalWrite(ledPin30,ledState30);Blynk.virtualWrite(V30,ledState30);}btnState30 = LOW;} else {btnState30 = HIGH;}}
BLYNK_WRITE(V31) {ledState31 = param.asInt();digitalWrite(ledPin31, ledState31);}
void checkPhysicalButton31(){if(digitalRead(btnPin31) == LOW){if(btnState31 != LOW){ledState31 = !ledState31;digitalWrite(ledPin31,ledState31);Blynk.virtualWrite(V31,ledState31);}btnState31 = LOW;} else {btnState31 = HIGH;}}
BLYNK_WRITE(V32) {ledState32 = param.asInt();digitalWrite(ledPin32, ledState32);}
void checkPhysicalButton32(){if(digitalRead(btnPin32) == LOW){if(btnState32 != LOW){ledState32 = !ledState32;digitalWrite(ledPin32,ledState32);Blynk.virtualWrite(V32,ledState32);}btnState32 = LOW;} else {btnState32 = HIGH;}}
BLYNK_WRITE(V33) {ledState33 = param.asInt();digitalWrite(ledPin33, ledState33);}
void checkPhysicalButton33(){if(digitalRead(btnPin33) == LOW){if(btnState33 != LOW){ledState33 = !ledState33;digitalWrite(ledPin33,ledState33);Blynk.virtualWrite(V33,ledState33);}btnState33 = LOW;} else {btnState33 = HIGH;}}
BLYNK_WRITE(V34) {ledState34 = param.asInt();digitalWrite(ledPin34, ledState34);}
void checkPhysicalButton34(){if(digitalRead(btnPin34) == LOW){if(btnState34 != LOW){ledState34 = !ledState34;digitalWrite(ledPin34,ledState34);Blynk.virtualWrite(V34,ledState34);}btnState34 = LOW;} else {btnState34 = HIGH;}}
BLYNK_WRITE(V35) {ledState35 = param.asInt();digitalWrite(ledPin35, ledState35);}
void checkPhysicalButton35(){if(digitalRead(btnPin35) == LOW){if(btnState35 != LOW){ledState35 = !ledState35;digitalWrite(ledPin35,ledState35);Blynk.virtualWrite(V35,ledState35);}btnState35 = LOW;} else {btnState35 = HIGH;}}
*/BLYNK_WRITE(V36) {ledState36 = param.asInt();digitalWrite(ledPin36, ledState36);}
void checkPhysicalButton36(){if(digitalRead(btnPin36) == LOW){if(btnState36 != LOW){ledState36 = !ledState36;digitalWrite(ledPin36,ledState36);Blynk.virtualWrite(V36,ledState36);}btnState36 = LOW;} else {btnState36 = HIGH;}}
BLYNK_WRITE(V37) {ledState37 = param.asInt();digitalWrite(ledPin37, ledState37);}
void checkPhysicalButton37(){if(digitalRead(btnPin37) == LOW){if(btnState37 != LOW){ledState37 = !ledState37;digitalWrite(ledPin37,ledState37);Blynk.virtualWrite(V37,ledState37);}btnState37 = LOW;} else {btnState37 = HIGH;}}
BLYNK_WRITE(V38) {ledState38 = param.asInt();digitalWrite(ledPin38, ledState38);}
void checkPhysicalButton38(){if(digitalRead(btnPin38) == LOW){if(btnState38 != LOW){ledState38 = !ledState38;digitalWrite(ledPin38,ledState38);Blynk.virtualWrite(V38,ledState38);}btnState38 = LOW;} else {btnState38 = HIGH;}}
BLYNK_WRITE(V39) {ledState39 = param.asInt();digitalWrite(ledPin39, ledState39);}
void checkPhysicalButton39(){if(digitalRead(btnPin39) == LOW){if(btnState39 != LOW){ledState39 = !ledState39;digitalWrite(ledPin39,ledState39);Blynk.virtualWrite(V39,ledState39);}btnState39 = LOW;} else {btnState39 = HIGH;}}
BLYNK_WRITE(V40) {ledState40 = param.asInt();digitalWrite(ledPin40, ledState40);}
void checkPhysicalButton40(){if(digitalRead(btnPin40) == LOW){if(btnState40 != LOW){ledState40 = !ledState40;digitalWrite(ledPin40,ledState40);Blynk.virtualWrite(V40,ledState40);}btnState40 = LOW;} else {btnState40 = HIGH;}}
BLYNK_WRITE(V41) {ledState41 = param.asInt();digitalWrite(ledPin41, ledState41);}
void checkPhysicalButton41(){if(digitalRead(btnPin41) == LOW){if(btnState41 != LOW){ledState41 = !ledState41;digitalWrite(ledPin41,ledState41);Blynk.virtualWrite(V41,ledState41);}btnState41 = LOW;} else {btnState41 = HIGH;}}
BLYNK_WRITE(V42) {ledState42 = param.asInt();digitalWrite(ledPin42, ledState42);}
void checkPhysicalButton42(){if(digitalRead(btnPin42) == LOW){if(btnState42 != LOW){ledState42 = !ledState42;digitalWrite(ledPin42,ledState42);Blynk.virtualWrite(V42,ledState42);}btnState42 = LOW;} else {btnState42 = HIGH;}}
BLYNK_WRITE(V43) {ledState43 = param.asInt();digitalWrite(ledPin43, ledState43);}
void checkPhysicalButton43(){if(digitalRead(btnPin43) == LOW){if(btnState43 != LOW){ledState43 = !ledState43;digitalWrite(ledPin43,ledState43);Blynk.virtualWrite(V43,ledState43);}btnState43 = LOW;} else {btnState43 = HIGH;}}
BLYNK_WRITE(V44) {ledState44 = param.asInt();digitalWrite(ledPin44, ledState44);}
void checkPhysicalButton44(){if(digitalRead(btnPin44) == LOW){if(btnState44 != LOW){ledState44 = !ledState44;digitalWrite(ledPin44,ledState44);Blynk.virtualWrite(V44,ledState44);}btnState44 = LOW;} else {btnState44 = HIGH;}}
BLYNK_WRITE(V45) {ledState45 = param.asInt();digitalWrite(ledPin45, ledState45);}
void checkPhysicalButton45(){if(digitalRead(btnPin45) == LOW){if(btnState45 != LOW){ledState45 = !ledState45;digitalWrite(ledPin45,ledState45);Blynk.virtualWrite(V45,ledState45);}btnState45 = LOW;} else {btnState45 = HIGH;}}
BLYNK_WRITE(V46) {ledState46 = param.asInt();digitalWrite(ledPin46, ledState46);}
void checkPhysicalButton46(){if(digitalRead(btnPin46) == LOW){if(btnState46 != LOW){ledState46 = !ledState46;digitalWrite(ledPin46,ledState46);Blynk.virtualWrite(V46,ledState46);}btnState46 = LOW;} else {btnState46 = HIGH;}}
BLYNK_WRITE(V47) {ledState47 = param.asInt();digitalWrite(ledPin47, ledState47);}
void checkPhysicalButton47(){if(digitalRead(btnPin47) == LOW){if(btnState47 != LOW){ledState47 = !ledState47;digitalWrite(ledPin47,ledState47);Blynk.virtualWrite(V47,ledState47);}btnState47 = LOW;} else {btnState47 = HIGH;}}
BLYNK_WRITE(V48) {ledState48 = param.asInt();digitalWrite(ledPin48, ledState48);}
void checkPhysicalButton48(){if(digitalRead(btnPin48) == LOW){if(btnState48 != LOW){ledState48 = !ledState48;digitalWrite(ledPin48,ledState48);Blynk.virtualWrite(V48,ledState48);}btnState48 = LOW;} else {btnState48 = HIGH;}}
BLYNK_WRITE(V49) {ledState49 = param.asInt();digitalWrite(ledPin49, ledState49);}
void checkPhysicalButton49(){if(digitalRead(btnPin49) == LOW){if(btnState49 != LOW){ledState49 = !ledState49;digitalWrite(ledPin49,ledState49);Blynk.virtualWrite(V49,ledState49);}btnState49 = LOW;} else {btnState49 = HIGH;}}
BLYNK_WRITE(V50) {ledState50 = param.asInt();digitalWrite(ledPin50, ledState50);}
void checkPhysicalButton50(){if(digitalRead(btnPin50) == LOW){if(btnState50 != LOW){ledState50 = !ledState50;digitalWrite(ledPin50,ledState50);Blynk.virtualWrite(V50,ledState50);}btnState50 = LOW;} else {btnState50 = HIGH;}}
BLYNK_WRITE(V51) {ledState51 = param.asInt();digitalWrite(ledPin51, ledState51);}
void checkPhysicalButton51(){if(digitalRead(btnPin51) == LOW){if(btnState51 != LOW){ledState51 = !ledState51;digitalWrite(ledPin51,ledState51);Blynk.virtualWrite(V51,ledState51);}btnState51 = LOW;} else {btnState51 = HIGH;}}
BLYNK_WRITE(V25) {ledState25 = param.asInt();digitalWrite(ledPin25, ledState25);}
void checkPhysicalButton25(){if(digitalRead(btnPin25) == LOW){if(btnState25 != LOW){ledState25 = !ledState25;digitalWrite(ledPin25,ledState25);Blynk.virtualWrite(V25,ledState25);}btnState25 = LOW;} else {btnState25 = HIGH;}}
BLYNK_WRITE(V26) {ledState26 = param.asInt();digitalWrite(ledPin26, ledState26);}
void checkPhysicalButton26(){if(digitalRead(btnPin26) == LOW){if(btnState26 != LOW){ledState26 = !ledState26;digitalWrite(ledPin26,ledState26);Blynk.virtualWrite(V26,ledState26);}btnState26 = LOW;} else {btnState26 = HIGH;}}
BLYNK_WRITE(V27) {ledState27 = param.asInt();digitalWrite(ledPin27, ledState27);}
void checkPhysicalButton27(){if(digitalRead(btnPin27) == LOW){if(btnState27 != LOW){ledState27 = !ledState27;digitalWrite(ledPin27,ledState27);Blynk.virtualWrite(V27,ledState27);}btnState27 = LOW;} else {btnState27 = HIGH;}}
BLYNK_WRITE(V28) {ledState28 = param.asInt();digitalWrite(ledPin28, ledState28);}
void checkPhysicalButton28(){if(digitalRead(btnPin28) == LOW){if(btnState28 != LOW){ledState28 = !ledState28;digitalWrite(ledPin28,ledState28);Blynk.virtualWrite(V28,ledState28);}btnState28 = LOW;} else {btnState28 = HIGH;}}
BLYNK_WRITE(V29) {ledState29 = param.asInt();digitalWrite(ledPin29, ledState29);}
void checkPhysicalButton29(){if(digitalRead(btnPin29) == LOW){if(btnState29 != LOW){ledState29 = !ledState29;digitalWrite(ledPin29,ledState29);Blynk.virtualWrite(V29,ledState29);}btnState29 = LOW;} else {btnState29 = HIGH;}}


void loop()
{
  Blynk.run(); // Run Blynk
  timer.run(); // Run SimpleTimer
}

or perhaps better still like this:

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <SimpleTimer.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "c4b698c712034338b2778cc1752196bb";

// Set your LED and physical button pins here


SimpleTimer timer;


void checkPhysicalButton30();void checkPhysicalButton31();void checkPhysicalButton32();void checkPhysicalButton33();void checkPhysicalButton34();void checkPhysicalButton35();
void checkPhysicalButton36();void checkPhysicalButton37();void checkPhysicalButton38();void checkPhysicalButton39();void checkPhysicalButton40();void checkPhysicalButton41();
void checkPhysicalButton42();void checkPhysicalButton43();void checkPhysicalButton44();void checkPhysicalButton45();void checkPhysicalButton46();void checkPhysicalButton47();
void checkPhysicalButton48();void checkPhysicalButton49();void checkPhysicalButton50();void checkPhysicalButton51();void checkPhysicalButton25();void checkPhysicalButton26();
void checkPhysicalButton27();void checkPhysicalButton28();void checkPhysicalButton29();


int btnPin30 = A0; int ledPin30 = 30;int ledState30 = LOW;int btnState30 = HIGH;
int btnPin31 = A1; int ledPin31 = 31;int ledState31 = LOW;int btnState31 = HIGH;
int btnPin32 = A2; int ledPin32 = 32;int ledState32 = LOW;int btnState32 = HIGH;
int btnPin33 = A3; int ledPin33 = 33;int ledState33 = LOW;int btnState33 = HIGH;
int btnPin34 = A4; int ledPin34 = 34;int ledState34 = LOW;int btnState34 = HIGH;
int btnPin35 = A5; int ledPin35 = 35;int ledState35 = LOW;int btnState35 = HIGH;
int btnPin36 = A6; int ledPin36 = 36;int ledState36 = LOW;int btnState36 = HIGH;
int btnPin37 = A7; int ledPin37 = 37;int ledState37 = LOW;int btnState37 = HIGH;
int btnPin38 = A8; int ledPin38 = 38;int ledState38 = LOW;int btnState38 = HIGH;
int btnPin39 = A9; int ledPin39 = 39;int ledState39 = LOW;int btnState39 = HIGH;
int btnPin40 = A10;int ledPin40 = 40;int ledState40 = LOW;int btnState40 = HIGH;
int btnPin41 = A11;int ledPin41 = 41;int ledState41 = LOW;int btnState41 = HIGH;
int btnPin42 = A12;int ledPin42 = 42;int ledState42 = LOW;int btnState42 = HIGH;
int btnPin43 = A13;int ledPin43 = 43;int ledState43 = LOW;int btnState43 = HIGH;
int btnPin44 = A14;int ledPin44 = 44;int ledState44 = LOW;int btnState44 = HIGH;
int btnPin45 = A15;int ledPin45 = 45;int ledState45 = LOW;int btnState45 = HIGH;
int btnPin46 = 22; int ledPin46 = 46;int ledState46 = LOW;int btnState46 = HIGH;
int btnPin47 = 23; int ledPin47 = 47;int ledState47 = LOW;int btnState47 = HIGH;
int btnPin48 = 24; int ledPin48 = 48;int ledState48 = LOW;int btnState48 = HIGH;
int btnPin49 = 2;  int ledPin49 = 49;int ledState49 = LOW;int btnState49 = HIGH;
int btnPin50 = 3;  int ledPin50 = 50;int ledState50 = LOW;int btnState50 = HIGH;
int btnPin51 = 4;  int ledPin51 = 51;int ledState51 = LOW;int btnState51 = HIGH;
int btnPin25 = 5;  int ledPin25 = 25;int ledState25 = LOW;int btnState25 = HIGH;
int btnPin26 = 6;  int ledPin26 = 26;int ledState26 = LOW;int btnState26 = HIGH;
int btnPin27 = 7;  int ledPin27 = 27;int ledState27 = LOW;int btnState27 = HIGH;
int btnPin28 = 8;  int ledPin28 = 28;int ledState28 = LOW;int btnState28 = HIGH;
int btnPin29 = 9;  int ledPin29 = 29;int ledState29 = LOW;int btnState29 = HIGH;

void setup()
{
  Serial.begin(9600); // See the connection status in Serial Monitor
  Blynk.begin(auth);
  /*pinMode(ledPin30, OUTPUT);pinMode(btnPin30, INPUT_PULLUP);digitalWrite(ledPin30, ledState30);timer.setInterval(100L, checkPhysicalButton30);
  pinMode(ledPin31, OUTPUT);pinMode(btnPin31, INPUT_PULLUP);digitalWrite(ledPin31, ledState31);timer.setInterval(100L, checkPhysicalButton31);
  pinMode(ledPin32, OUTPUT);pinMode(btnPin32, INPUT_PULLUP);digitalWrite(ledPin32, ledState32);timer.setInterval(100L, checkPhysicalButton32);
  pinMode(ledPin33, OUTPUT);pinMode(btnPin33, INPUT_PULLUP);digitalWrite(ledPin33, ledState33);timer.setInterval(100L, checkPhysicalButton33);
  pinMode(ledPin34, OUTPUT);pinMode(btnPin34, INPUT_PULLUP);digitalWrite(ledPin34, ledState34);timer.setInterval(100L, checkPhysicalButton34);
  pinMode(ledPin35, OUTPUT);pinMode(btnPin35, INPUT_PULLUP);digitalWrite(ledPin35, ledState35);timer.setInterval(100L, checkPhysicalButton35);
  */pinMode(ledPin36, OUTPUT);pinMode(btnPin36, INPUT_PULLUP);digitalWrite(ledPin36, ledState36);timer.setInterval(100L, checkPhysicalButton36);
  pinMode(ledPin37, OUTPUT);pinMode(btnPin37, INPUT_PULLUP);digitalWrite(ledPin37, ledState37);timer.setInterval(100L, checkPhysicalButton37);
  pinMode(ledPin38, OUTPUT);pinMode(btnPin38, INPUT_PULLUP);digitalWrite(ledPin38, ledState38);timer.setInterval(100L, checkPhysicalButton38);
  pinMode(ledPin39, OUTPUT);pinMode(btnPin39, INPUT_PULLUP);digitalWrite(ledPin39, ledState39);timer.setInterval(100L, checkPhysicalButton39);
  pinMode(ledPin40, OUTPUT);pinMode(btnPin40, INPUT_PULLUP);digitalWrite(ledPin40, ledState40);timer.setInterval(100L, checkPhysicalButton40);
  pinMode(ledPin41, OUTPUT);pinMode(btnPin41, INPUT_PULLUP);digitalWrite(ledPin41, ledState41);timer.setInterval(100L, checkPhysicalButton41);
  pinMode(ledPin42, OUTPUT);pinMode(btnPin42, INPUT_PULLUP);digitalWrite(ledPin42, ledState42);timer.setInterval(100L, checkPhysicalButton42);
  pinMode(ledPin43, OUTPUT);pinMode(btnPin43, INPUT_PULLUP);digitalWrite(ledPin43, ledState43);timer.setInterval(100L, checkPhysicalButton43);
  pinMode(ledPin44, OUTPUT);pinMode(btnPin44, INPUT_PULLUP);digitalWrite(ledPin44, ledState44);timer.setInterval(100L, checkPhysicalButton44);
  pinMode(ledPin45, OUTPUT);pinMode(btnPin45, INPUT_PULLUP);digitalWrite(ledPin45, ledState45);timer.setInterval(100L, checkPhysicalButton45);
  pinMode(ledPin46, OUTPUT);pinMode(btnPin46, INPUT_PULLUP);digitalWrite(ledPin46, ledState46);timer.setInterval(100L, checkPhysicalButton46);
  pinMode(ledPin47, OUTPUT);pinMode(btnPin47, INPUT_PULLUP);digitalWrite(ledPin47, ledState47);timer.setInterval(100L, checkPhysicalButton47);
  pinMode(ledPin48, OUTPUT);pinMode(btnPin48, INPUT_PULLUP);digitalWrite(ledPin48, ledState48);timer.setInterval(100L, checkPhysicalButton48);
  pinMode(ledPin49, OUTPUT);pinMode(btnPin49, INPUT_PULLUP);digitalWrite(ledPin49, ledState49);timer.setInterval(100L, checkPhysicalButton49);
  pinMode(ledPin50, OUTPUT);pinMode(btnPin50, INPUT_PULLUP);digitalWrite(ledPin50, ledState50);timer.setInterval(100L, checkPhysicalButton50);
  pinMode(ledPin51, OUTPUT);pinMode(btnPin51, INPUT_PULLUP);digitalWrite(ledPin51, ledState51);timer.setInterval(100L, checkPhysicalButton51);
  pinMode(ledPin25, OUTPUT);pinMode(btnPin25, INPUT_PULLUP);digitalWrite(ledPin25, ledState25);timer.setInterval(100L, checkPhysicalButton25);
  pinMode(ledPin26, OUTPUT);pinMode(btnPin26, INPUT_PULLUP);digitalWrite(ledPin26, ledState26);timer.setInterval(100L, checkPhysicalButton26);
  pinMode(ledPin27, OUTPUT);pinMode(btnPin27, INPUT_PULLUP);digitalWrite(ledPin27, ledState27);timer.setInterval(100L, checkPhysicalButton27);
  pinMode(ledPin28, OUTPUT);pinMode(btnPin28, INPUT_PULLUP);digitalWrite(ledPin28, ledState28);timer.setInterval(100L, checkPhysicalButton28);
  pinMode(ledPin29, OUTPUT);pinMode(btnPin29, INPUT_PULLUP);digitalWrite(ledPin29, ledState29);timer.setInterval(100L, checkPhysicalButton29);
}

// Every time we connect to the cloud...
 BLYNK_CONNECTED() {
                    Blynk.syncVirtual(V30);Blynk.syncVirtual(V31);Blynk.syncVirtual(V32);Blynk.syncVirtual(V33);Blynk.syncVirtual(V34);Blynk.syncVirtual(V35);Blynk.syncVirtual(V36);Blynk.syncVirtual(V37);
                    Blynk.syncVirtual(V38);Blynk.syncVirtual(V39);Blynk.syncVirtual(V40);Blynk.syncVirtual(V41);Blynk.syncVirtual(V42);Blynk.syncVirtual(V43);Blynk.syncVirtual(V44);Blynk.syncVirtual(V45);
                    Blynk.syncVirtual(V43);Blynk.syncVirtual(V44);Blynk.syncVirtual(V45);Blynk.syncVirtual(V46);Blynk.syncVirtual(V47);Blynk.syncVirtual(V48);Blynk.syncVirtual(V49);Blynk.syncVirtual(V50);
                    Blynk.syncVirtual(V51);Blynk.syncVirtual(V25);Blynk.syncVirtual(V26);Blynk.syncVirtual(V27);Blynk.syncVirtual(V28);Blynk.syncVirtual(V29);
                    //Blynk.syncVirtual(V52);Blynk.syncVirtual(V53);
                  }
                  
/*BLYNK_WRITE(V30) {ledState30 = param.asInt();digitalWrite(ledPin30, ledState30);}
void checkPhysicalButton30(){if(digitalRead(btnPin30) == LOW){if(btnState30 != LOW){ledState30 = !ledState30;digitalWrite(ledPin30,ledState30);Blynk.virtualWrite(V30,ledState30);}btnState30 = LOW;} else {btnState30 = HIGH;}}
BLYNK_WRITE(V31) {ledState31 = param.asInt();digitalWrite(ledPin31, ledState31);}
void checkPhysicalButton31(){if(digitalRead(btnPin31) == LOW){if(btnState31 != LOW){ledState31 = !ledState31;digitalWrite(ledPin31,ledState31);Blynk.virtualWrite(V31,ledState31);}btnState31 = LOW;} else {btnState31 = HIGH;}}
BLYNK_WRITE(V32) {ledState32 = param.asInt();digitalWrite(ledPin32, ledState32);}
void checkPhysicalButton32(){if(digitalRead(btnPin32) == LOW){if(btnState32 != LOW){ledState32 = !ledState32;digitalWrite(ledPin32,ledState32);Blynk.virtualWrite(V32,ledState32);}btnState32 = LOW;} else {btnState32 = HIGH;}}
BLYNK_WRITE(V33) {ledState33 = param.asInt();digitalWrite(ledPin33, ledState33);}
void checkPhysicalButton33(){if(digitalRead(btnPin33) == LOW){if(btnState33 != LOW){ledState33 = !ledState33;digitalWrite(ledPin33,ledState33);Blynk.virtualWrite(V33,ledState33);}btnState33 = LOW;} else {btnState33 = HIGH;}}
BLYNK_WRITE(V34) {ledState34 = param.asInt();digitalWrite(ledPin34, ledState34);}
void checkPhysicalButton34(){if(digitalRead(btnPin34) == LOW){if(btnState34 != LOW){ledState34 = !ledState34;digitalWrite(ledPin34,ledState34);Blynk.virtualWrite(V34,ledState34);}btnState34 = LOW;} else {btnState34 = HIGH;}}
BLYNK_WRITE(V35) {ledState35 = param.asInt();digitalWrite(ledPin35, ledState35);}
void checkPhysicalButton35(){if(digitalRead(btnPin35) == LOW){if(btnState35 != LOW){ledState35 = !ledState35;digitalWrite(ledPin35,ledState35);Blynk.virtualWrite(V35,ledState35);}btnState35 = LOW;} else {btnState35 = HIGH;}}
*/BLYNK_WRITE(V36) {ledState36 = param.asInt();digitalWrite(ledPin36, ledState36);}
void checkPhysicalButton36(){if(digitalRead(btnPin36) == LOW){if(btnState36 != LOW){ledState36 = !ledState36;digitalWrite(ledPin36,ledState36);Blynk.virtualWrite(V36,ledState36);}btnState36 = LOW;} else {btnState36 = HIGH;}}
BLYNK_WRITE(V37) {ledState37 = param.asInt();digitalWrite(ledPin37, ledState37);}
void checkPhysicalButton37(){if(digitalRead(btnPin37) == LOW){if(btnState37 != LOW){ledState37 = !ledState37;digitalWrite(ledPin37,ledState37);Blynk.virtualWrite(V37,ledState37);}btnState37 = LOW;} else {btnState37 = HIGH;}}
BLYNK_WRITE(V38) {ledState38 = param.asInt();digitalWrite(ledPin38, ledState38);}
void checkPhysicalButton38(){if(digitalRead(btnPin38) == LOW){if(btnState38 != LOW){ledState38 = !ledState38;digitalWrite(ledPin38,ledState38);Blynk.virtualWrite(V38,ledState38);}btnState38 = LOW;} else {btnState38 = HIGH;}}
BLYNK_WRITE(V39) {ledState39 = param.asInt();digitalWrite(ledPin39, ledState39);}
void checkPhysicalButton39(){if(digitalRead(btnPin39) == LOW){if(btnState39 != LOW){ledState39 = !ledState39;digitalWrite(ledPin39,ledState39);Blynk.virtualWrite(V39,ledState39);}btnState39 = LOW;} else {btnState39 = HIGH;}}
BLYNK_WRITE(V40) {ledState40 = param.asInt();digitalWrite(ledPin40, ledState40);}
void checkPhysicalButton40(){if(digitalRead(btnPin40) == LOW){if(btnState40 != LOW){ledState40 = !ledState40;digitalWrite(ledPin40,ledState40);Blynk.virtualWrite(V40,ledState40);}btnState40 = LOW;} else {btnState40 = HIGH;}}
BLYNK_WRITE(V41) {ledState41 = param.asInt();digitalWrite(ledPin41, ledState41);}
void checkPhysicalButton41(){if(digitalRead(btnPin41) == LOW){if(btnState41 != LOW){ledState41 = !ledState41;digitalWrite(ledPin41,ledState41);Blynk.virtualWrite(V41,ledState41);}btnState41 = LOW;} else {btnState41 = HIGH;}}
BLYNK_WRITE(V42) {ledState42 = param.asInt();digitalWrite(ledPin42, ledState42);}
void checkPhysicalButton42(){if(digitalRead(btnPin42) == LOW){if(btnState42 != LOW){ledState42 = !ledState42;digitalWrite(ledPin42,ledState42);Blynk.virtualWrite(V42,ledState42);}btnState42 = LOW;} else {btnState42 = HIGH;}}
BLYNK_WRITE(V43) {ledState43 = param.asInt();digitalWrite(ledPin43, ledState43);}
void checkPhysicalButton43(){if(digitalRead(btnPin43) == LOW){if(btnState43 != LOW){ledState43 = !ledState43;digitalWrite(ledPin43,ledState43);Blynk.virtualWrite(V43,ledState43);}btnState43 = LOW;} else {btnState43 = HIGH;}}
BLYNK_WRITE(V44) {ledState44 = param.asInt();digitalWrite(ledPin44, ledState44);}
void checkPhysicalButton44(){if(digitalRead(btnPin44) == LOW){if(btnState44 != LOW){ledState44 = !ledState44;digitalWrite(ledPin44,ledState44);Blynk.virtualWrite(V44,ledState44);}btnState44 = LOW;} else {btnState44 = HIGH;}}
BLYNK_WRITE(V45) {ledState45 = param.asInt();digitalWrite(ledPin45, ledState45);}
void checkPhysicalButton45(){if(digitalRead(btnPin45) == LOW){if(btnState45 != LOW){ledState45 = !ledState45;digitalWrite(ledPin45,ledState45);Blynk.virtualWrite(V45,ledState45);}btnState45 = LOW;} else {btnState45 = HIGH;}}
BLYNK_WRITE(V46) {ledState46 = param.asInt();digitalWrite(ledPin46, ledState46);}
void checkPhysicalButton46(){if(digitalRead(btnPin46) == LOW){if(btnState46 != LOW){ledState46 = !ledState46;digitalWrite(ledPin46,ledState46);Blynk.virtualWrite(V46,ledState46);}btnState46 = LOW;} else {btnState46 = HIGH;}}
BLYNK_WRITE(V47) {ledState47 = param.asInt();digitalWrite(ledPin47, ledState47);}
void checkPhysicalButton47(){if(digitalRead(btnPin47) == LOW){if(btnState47 != LOW){ledState47 = !ledState47;digitalWrite(ledPin47,ledState47);Blynk.virtualWrite(V47,ledState47);}btnState47 = LOW;} else {btnState47 = HIGH;}}
BLYNK_WRITE(V48) {ledState48 = param.asInt();digitalWrite(ledPin48, ledState48);}
void checkPhysicalButton48(){if(digitalRead(btnPin48) == LOW){if(btnState48 != LOW){ledState48 = !ledState48;digitalWrite(ledPin48,ledState48);Blynk.virtualWrite(V48,ledState48);}btnState48 = LOW;} else {btnState48 = HIGH;}}
BLYNK_WRITE(V49) {ledState49 = param.asInt();digitalWrite(ledPin49, ledState49);}
void checkPhysicalButton49(){if(digitalRead(btnPin49) == LOW){if(btnState49 != LOW){ledState49 = !ledState49;digitalWrite(ledPin49,ledState49);Blynk.virtualWrite(V49,ledState49);}btnState49 = LOW;} else {btnState49 = HIGH;}}
BLYNK_WRITE(V50) {ledState50 = param.asInt();digitalWrite(ledPin50, ledState50);}
void checkPhysicalButton50(){if(digitalRead(btnPin50) == LOW){if(btnState50 != LOW){ledState50 = !ledState50;digitalWrite(ledPin50,ledState50);Blynk.virtualWrite(V50,ledState50);}btnState50 = LOW;} else {btnState50 = HIGH;}}
BLYNK_WRITE(V51) {ledState51 = param.asInt();digitalWrite(ledPin51, ledState51);}
void checkPhysicalButton51(){if(digitalRead(btnPin51) == LOW){if(btnState51 != LOW){ledState51 = !ledState51;digitalWrite(ledPin51,ledState51);Blynk.virtualWrite(V51,ledState51);}btnState51 = LOW;} else {btnState51 = HIGH;}}
BLYNK_WRITE(V25) {ledState25 = param.asInt();digitalWrite(ledPin25, ledState25);}
void checkPhysicalButton25(){if(digitalRead(btnPin25) == LOW){if(btnState25 != LOW){ledState25 = !ledState25;digitalWrite(ledPin25,ledState25);Blynk.virtualWrite(V25,ledState25);}btnState25 = LOW;} else {btnState25 = HIGH;}}
BLYNK_WRITE(V26) {ledState26 = param.asInt();digitalWrite(ledPin26, ledState26);}
void checkPhysicalButton26(){if(digitalRead(btnPin26) == LOW){if(btnState26 != LOW){ledState26 = !ledState26;digitalWrite(ledPin26,ledState26);Blynk.virtualWrite(V26,ledState26);}btnState26 = LOW;} else {btnState26 = HIGH;}}
BLYNK_WRITE(V27) {ledState27 = param.asInt();digitalWrite(ledPin27, ledState27);}
void checkPhysicalButton27(){if(digitalRead(btnPin27) == LOW){if(btnState27 != LOW){ledState27 = !ledState27;digitalWrite(ledPin27,ledState27);Blynk.virtualWrite(V27,ledState27);}btnState27 = LOW;} else {btnState27 = HIGH;}}
BLYNK_WRITE(V28) {ledState28 = param.asInt();digitalWrite(ledPin28, ledState28);}
void checkPhysicalButton28(){if(digitalRead(btnPin28) == LOW){if(btnState28 != LOW){ledState28 = !ledState28;digitalWrite(ledPin28,ledState28);Blynk.virtualWrite(V28,ledState28);}btnState28 = LOW;} else {btnState28 = HIGH;}}
BLYNK_WRITE(V29) {ledState29 = param.asInt();digitalWrite(ledPin29, ledState29);}
void checkPhysicalButton29(){if(digitalRead(btnPin29) == LOW){if(btnState29 != LOW){ledState29 = !ledState29;digitalWrite(ledPin29,ledState29);Blynk.virtualWrite(V29,ledState29);}btnState29 = LOW;} else {btnState29 = HIGH;}}


void loop()
{
  Blynk.run(); // Run Blynk
  timer.run(); // Run SimpleTimer
}

@Sergey_Kuntsevich please explain in detail what the sketch should do and what it is actually doing for you i.e. which bits are not working as you expect them to.

It works fine, but only 10 out of 22, work all 10, but not all at once.

I think you might just be struggling with trying to sync too many pins all at the same time.

Are you able to try syncAll or are there some pins that shouldn’t be sync’d?

The fix is to time your sync’s at intervals (so after A seconds sync B number of pins, then after C seconds sync D number of pins etc).

sync is not obligatory

OK, can you explain what the set up is. What are all the buttons and LED’s and presumably the buttons should turn the LED’s on and off? When I know more about what the sketch should do I will try to check what is wrong with the code.

code is working, but you have written, the program does not have time to process all any 10Pin.

Blynk.syncAll (); It does not fit, it only when booting?

You can do a syncAll at anytime not just during bootup. I thought you said sync is not important?

What is the sync supposed to do in your particular project?

ON OFF - relay.
With the application and physical button.
22 relay.

synchronization for the widget, and how to do synchronization for the physical buttons Pin?

As per my earlier post sync can be done with a timer but I think it is more important that you get the circuit / sketch to control all the relays / LED’s first.

Start by disabling all the sync and we can add that back later.

Are you sure your circuits / relays / LED’s are all wired up correctly and functional i.e. none of the components are broken?

Post your sketch here, not elsewhere, when you have disabled sync and hopefully a Blynker will identify the problem, if one still exists.

@Sergey_Kuntsevich few things.

  1. Code could be simplified with arrays.
  2. What does Blynk debug shows? http://docs.blynk.cc/#troubleshooting-enable-debug

Also have a look into BLYNK_MSG_LIMIT property in link above. It could resolve your issue.

thanks for the tip.
#define BLYNK_MSG_LIMIT 10 and #define BLYNK_MSG_LIMIT 100 not decided

maybe you money to solve the problem and make the code with arrays?, I am a bad programmer.
umdomby@yandex.ru

Not interested, sorry. Maybe someone here would like to help you. You can also try freelance I believe you can do your task there for only 50$-100$.

1 Like

OK thanks.

the issue, not resolved, soon as a decision, I will share them.