Disconnesso

Salve sono nuovo del forum e da poco sto utilizzando blynk,veniamo al problema .Se utilizzo il solo file di esempio blynk si connette e funziona bene ma con il mio skech non va sempre disconnesso.Allego il mio file
P.S: spero di aver fatto le cose bene

` /* Comment this out to disable prints and save space */

//WIFI librerie-------------
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>//impossibile da trovare adatta dall esempio
//-------------------
//Librerie
#include <SoftwareSerial.h>//2 seriale
#include <Wire.h>
#include <LiquidCrystal_I2C.h>//lcd
#include <Event.h>
#include <Timer.h>//timer
#include <NewPing.h>//sonar
//----------------Sonar
#define triggerPort 9 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define echoPort 10 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 400 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
const int led = 13;// da modificare in seguito perche utilizzato da clima
NewPing sonar(triggerPort, echoPort, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
//------------------------LCD
#define I2C_ADDR 0x27 // Define I2C Address for the PCF8574T
//—(Following are the PCF8574 pin assignments to LCD connections )----
// This are different than earlier/different I2C LCD displays
//Utilizzati inizialment i pin A4 ed A5 poi passato ai pin SDA ed SCL
#define BACKLIGHT_PIN 3
#define BACKLIGHT_POL POSITIVE // POSITIVE or NEGATIVE depending board design
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin, BACKLIGHT_PIN, BACKLIGHT_POL);

//---------------------------WIFI Blynk
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = “xxxxxxxxxxxxxxxxxxxxxxx”;

// Your WiFi credentials.
// Set password to “” for open networks.
char ssid[] = “xxxxxxxxxxxxxx”;
char pass[] = “xxxxxxxxxxx”;

// Hardware Serial on Mega, Leonardo, Micro…
#define EspSerial Serial

// or Software Serial on Uno, Nano…
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200

ESP8266 wifi(&EspSerial);
//----------------------
/-----( Declare objects )-----/
#define PIN_CUCINA 4
#define PIN_LUCI 5
#define PIN_LUCE 6
#define PIN_CALDAIA 7
#define PIN_CLIMA 8
//-----Variabili per pulsante—
int ledPin1 = 4;
int ledPin2 = 7;
int ledPin3 = 8;
//utilizzati ingressi analogici per recuperare uscite digitali
int pulsante1 = A0;//utilizzo ingresso analogico 0
int pulsante2 = A1;
int pulsante3 = A2;
int pul4 = A3;
//Debounce (antirimbalzo pulsante)
int ledStato1 = LOW;
int ledStato2 = LOW;
int ledStato3 = LOW;
int pulsanteStato1 = LOW;
int pulsanteStato2 = LOW;
int pulsanteStato3 = LOW;
int STATO = LOW;
int attesaDebounce = 50;
unsigned long ultimoTempoDebounce = 0;
//variabili memorizzazione lettura
int ultimaLettura1 = LOW;
int ultimaLettura2 = LOW;
int ultimaLettura3 = LOW;

//---------------------
SoftwareSerial Speech(2, 3); // RX, TX inizializzo i pin della 2 seriale e le attribuisco un nome
byte com = 0;//variabile per voice
int val = 0;
int val4 = 0;
int val5 = 0;
int val6 = 0;
int val7 = 0;
int val8 = 0;
int val9 = LOW;//variabile
int val10;

bool onetime = true;// variabile per cancellazione schermo solo all’inizio su passaggio ad altro gruppo
//--------variabili time
unsigned long inizio = 0;//variabli per timer
unsigned long tempo = 0;
int temp = 200;
int temp1;
int temp2;
int temp3;
int Counter = 1000;//variabile per visualizzare conto allarovescio

int ATTESA = 40;//variabile attesa spegnimento cucina da pulsante
//----------------

void setup()
{
//-----Pin pulsanti-----------
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(pulsante1, INPUT);
pinMode(pulsante2, INPUT);
pinMode(pulsante3, INPUT);
pinMode(pul4, INPUT);
digitalWrite(ledPin1, ledStato1);
digitalWrite(ledPin2, ledStato2);
digitalWrite(ledPin3, ledStato3);
//------Variabili sonar------
pinMode(triggerPort, OUTPUT);
pinMode(echoPort, INPUT);
pinMode(led, OUTPUT);
//-----------------
lcd.begin(20, 4);
lcd.setCursor(0, 0);
lcd.print( "Ultrasuoni ");

//---------Inizalizzo le seriali------
Serial.begin(9600);//serial monitor
Speech.begin(9600);//serial Voice
//---------------
pinMode(2, INPUT);//RX
pinMode(3, OUTPUT); //TX
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode( 8, OUTPUT);
/* pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);*/
//pinMode(13, OUTPUT);//inserito causa accensione fievole led su sketch

//___________
//lcd.noBacklight(); //spegne lo schermo
lcd.backlight();//accende lo schermo
lcd.begin(20, 4);//tipo di schermo
lcd.clear();//ripulisce completamente lcd
//
delay(1000);
//carica gruppo 1
Speech.write(0xAA);
Speech.write(0x37);
delay(1000);
Speech.write(0xAA);
Speech.write(0x23);

//-----------------------------------
// Debug console
Serial.begin(115200);

delay(10);

// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(10);

Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
//---------------------
Blynk.run();
//--------------
//----Pulsante1—

int lettura1 = digitalRead(pulsante1); // (int lettura = Variabile locale) leggo lo stato del pulsante1

if (lettura1 != ultimaLettura1) { // se lo stato del non è uguale ad ultimalettura
ultimoTempoDebounce = millis(); // assegno il conteggio in millisecondi
}

if ((millis() - ultimoTempoDebounce) > attesaDebounce) { // se ilconteggio di millis- ULTIM… superiore a 50 millisecondi
if (lettura1 != pulsanteStato1 and lettura1 == HIGH ) { // se l analogico A0 non uguale allo stato del pulsante e il pulsante è, premuto
ledStato1 = !ledStato1; // cambio lo stato del pin
digitalWrite(ledPin1, ledStato1); // Imposto al pin4 lo stato di ledStato1
}
//------------
val4 = digitalRead(PIN_CUCINA); //leggo il valore dil pin4 e lo attribuisco alla variabile val4
lcd.setCursor(0, 1); //visualizzo su lcd stato caldaia tramite pulsante
if (val4 == LOW) {
lcd.print(“Cucina OFF”);
}
val4 = digitalRead(PIN_CUCINA);
lcd.setCursor(0, 1);
if (val4 == HIGH) {
lcd.print(“Cucina ON”);
}
pulsanteStato1 = lettura1; // assegno lo stato del pulsante al pinA0
}
ultimaLettura1 = lettura1; // assegno lultima lettura allo stato del pulsante delay(10); //----Pulsante2--- int lettura2 = digitalRead(pulsante2); // (int lettura = Variabile locale) leggo lo stato del pulsanteA1 if (lettura2 != ultimaLettura2) { // se lo stato del pin analogico A1 è il contrario dellultima lettura
ultimoTempoDebounce = millis(); // assegno il conteggio in millisecondi
}`

First of all… try to keep void loop clean… and…
Please repost your code properly… Thank you.

https://community.blynk.cc/uploads/default/original/2X/3/364b0639df751f9346f9ea7559d0c03b903c3298.PNG

Salve e grazie per avermi risposto ma non ho capito come debbo fare per taggare il codice

Click on and READ the Link and diagram above.

Then click on and READ this article about how to layout your code and loops when using Blynk