Mkr1000 going shutdown program

my mkr1000 going shutdown program when i send him 3 digital pin in HIGH with Vin power supply of 5V.

#include <WiFi101.h>
#include <BlynkSimpleMKR1000.h>
#define BLYNK_TEMPLATE_ID "TMPL4WhNcdGhV"
#define BLYNK_DEVICE_NAME "Reciklator vlage"
#define BLYNK_AUTH_TOKEN "8g3KSML8wbpIbDVXLOOCmhuUPWK2Y1bI"
char auth[] = "8g3KSML8wbpIbDVXLOOCmhuUPWK2Y1bI";  // Blynk auth token 
char ssid[] = "Arduino";   //  WiFi SSID 
char pass[] = "zanettii";   // WiFi password

#include "DHT.h"
 #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16, 2);
//pin dht11
#define DHTPIN 9
//vrsta dhta   
#define DHTTYPE DHT11  
#define BLYNK_PRINT Serial;
DHT dht(DHTPIN, DHTTYPE);

BlynkTimer timer;
//funkcija setane vrijednosti zraka preko blynk aplikacije

//postavljane izlaza pumpi(releja)
 #define pum2  7
#define pum1  8
//sve varijable postavljene
int ultra=0;
int provjera2=0;
 int provjera1=0;
int osvjezi=0;
int h3=0;
int odvlazivac=6;
int udaljenost1=0;
int trajanje1;
int udaljenost2=0;
int trajanje2;
int zemlja=0;
int zemlja1=0;
int setzemlja=0;
int vlagaset=0;
int setzraka=0;
float humidity;
int t,h;
//ulazi i izlazi ultrazvučnih senzora
#define trigPin1 3
#define echoPin1 2
#define trigPin2 5
#define echoPin2 4




 
void setup() {
  
  Serial.begin(9600);//pokretanje Serial Monitor
  //postavljane L2C displaya
  lcd.init();
  lcd.backlight();
  lcd.clear();
Blynk.begin(auth, ssid, pass);
  dht.begin();
  timer.setInterval(2500L, nemavode);
  Serial.begin(9600);
  //definiranje ulaza i izlaza
  pinMode(A2,INPUT);
  pinMode(odvlazivac, OUTPUT);
  pinMode(trigPin1, OUTPUT);
  pinMode(echoPin1, INPUT);
  pinMode(trigPin2, OUTPUT);
  pinMode(echoPin2, INPUT);
  pinMode(pum1, OUTPUT);
  pinMode(pum2, OUTPUT);
 // digitalWrite(pum1, HIGH);
// digitalWrite(pum2, HIGH);

}








 BLYNK_WRITE(V3)
{  
 setzraka=param.asInt();
 Serial.print("setzraka : ");
 Serial.println(setzraka);
}
//funkcija setane vrijednostizemlje preko blynk aplikacije
BLYNK_WRITE(V5)
{  
  zemlja = analogRead(A1);
  zemlja1 = map(zemlja, 0, 1023, 0, 1000);
    
  humidity = dht.readHumidity();
  setzemlja=param.asInt();
  Serial.print("setana  zemlje je ");
  Serial.println(setzemlja );
  
     
}



void nemavode(){
   Blynk.logEvent("razina_vode","Treba natočiti vodu u 2 kantu");

}



//ocitanje vode u prvoj kanti sa ultrasonic senzorom
void daljina1(){
   Blynk.syncVirtual(V3);
    Blynk.syncVirtual(V5);
  digitalWrite(trigPin1, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin1, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin1, LOW);

  trajanje1= pulseIn(echoPin1, HIGH);
  udaljenost1 = trajanje1 * 0.034 / 2;
  Serial.print("Udaljen1: ");
  Serial.println(udaljenost1);
  
 /*  lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Udaljen2: ");
     Serial.println(udaljenost1);
   
    lcd.setCursor(0, 1);
    lcd.print("Udaljen2:");
     Serial.println(udaljenost1);*/
     
}



//ocitanje vode u drugoj kanti sa ultrasonic senzorom
 void daljina2(){
   Blynk.syncVirtual(V3);
    Blynk.syncVirtual(V5);
  digitalWrite(trigPin2, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin2, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin2, LOW);

  trajanje2 = pulseIn(echoPin2, HIGH);
  udaljenost2 = trajanje2 * 0.034 / 2;
  Serial.print("Udaljen2: ");
   Serial.println(udaljenost2);
  delay(100);  
  /*  lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Udaljen2: ");
     Serial.println(udaljenost2);
   
    lcd.setCursor(0, 1);
    lcd.print("Udaljen2:");
     Serial.println(udaljenost2);*/
}



