[RISOLTO] LCD e Ethernet in conflitto

Salve e buon anno a tutti! Visto il periodo ho pensato di mettere mano a un mio vecchio progetto(estrattore di numeri per tombola), aggiungendo un server web ma quando chiamo Ethernet.begin() il display LCD non risponde più(credo sia un Hitachi H e qualcosa).
Ecco il codice.

#include <pRNG.h>
#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
#include <stdio.h>
LiquidCrystal lcd(12,11,5,4,3,2);
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x9D, 0x80};
IPAddress ip(192, 168, 1, 221);
EthernetServer server(80);
pRNG rseed;
boolean fine=false;
boolean pulsante;
int pinPulsante=6;
int tombola;
int seed;
int n=0;
void setup(){
  if (Ethernet.begin(mac) == 0) {
    Ethernet.begin(mac,ip);
  }
  Serial.begin(9600);
  for(int i=0;i<90;i++){
    estrazione[i]=0;
  }
  pinMode(pinPulsante,INPUT);
  lcd.begin(16,2);
  Serial.begin(9600);
  seed=rseed.getRndLong();
  randomSeed(seed);
  lcd.print("    Tombola!");
  lcd.setCursor(0,1);
  lcd.print(" 01/01/16 by ET");
  Serial.println("gotIP");
  server.begin();
  Serial.println("serverOK");
  while(!digitalRead(pinPulsante)){
    //
  }
  lcd.clear();
  delay(500);
  lcd.setCursor(0,0);
  lcd.print("  Indirizzo IP");
  lcd.setCursor(0,1);
  IPAddress ipAddr= Ethernet.localIP();
  char buf[16];
  sprintf(buf, "%d.%d.%d.%d\0", ipAddr[0], ipAddr[1], ipAddr[2], ipAddr[3]);
  Serial.println(buf);
  lcd.print(buf);
  Serial.println(buf);
  while(!digitalRead(pinPulsante)){
    //
  }
  lcd.setCursor(0,0);
  lcd.clear();
}

Il pin 4 è utilizzato come Slave Select per lo shield Ethernet, per cui non puoi usarlo per il display. Anche l'11 e 12 (e anche il 13, prima che lo chiedi!) sono "proibiti", in quanto usati per il bus SPI.

Configura il tuo LCD in modo che usi altri pin o, meglio ancora, prendine uno pilotabile in i2c.

Argh!!! il copia-e-incolla noin va mai fatto!
Avevo un vecchio sketch e ho malamente fatto copia e incolla dall'esempio WebServer.
Grazie mille...
Buon anno!

Il copia-incolla si può tranquillamente fare, a patto di capire quel che si sta incollando... :slight_smile: