projet couveuse ventilée

en attendant de trouver une solution pour garder en eeprom les variables, je viens de rajouter un lcd sur le proto.
grosse prise de tête avec le lcd gdm1602a pour les branchements, mais maintenant j'ai le répéteur de temp et hum sur le lcd, faut commencer a pousser les murs pour trouver des broches de libre sans pour autant créer de conflit.
je mets le code quand même pour ceux qui seraient intéressés.

#include <SPI.h>       // needed for Arduino versions later than 0018
#include <Ethernet.h>
#include <Client.h>
#include <LiquidCrystal.h>
#include <Udp.h>         // UDP library from: bjoern@cs.stanford.edu 12/30/2008
#include "DHT.h"
#define DHTPIN A0 
int ventilo = 8; // led
int resistance = 9; // led

LiquidCrystal lcd1(7, 6, 5, 4, 3, 2);

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,2,200 };
unsigned char gateway[] = { 192,168,2,2 };			
unsigned char mask[] = {255,255,255,0}; 
Server server(80);

unsigned int localPort = 80;      // local port to listen on
float tempmini;
float  tempmaxi;

 
// the next two variables are set when a packet is received
byte remoteIp[4];        // holds received packet's originating IP
unsigned int remotePort; // holds received packet's originating port
 
// buffers for receiving and sending data
char  packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char packetBuffer1[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char  ReplyBuffer[] = "acknowledged";       // a string to send back
char  ReplyBuffer1[] = "acknowledged";       // a string to send back
 
#define DHTTYPE DHT21   // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);

 
void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(mac, ip, gateway, mask);
  Udp.begin(localPort);
   dht.begin();
  Serial.begin(9600);
   pinMode(ventilo, OUTPUT);
  pinMode(resistance, OUTPUT); 
     server.begin();
       lcd1.begin(16, 2);
}
 
void loop() {

  // if there's data available, read a packet
  int packetSize = Udp.available(); // note that this includes the UDP header
  if(packetSize)
  {

     
    packetSize = packetSize - 8;      // subtract the 8 byte header
    Serial.print("Received packet of size ");
    Serial.println(packetSize);
    
 
    memset(packetBuffer, 0, UDP_TX_PACKET_MAX_SIZE);
    memset(packetBuffer1, 0, UDP_TX_PACKET_MAX_SIZE);
 
    // read the packet into packetBufffer and get the senders IP addr and port number
    Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
     Udp.readPacket(packetBuffer1,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort);
    Serial.println("Contents1:");
    Serial.println(packetBuffer1);   
    
      //tempmini =  float (atoi(packetBuffer));
      //tempmaxi =  float (atoi(packetBuffer1));
       tempmini =  atof(packetBuffer);
        tempmaxi =  atof(packetBuffer1); 
      
     Serial.print("tempmini : ");
     Serial.println(tempmini);
          Serial.print("tempmaxi : ");
     Serial.println(tempmaxi);     

 
    analogWrite(11, atoi(packetBuffer)); //utiliser la valeur reçu pour allumer la led
        analogWrite(12, atoi(packetBuffer1)); //utiliser la valeur reçu pour allumer la led
        
  }
  delay(2);
    float h = dht.readHumidity();
  float t = dht.readTemperature();    

  t=t-1;
  if (t < tempmini){
    digitalWrite(ventilo,1);
    digitalWrite(resistance,1);
  }
  else if(t > tempmaxi){
    digitalWrite(ventilo,1);
    digitalWrite(resistance,0);
  }
  else{
    digitalWrite(ventilo,0);
    digitalWrite(resistance,0);    
  }
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } 
  else {

    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");
    Serial.print("Tempmini: "); 
    Serial.print(tempmini);
    Serial.println(" *C");
    Serial.print("Tempmaxi: "); 
    Serial.print(tempmaxi);
    Serial.println(" *C");
  lcd1.setCursor(0, 0);
    lcd1.print("hum: "); 
    lcd1.print(h);
    lcd1.print("%\t");
    lcd1.setCursor(0, 1);
    lcd1.print("Temp: "); 
    lcd1.print(t);
    lcd1.print("C");    
  } 
}