Il problema si risolve con una normalissima resistenza di pull-up o pull-down da 1..10k come per leggere qualsiasi pulsante. Non ho però ancora capito se il contatto di troppo pieno deve dare un livello alto o basso, e neppure perché lo vuoi leggere con analogRead invece di digitalRead... devi leggere un contatto o un potenziometro?
All'inizio pensavo di fare una cosa semplicissima e cioè due fili d'acciaio posti uno di fianco all'altro, uno preleva i 5v da arduino l'altro va a finire in A0, quindi l'acqua avrebbe fatto da contatto aperto/chiuso... ma non sapevo delle cariche elettrostatiche. Come infatti le prime "quote" che avevo messo erano 0 e 1023 quindi:
case RIEMPIMENTO:
if (analogRead(pinTroppopieno) = 1023) {
digitalWrite(pinElettrovalvola, ACCESO);
delay(2000);
}
while (analogRead(pinTroppopieno) <= 0)
{
digitalWrite(pinElettrovalvola, SPENTO);
}
Poi dopo aver constatato che il mondo ideale non è quello reale, ho pensato di andare a controllare i valori aggiungendo la riga:
int sensorValue = analogRead(A0);
Serial.println(sensorValue, DEC);
Fatto questo mi sono accorto che con i contatti aperti c'erano delle oscillazioni notevoli da 100 a 1023 circa ed ho inserito un valore di "sicurezza" cioè >=50 per verificare che la variabile funzionasse. Stessa cosa ho fatto con i contatti chiusi... mi sono tenuto largo ed invece di mettere 0 ho messo <=5. Ma li ho messi solo come valore di prova pensando che i sensori di pioggia/acqua (che non ho è che dovrò comprare) abbiano la resistenza che li protegge dalle cariche elettrostatiche e che quindi, successivamente, col sensore in mano avrei poi stabilito i valori di soglia reali.
Il codice che hai scritto secondo me fa questo:

Mi sa che hai ragione
Hai detto tu: «Vi prego dunque di aiutarmi a capire cosa non capisco», quindi nessun errore verrà abbonato
La mia condizione attuale è che per la prima volta sto maneggiando codice C o arduinese, non so neanche se c'è una vera differenza. La pazienza e la buona volontà c'è, però mi trovo difronte a diverse difficoltà:
- Non conosco l'elettronca
- Non conosco gli operatori Arduino
- Se vado a leggermi le guide ho comunque difficoltà a capirle a causa di terminologie che per me indicano tutt'altra cosa se non addirittura nulla (array, macro, boolean ecc). Dunque per comprendere una spiegazione impiego il doppio del tempo perchè non ho riferimenti e tutto i nomi usati sono per lo più sconosciuti.
Sono d'accordo e non voglio abbonato nessun errore, però quello che ti chiedo ovviamente ringraziandoti per la cortesia e la pazienza, è di non darmi tutti gli strumenti in mano perché altrimenti mi perdo e mi scoraggio. Dammi quello che è strettamente necessario per ora e lavoriamo su quelli perché se mentre cerco di padroneggiare l' IF entra lo SWICH col CASE, poi entra BOOL non ne esco... ovviamente non è una pretesa, ci mancherebbe altro, quello che ho capito in due giorni non l'avevo capito in due anni di copia e incolla.
@Maurotec questo è anche il motivo per cui non ti ho fatto la domanda:
PS: lo so, la domanda è; da dove spuntano fuori uint8_t, uint16_t ecc?
Vi ringrazio ancora