Ma ferme verticale automatisée

5 ème partie

                    //7eme quadrant Water Level
                 // + intégrer image éprouvette via SDcard 
                    myGLCD.setColor(255,255,255); // Sets color to white
                    myGLCD.setFont(SmallFont);
                    myGLCD.print("TANK", 40, 140);
                    myGLCD.print("Water level", 10, 150);
                    myFiles.load(10,170,30,55,"watertank30x55.raw", 1);
                    myGLCD.printNumI(tanklevel,60,190);
                    myGLCD.print("%", 80, 190);
                    // rectangle éprouvette
   
                   //diode témoin 1 ; SP respectée ou non
                 /*   myGLCD.setColor(255,255,255);
                    myGLCD.print("75%", 60, 250);
                    myGLCD.drawCircle(90, 255, 5); //entourer le cercle de blanc
                    myGLCD.print("50%", 60, 280);
                    myGLCD.drawCircle(90, 285, 5); //entourer le cercle de blanc
                    if( tanklevel == 75) { 
                    myGLCD.setColor(190, 70, 175);// témoin vert & remplir le cercle
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% vert
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% vert
                      
                    }
                    else if (tanklevel == 50) {
                    myGLCD.setColor(0,0, 0);// 
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% noir
                    myGLCD.setColor(190, 70, 175);
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% vert
                      
                    }
                    else 
                    {
                    myGLCD.setColor(0,0, 0);// 
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% noir
                    myGLCD.setColor(0, 220, 225);
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% rouge
                      
                    }
  */ 
                                                         
                                            
                
               }
               
 void refreshHomescreen () {
                myGLCD.setBackColor(0,0, 0);
                myGLCD.setColor(255,255,255); // Sets color to white
                myGLCD.setFont(SmallFont); // Sets the font to small
                myGLCD.printNumI(AirTemperature, 70, 50);
                myGLCD.printNumF(WaterTemp,1,50,90);
                myGLCD.printNumI(AirHumidity,160,180);
                myGLCD.printNumI(timehour ,240,170); //display time
                myGLCD.print(":", 261, 170); 
                myGLCD.printNumI(timeminute,269,170);
                myGLCD.printNumI(dateday,230,190);//display date
                myGLCD.printNumI(datemonth,254,190);
                myGLCD.printNumI(dateyear,278,190);
                myGLCD.printNumF(pHValue,1,260,60);
                myGLCD.printNumI(tanklevel,60,190);
                //ajouter refresh EC
                //ajouter refresh diode témoin
                    if(pHValue <= pHmax && pHValue >= pHmin)
                    {                   myGLCD.setColor(0, 255, 0);// setpoint : témoin vert & remplir le cercle
                                        myGLCD.fillCircle(310, 65, 4);}
                                        
                    else {              
                                        if(Currentmillis - Lastmillis < pHperiod) { //indicates that the pump was working trying to correct pH
                                        myGLCD.setColor(0, 255, 0); // correction témoin : vert car correction pH en cours
                                        myGLCD.fillCircle(310, 65, 4);}
                                        else {myGLCD.setColor(250, 150, 0); // correction témoin : rouge car aucune correction pH en cours
                                              myGLCD.fillCircle(310, 65, 4);}
                                          }

                   if (timehour >=LightOn && timehour <LightOff) //draw moon or sun if LIGHT ON or OFF
                    {
                     myFiles.load(140,50,40,40,"sunbis.raw", 1);
                    }
                    else 
                    {
                     myFiles.load(140,50,40,40,"moon40x40.raw", 1);
                    }
                 /*if( tanklevel == 75) { 
                    myGLCD.setColor(190, 70, 175);// témoin vert & remplir le cercle
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% vert
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% vert
                      
                    }
                    else if (tanklevel == 50) {
                    myGLCD.setColor(255,255, 255);// 
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% noir
                    myGLCD.setColor(190, 70, 175);
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% vert
                      
                    }
                    else 
                    {
                    myGLCD.setColor(255,255, 255);// 
                    myGLCD.fillCircle(460, 255, 4);//témoin 75% noir
                    myGLCD.setColor(0, 220, 225);
                    myGLCD.fillCircle(460, 285, 4);// témoin 50% rouge
                      
                    }*/
                    
                    if (AirHumidity>=HumidityMin && AirHumidity<= HumidityMax) 
                    {
                    myGLCD.setColor(0, 250, 0);// témoin vert & remplir le cercle
                    myGLCD.fillCircle(200, 185, 4);
                    }
                    else {
                    myGLCD.setColor(255, 0, 0);// témoin rouge & remplir le cercle
                    myGLCD.fillCircle(200, 185, 4);
                                          }
 }

 void drawLightscreen () {

                  //image soleil du coté ON et moon coté OFF, heure ON avec + ou -, heure OFF avec + ou -

                  // COTE LIGHT ON
                  myGLCD.setBackColor(0, 0, 0);
                  myGLCD.setFont(SmallFont);
                  myGLCD.setColor(255,255,0);// Yellow
                  myGLCD.print("SCHEDULE OF LIGHT", 90, 10);
                  myGLCD.setColor(255,255,255);
                  myGLCD.print("FROM", 10,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(60,70,90,80);// faire une forme de + 
                  myGLCD.fillRect(70,60,80,90) ; 
                  myGLCD.drawCircle (75,75,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(60,210,90,220) ; // faire une forme de -
                  myGLCD.drawCircle (75,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(10,110,150,180);
                  myGLCD.setFont(SevenSegNumFont);//numéro 32x50 pixels
                  myGLCD.printNumI(LightOn, 5, 120);
                  myGLCD.setFont(BigFont);
                  myGLCD.print("h", 68, 120);
                  myGLCD.setFont(SevenSegNumFont);
                  myGLCD.print("00", 82, 120);

                  //lignes de séparation ON/OFF
                  myGLCD.setColor(0, 172, 51);
                  myGLCD.drawLine(158,60,158,310);
                  myGLCD.drawLine(162,60,162,310);

                  // Light OFF
                  myGLCD.setColor(255,255,255);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("TO", 170,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(220,70,250,80);// faire une forme de + 
                  myGLCD.fillRect(230,60,240,90) ; 
                  myGLCD.drawCircle (235,75,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(220,210,250,220) ; // faire une forme de -
                  myGLCD.drawCircle (235,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(170,110,310,180);
                  myGLCD.setFont(SevenSegNumFont);//numéro 32x50 pixels
                  myGLCD.printNumI(LightOff,165,120);
                  myGLCD.setFont(BigFont);
                  myGLCD.print("h", 228, 120);
                  myGLCD.setFont(SevenSegNumFont);
                  myGLCD.print("00", 242, 120);

                  myGLCD.setFont(SmallFont);
                  myGLCD.print("SAVE",280,10);
                  //myGLCD.print("HOME",280,210);
                  myFiles.load(270,195,40,40,"home.raw", 1);

    }

  void drawRefreshLightscreen() {

    myGLCD.setFont(SevenSegNumFont);
    myGLCD.setColor(255,255,255);
    myGLCD.printNumI(NewLightOn, 5, 120);
    myGLCD.printNumI(NewLightOff, 165, 120);

  }

6ème partie - toujours pour dessiner et remettre à jour automatiquement les différents écrans de navigation

      void drawHumidityscreen () {
  
                     // COTE Humidity min
                    myGLCD.setBackColor(0, 0, 0);
                    myGLCD.setFont(BigFont);
                    myGLCD.setColor(255,255,0);// Yellow
                    myGLCD.print("Humidity setpoint", 10, 10);
                    myGLCD.setFont(SmallFont);
                    myGLCD.print("MIN.", 10,50);
                    myGLCD.setColor(0,255,0);// Green
                    myGLCD.fillRect(20,80,50,90);// faire une forme de + 
                    myGLCD.fillRect(30,70,40,100) ; 
                    myGLCD.drawCircle (35,85,20); 
                    myGLCD.setColor(255,0,0);
                    myGLCD.fillRect(20,210,50,220) ; // faire une forme de -
                    myGLCD.drawCircle (35,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(9,130,60,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI(NewHumidityMin,10,140);
                  
                  //lignes de séparation min/max
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(80,60,80,310);


                  //lignes de séparation pH setpoint/parameters
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(178,60,178,310);
                  myGLCD.drawLine(182,60,182,310);
                  // Humidity MAX
                  myGLCD.setColor(255,255,0);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MAX.",95,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(110,80,140,90);// faire une forme de + 
                  myGLCD.fillRect(120,70,130,100) ; 
                  myGLCD.drawCircle (125,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(110,210,140,220) ; // faire une forme de -
                  myGLCD.drawCircle (125,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(100,130,150,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI(NewHumidityMax,101,140);

                 myGLCD.setFont(SmallFont);
                 myGLCD.print("Humidifier:",200,60);
                 myGLCD.print("Pin 12",220,80);
                 //myGLCD.printI(,240,60);
                 myGLCD.print("Extractor:",200,110); 
                 myGLCD.print("Pin 14",220,130);   
                 //myGLCD.printI(,210,80);    
                 myGLCD.print("Hysterisis : ",200,160);
                 myGLCD.print("2%",240,180);              

                  myGLCD.setFont(SmallFont);
                  myGLCD.print("SAVE",280,20);
                  //myGLCD.print("HOME",280,220);
                  myFiles.load(270,195,40,40,"home.raw", 1);

                   
           
                  
    
  }

  void drawRefreshHumidityscreen () {
    myGLCD.setColor(255,255,255);
    myGLCD.setFont(BigFont);//numéro 32x50 pixels
    myGLCD.printNumI(NewHumidityMax,101,140);
    myGLCD.printNumI(NewHumidityMin,10,140);
    
  }

  void drawPHandECscreen(){
                //Title
                myGLCD.setColor(0, 172, 51); // Sets color to green & blue
                myGLCD.fillRoundRect(3,3,317,22);
                myGLCD.drawRect(1,1,319,239);
                myGLCD.setBackColor(0, 172, 51);
                myGLCD.setColor(255, 255, 255); 
                myGLCD.setFont(SmallFont);
                myGLCD.print("Hydroponics   controller", 65, 3);
                myGLCD.setBackColor(0, 0, 0);
                //settings
                myGLCD.setFont(BigFont);
                myGLCD.print("settings", 10, 60);
                
                // Button pH
                myGLCD.setColor(0,150,200);
                myGLCD.fillRoundRect(60,100,130,160); 
                myGLCD.setColor(255,255,255);
                myGLCD.drawRoundRect(60,100,130,160);
                myGLCD.setBackColor(0,150,200);
                myGLCD.setFont(BigFont);
                myGLCD.print("pH", 65,125); 
                

                //Button EC
                myGLCD.setColor(0,150,200);
                myGLCD.fillRoundRect(190,100,260,160); 
                myGLCD.setColor(255,255,255);
                myGLCD.drawRoundRect(190,100,260,160);
                myGLCD.setBackColor(0,150,200);
                myGLCD.print("EC", 195,125);                 

                //Button Home
                myGLCD.setFont(SmallFont);
                myGLCD.setBackColor(0,0,0);
                //myGLCD.print("HOME",280,220);
                myFiles.load(270,195,40,40,"home.raw", 1);

    
  }

  void drawPHscreen () {

                   // COTE pH min
                  myGLCD.setBackColor(0, 0, 0);
                  myGLCD.setFont(BigFont);
                  myGLCD.setColor(255,255,0);// Yellow
                  myGLCD.print("PH setpoint", 10, 10);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MIN.", 10,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(20,80,50,90);// faire une forme de + 
                  myGLCD.fillRect(30,70,40,100) ; 
                  myGLCD.drawCircle (35,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(20,210,50,220) ; // faire une forme de -
                  myGLCD.drawCircle (35,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(9,130,60,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumF(pHmin,1,10,140);
                  
                  //lignes de séparation min/max
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(80,60,80,310);


                  //lignes de séparation pH setpoint/parameters
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(178,60,178,310);
                  myGLCD.drawLine(182,60,182,310);
                  // pH MAX
                  myGLCD.setColor(255,255,0);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MAX.",95,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(110,80,140,90);// faire une forme de + 
                  myGLCD.fillRect(120,70,130,100) ; 
                  myGLCD.drawCircle (125,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(110,210,140,220) ; // faire une forme de -
                  myGLCD.drawCircle (125,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(100,130,150,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumF(pHmax,1,101,140);
                                    

                  myGLCD.setFont(SmallFont);
                  myGLCD.print("SAVE",280,20);
                  //myGLCD.print("HOME",280,220);
                  myFiles.load(270,195,40,40,"home.raw", 1);

                   // Button for pH sensor calibration
                  myGLCD.setColor(0,50,200);
                  myGLCD.setBackColor(0,50,200);
                  myGLCD.fillRoundRect(202,82,298,123) ;
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(202,82,298,123);
                  myGLCD.print("pH sensor ",210,90);
                  myGLCD.print("calibration",205,110);

                  myGLCD.setColor(255,255,255);  // button for pH pumps calibration
                  myGLCD.setColor(0,50,200);
                  myGLCD.setBackColor(0,50,200);
                  myGLCD.fillRoundRect(202,152,298,193) ;
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(202,152,298,193) ;
                  myGLCD.print("pH pumps ",210,160);
                  myGLCD.print("calibration",205,180);
                  myGLCD.setBackColor(0, 0, 0);//retour au fond d'écriture black

           
                  
    
  }

Dernière partie :

  void drawRefreshPHscreen () {

                  
                  myGLCD.setColor(255,255,255);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumF(NewpHmin,1,10,140);
                  myGLCD.printNumF(NewpHmax,1,101,140);
  }


void drawTemperaturescreen () {

                   // Air Temperature 
                  myGLCD.setBackColor(0, 0, 0);
                  myGLCD.setFont(BigFont);
                  myGLCD.setColor(255,255,0);// Yellow
                  myGLCD.print("Temperature setpoint", 0, 10);
                  myGLCD.print("Air", 40, 30);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MIN.", 10,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(20,80,50,90);// faire une forme de + 
                  myGLCD.fillRect(30,70,40,100) ; 
                  myGLCD.drawCircle (35,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(20,210,50,220) ; // faire une forme de -
                  myGLCD.drawCircle (35,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(9,130,60,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI("10",10,140);
                  //lignes de séparation min/max
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(80,60,80,310);

                  myGLCD.setColor(255,255,0);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MAX.",95,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(110,80,140,90);// faire une forme de + 
                  myGLCD.fillRect(120,70,130,100) ; 
                  myGLCD.drawCircle (125,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(110,210,140,220) ; // faire une forme de -
                  myGLCD.drawCircle (125,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(100,130,150,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI("20",101,140);

                  //lignes de séparation Air Temp / Water Temp
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(158,60,158,310);
                  myGLCD.drawLine(162,60,162,310);

                  // Water Temperature 
                  myGLCD.setBackColor(0, 0, 0);
                  myGLCD.setFont(BigFont);
                  myGLCD.setColor(255,255,0);// Yellow
                  myGLCD.print("Water", 200, 30);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MIN.", 170,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(180,80,210,90);// faire une forme de + 
                  myGLCD.fillRect(190,70,200,100) ; 
                  myGLCD.drawCircle (195,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(180,210,210,220) ; // faire une forme de -
                  myGLCD.drawCircle (195,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(169,130,220,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI("10",10,140);
                  //lignes de séparation min/max
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(230,60,230,310);

                  myGLCD.setColor(255,255,0);
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("MAX.",235,50);
                  myGLCD.setColor(0,255,0);// Green
                  myGLCD.fillRect(250,80,280,90);// faire une forme de + 
                  myGLCD.fillRect(260,70,270,100) ; 
                  myGLCD.drawCircle (265,85,20); 
                  myGLCD.setColor(255,0,0);
                  myGLCD.fillRect(250,210,280,220) ; // faire une forme de -
                  myGLCD.drawCircle (265,215,20); 
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(240,130,290,180);
                  myGLCD.setFont(BigFont);//numéro 32x50 pixels
                  myGLCD.printNumI("20",241,140);
                                    

                  myGLCD.setFont(SmallFont);
                  myGLCD.print("SAVE",280,20);
                  myFiles.load(270,195,40,40,"home.raw", 1);
                 // myGLCD.print("HOME",280,220);

                  

                    
    
  }

void drawpHSensorCalibrationscreen (){

                  myGLCD.setBackColor(0, 0, 0);
                  myGLCD.setFont(BigFont);
                  myGLCD.setColor(255,255,0);// Yellow
                  myGLCD.print("pH calibration", 0, 10);
                  myGLCD.setColor(255,255,255);// 
                  myGLCD.setFont(SmallFont);
                  myGLCD.print("point 1", 80,50);
                  myGLCD.drawRoundRect(80,90,120,120);
                  myGLCD.fillRect(95,76,105,80);// + button
                  myGLCD.fillRect(98,73,102,83);
                  myGLCD.drawCircle(100,78,8);
                  myGLCD.fillRect(95,135,105,140);//- button
                  myGLCD.drawCircle(100,138,8);
                  myGLCD.printNumF(pH1Real,1,85,100);
                  
                  myGLCD.print("point 2", 160,50);
                  myGLCD.drawRoundRect(165,90,205,120);
                  myGLCD.fillRect(180,76,190,80);// + button
                  myGLCD.fillRect(183,73,187,83);
                  myGLCD.drawCircle(185,78,8);
                  myGLCD.fillRect(180,135,190,140);//- button
                  myGLCD.drawCircle(185,138,8);
                  myGLCD.printNumF(pH2Real,1,170,100);
                  myGLCD.print("Real pH", 5,100);
                  myGLCD.print("Analog" , 5,160);
                  myGLCD.print(" read pH", 5,170);
                  myGLCD.setColor(255,150,150);
                  myGLCD.fillRoundRect(80,200,120,230); //button to record the analog value
                  myGLCD.fillRoundRect(165,200,205,230);
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(80,200,120,230);
                  myGLCD.drawRoundRect(165,200,205,230);
                  myGLCD.setBackColor(255,150,150);
                  myGLCD.print("Read", 85,210); 
                  myGLCD.print("Read", 170,210);
                  
                  myGLCD.setColor(0,0,250);
                  myGLCD.fillRoundRect(235,90,315,120);
                  myGLCD.setColor(255,255,255);
                  myGLCD.drawRoundRect(235,90,315,120);
                  myGLCD.setBackColor(0,0,250);
                  myGLCD.print("Calibrate", 240,100);
                  myGLCD.setBackColor(0,0,0);

                  //ligne de séparation avec Calibrate
                  myGLCD.setColor(255,255,54);
                  myGLCD.drawLine(220,50,220,310);
                  myGLCD.drawLine(50,65,220,65);
                  myGLCD.drawLine(50,150,220,150);
                  myGLCD.drawLine(140,50,140,230);

                  //myGLCD.print("HOME",280,220);
                  myFiles.load(270,195,40,40,"home.raw", 1);
        


  
}

void drawRefreshpHSensorCalibrationscreen (){
  myGLCD.printNumF(pH2Real,1,170,100);
  myGLCD.printNumF(pH1Real,1,85,100);
  
  }

void pH1Read () {

  pH1AnalogRead = analogRead (pHPin) ;
  myGLCD.printNumI(pH1AnalogRead,85,165);
  checkpH1Read =1;
}

void pH2Read () {

  pH2AnalogRead = analogRead (pHPin) ;
  myGLCD.printNumI(pH2AnalogRead,170,165);
  checkpH2Read=1;
}

void pHSensorCalibration () {

  if (checkpH1Read ==1 && checkpH2Read==1) { //No calibrating possible without Readings

        pHSlope = ((pH1Real - pH2Real)/(pH1AnalogRead -pH2AnalogRead));
        pHOffset = (pH1Real- (pH1AnalogRead*pHSlope));
        myGLCD.print("Calibrated!", 225,140);
        myGLCD.print("Slope =", 225,170);
        myGLCD.printNumF(pHSlope,2,280,170);
        myGLCD.print("Offset=", 225,190);
        myGLCD.printNumF(pHOffset,1,280,190);
        checkpH2Read=0;
        checkpH1Read =0;

      }
     else {
      myGLCD.print("Read values", 240,80);
      myGLCD.print(" first!", 240,90);
     }
  

}

patgyver: Bonjour.... et bien à présent pour être complet, il ne manque plus que le code....sinon ça sert pas à d'autres....ici, cela s'appelle :"communauté Arduino"....merci

Tu veux qu'on se côtise pour t'acheter le matos aussi ? ... Les gens sont fous !

@bogtus : Trés bon travail !

Bonjour et toutes mes excuses Bogtus, je n'ai pas vu la suite des messages page 2...pas l'habitude du fonctionnement du site. Merci pour les codes, je vais m'en inspirer pour ma petite tambouille.... Toutes mes excuses aussi pour la teneur quelque peu agressive de mon précédent message, bravo en tous cas pour la réalisation et surtout merci beaucoup de partager. Bonne continuation. Pat

BrUnO14200:
Tu veux qu’on se côtise pour t’acheter le matos aussi ? … Les gens sont fous !

@bogtus : Trés bon travail !

Héhé,… Merci ! :slight_smile:

patgyver:
Bonjour et toutes mes excuses Bogtus, je n’ai pas vu la suite des messages page 2…pas l’habitude du fonctionnement du site. Merci pour les codes, je vais m’en inspirer pour ma petite tambouille…
Toutes mes excuses aussi pour la teneur quelque peu agressive de mon précédent message, bravo en tous cas pour la réalisation et surtout merci beaucoup de partager. Bonne continuation. Pat

Ok, content de savoir que cela puisse en servir d’autres. Bon courage !

Merci pour le travail et le partage.

POWAAA dingue :o

Est-ce que quelqu'un a déjà testé ??

le code et'il ok?

à savoir si tout fonctionne car j'ai un projet similaire donc j'aimerais commander le matériel..

Je suis débutant donc du coup je pourrais économiser des heures et des heures de travail réellement merci pour tout..

J'aimerais aussi comprendre pour les nutriments comment vous faites car je ne vois pas de sonde EC ou TDS

Je suis débutant donc du coup je pourrais économiser des heures et des heures de travail réellement merci pour tout..

Ouah ! Super projet !
J’espère que tu vas continuer à nous mettre des photos des plantes lorsque tout cela va pousser :slight_smile: (Sinon, franchement, ça sert vraiment à rien de partager et tu n’es pas du tout dans l’esprit de la communauté ! <= 2nd degré)