Comandare un pin uscita con due pin ingresso

buon giorno, mi serve uno spunto per controllare un'elettrovalvola che fornisce acqua a due serbatoi separati, ma che venga disabilitata da due galleggianti elettrici quando uno dei due si riempiono. Ci ho provato con macchina a stati o con i normali if e else ma non funzionano.

:warning:
Ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato.
Grazie.

A quanto detto da UKHeliBob aggiungo ...

... evitate di utilizzare la traduzione automatica fatta dal browser ... vi impedisce di capire la lingua della sezione dove andate a scrivere :roll_eyes:

Guglielmo

Due semplici if in cascata

O meglio ancora colleghi in hw i micro

scusate e grazie mille in anticipo

... è una normale condizione di 'OR' tra due condizioni. Con un semplice IF verificando che "se un serbatoio è pieno OR l'altro serbatoio è pieno" disabiliti la pompa.

Guglielmo

potresti farmeli vedere gentilmente, perchè ci ho provato :grinning:

Vedere le prove, che si capisce

E poi cominciamo con le questioni tecniche:
Il comando della pompa: alto o basso e su quale pin?

I due micro sui sebatoi, su quali pin e alto o basso per spegnere la pompa ?

In pratica il serbatoio 1 si riempie con acqua rubinetto
mentre il serbatoio 2 si riempie con acqua osmosi. Quando uno dei due si riempie l'elettrovalvola si
dovrebbe staccare.

#define PIN_LMI 2 //galleggiante serbatoio 1 si riempie con acqua potabile
#define PIN_LO 3 //galleggiante serbatoio 2 si riempie con acqua osmosi
#define PIN_ELV 6 //elettrovalvola

void setup() {

pinMode (PIN_LMI, INPUT);
pinMode (PIN_LO, INPUT);
pinMode (PIN_ELV, OUTPUT);

}

void loop() {

E poi?

Inoltre chiudilo tra i tag code

if (digitalRead(LMI) == HIGH) {
digitalWrite(ELV, LOW);
} else{
digitalWrite(ELV, HIGH);
}

if (digitalRead(LO) == HIGH) {
digitalWrite(ELV, LOW);
} else{
digitalWrite(ELV, HIGH);
}

}
non succede nulla l'elettrovalvola dovrebbe già essere accesa quando carico il programma

E dove la avresti accesa?

Inoltre metti il programma tutto intero in un posto solo e tra i tag code

@Koenig: .. fosse anche per una sola riga, come richiesto al punto 7 del REGOLAMENTO, il codice va racchiuso tra i tag CODE, per cui, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona <code/> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE).

Grazie,

Guglielmo

Due galleggianti con interruttori normalmente chiusi in serie all'elettrovalvola... Appena uno dei due apre il circuito, l'elettrovalvola si chiude.

Comunque metti il codice fra i tag CODE/ e indentalo correttamente, poi continuiamo.

Si DATmam quello è un procedimento elettrico ma io voglio imparare a farlo tramite programmazione. Voglio crescere :grinning:

io ti ringrazio perchè comprendo che mi vuoi far sforzare di riuscirci solo con le tue indicazioni ma sono giorni che ci provo ma non so che fare :grinning:

Metti il codice intero fra i tag CODE/ e indentalo correttamente, poi continuiamo.
Evita di far arrabbiare Guglielmo.

Inoltre, per l'ennesima volta, ti faccio presente che la presentazione serve principalmente per conoscere l'esperienza in elettronica e in programmazione di ciascuno. Se non sai nulla, scrivi tranquillamente "Non ho alcuna esperienza in elettronica, né in programmazione". L'importante è che noi sappiamo come esprimerci e che cosa chiederti. Anche conoscere approssimativamente la tua età, seppur non richiesto esplicitamente dal regolamento, è utile.

C'è anche qualche considerazione elettrica da fare.

vi supplico almeno un esempio. comprendo che devo studiare di più ma ho solo video youtube per imparare.

Se NON sistemi il codice come ti ho detto .... NESSUNO potrà più risponderti perché bloccherò le risposte, quindi ... fallo al più presto.

Guglielmo

OK chiedo scusa. Comunque sono un apparecchiatore elettronico e cerco di programmare arduino da un po, Tutto quello che ho realizzato l'ho preso dai tutorial.