//ocitanje vlage zemlje,pustanje i gasenje druge pumpe za navodnjavanje cvijeta
  void isusivac(){
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("isusivac");
   
    lcd.setCursor(0, 1);
    lcd.print("neradi");
    delay(2000);
  //ocitava vrijednosti sa dht senzora
 
  t = dht.readTemperature();
  h = dht.readHumidity();

  Serial.println("vlaga////////////////////////////////");

  Serial.println(h);
  Serial.println(t);
  Blynk.virtualWrite(V0, t);  // Send temperature value to Blynk App
  Blynk.virtualWrite(V1, h); // Send humidity value to Blynk App
  zemlja = analogRead(A1);
  
  zemlja1 = map(zemlja, 0, 1023, 0, 100);
  Serial.println(zemlja1);

  Serial.println("vlaga zemlje");
  Serial.println(zemlja1);
  Blynk.syncVirtual(V3);



// ako je vlaga u prostoriji veća od postavljene onda se pali osvježivac
  if (setzraka<h){
    while(setzraka<h){
       h = dht.readHumidity();
       Blynk.virtualWrite(V1, h); 
    osvjezi=1;
    digitalWrite(odvlazivac,LOW);
    //digitalWrite(pum1, HIGH);
    //digitalWrite(pum2, HIGH);
    Serial.println("osvjezi 1-------------------------------"); 
    
    }

  }
  //vlaga je u prostoriji je zadovoljavajuća i netreba isušivati zrak
  else{
    osvjezi=0;
     digitalWrite(odvlazivac,HIGH); 
     /*digitalWrite(pum1, HIGH);
     digitalWrite(pum2, HIGH);*/
     Serial.println("osvjezi 0////////////////////////////////");
     }

 
  
 }

 
 
void vlagacvijet(){
  Blynk.syncVirtual(V5);
 Serial.println("-------------------------------------------------- ");
  Serial.println(setzemlja);
  Serial.println("-------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>> ");
  Serial.print(zemlja1);
  delay(1000);
  zemlja = analogRead(A1);
  zemlja1 = map(zemlja, 0, 1023, 0, 1000);
  Serial.println(zemlja1);
  delay(500);
  Serial.println("vlaga zemlje");
  Serial.println(zemlja1);
  Blynk.virtualWrite(V4, zemlja1);

  
  //ako je vlaga manja od potrebne za biljku neka senzor radi
  if (zemlja1 < setzemlja) {
    digitalWrite(2, LOW);
     lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("vlaga manja: ");
    lcd.print(zemlja1);
    lcd.setCursor(0, 1);
    lcd.print("od setane:");
    lcd.print(setzemlja);
    daljina2();


    //neka pumpa radi sve dok je vlaga manja i dok ima dovoljne vode da pumpa radi
    while(zemlja1 < setzemlja && udaljenost2<16){
       zemlja = analogRead(A1);
  
    zemlja1 = map(zemlja, 0, 1023, 0, 1000);
  Serial.println(zemlja1);
  Blynk.virtualWrite(V4, zemlja1);
      lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("vlaga manja: ");
    lcd.print(zemlja1);
    lcd.setCursor(0, 1);
    lcd.print("od setane:");
    lcd.print(setzemlja);
    daljina2();
       Serial.println("-------------------------------------------------- ");
        Serial.print(setzemlja);
      daljina2();
      lcd.setCursor(0, 1);
      zemlja1 = analogRead(A1);
      
   Serial.print("Moisture2: ");
  Serial.println(zemlja1);
     digitalWrite(pum2,LOW);
     Serial.println("pumpa2 radi ovo ");
          provjera2=1;
         provjera1=0;
      digitalWrite(pum1,HIGH);
     Serial.println("pumpa1 neradi ovo ");
     daljina2();
    }
  }
  
   // ispisuje ako u 2 kanti nema dovoljno vode,a cvijeće treba zaliti da se voda dolije u 2 kantu
    if(udaljenost2>16){
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(udaljenost2);
    lcd.setCursor(0, 1);
    lcd.print("prevelika udaljenost");
    nemavode();
 
    }
    
    //pumpa neradi ako je vlaga dovoljna ili ako nema dovoljno vode za rad pumpe
    else if (zemlja1 > setzemlja){
      lcd.clear();
       lcd.setCursor(0, 0);
    lcd.print("dovoljno vode  ");
    lcd.setCursor(0, 1);
    lcd.print("cvijece dovoljno");
     
  }
  else{
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("udaljenost  ");
    lcd.print(udaljenost2);
  
  }
}

void novikrug(){
  //digitalWrite(odvlazivac,HIGH); 
     digitalWrite(pum1, HIGH);
     digitalWrite(pum2, HIGH);
   lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("novi krug: ");
   
    lcd.setCursor(0, 1);
    lcd.print("nista neradi");
    delay(2000);
}

//funcija za prvu kantu
void kanta1(){
  //ako ima dovoljno vode i ako u drugoj kanti nema previše vode 
  if (udaljenost1<15 && udaljenost2>10  ){
     Serial.println("ušo sam ");
     // ponavlja sve dok u kanta1 ima dovoljno vode  i dok kanta 2 nije puna 
  while (udaljenost1<15 && udaljenost2>12 ){
  daljina1();
  daljina2();
   digitalWrite(pum2,HIGH);
    digitalWrite(pum1,LOW);
  // digitalWrite(odvlazivac,HIGH);
    Serial.println("pumpa1 radi ");
   provjera1=1;
    daljina1();
    delay(100);
}


}
//ako uvijeti nisu ispunjeni pumpa 1 neće raditi
else {
  digitalWrite(pum2,HIGH);
    digitalWrite(pum1,HIGH);
    //digitalWrite(odvlazivac,HIGH);
   Serial.println("pumpa 1 nemoze raditi ");
   delay(200);
}
}



void loop() {
  Blynk.run();
 timer.run();
  novikrug();
isusivac();
 daljina1();
 daljina2();
 kanta1();
daljina2();
 daljina1();
vlagacvijet();
 nemavode();


 
}


I moved your topic to an appropriate forum category @nacka301.

In the future, please take some time to pick the forum category that best suits the subject of your topic. There is an "About the _____ category" topic at the top of each category that explains its purpose.

This is an important part of responsible forum usage, as explained in the "How to get the best out of this forum" guide. The guide contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.