controllare stato di un pin e trasmetterlo a distanza

Buongiorno ho sviluppato un programma, parzialmente copiandolo le mie conoscenze di programmazione sono quasi 0, per far partire una pompa quando l’acqua arriva ad una certa altezza in un pozzetto e la spegne quando arriva al minimo cercando di inserire anche alcune sicurezze.
Ora quello che io volevo fare, visto che la pompa si trova distante da casa trasmettere con un modulo WeMos D1 R1 o altro sistema la condizione del pin D13 (basso=pompa off alto=pompa on) utilizzato per comandare la pompa in modo di avere la certezza che la pompa è partita e qui mi areno non sono riuscito a trovare niente di specifico.
Mi riuscite ad aiutare?
se può essere di aiuto allego il listato attuale:

#include <LiquidCrystal_I2C.h>
#include<Wire.h>
 int stato = 1;  
 int reset = LOW;
 LiquidCrystal_I2C lcd(0x27,20,4);  //LCD  20X4  I2C
 
 void setup() {
   
  Serial.begin(9600);
  pinMode(2,INPUT);    //galleggiante minimo
  pinMode(3,INPUT);    //galleggiante massimo
  pinMode(13,OUTPUT);  //relay pompa
  pinMode(12,OUTPUT);  //led allarme nel caso mancato funzionamento galleggiante minimo
  pinMode(11,INPUT);   //reset allarme
  lcd.begin();
  int reset = LOW; 
}

void loop() {
 
 
  int lmin = digitalRead(2);
    delay(100);
  int lmax = digitalRead(3);
    delay(100);
    if((lmin == HIGH) && (lmax == HIGH)){  //in caso di interruzione di tensione e pozzetto pieno fa partire la pompa
     stato=3;
    }
    
 //   Serial.print("stato: ");
 //   Serial.println(stato);
 //   Serial.print("min: ");
 //   Serial.println(lmin);
 //  Serial.print("max ");
 //   Serial.println(lmax);
  
    
    lcd.setCursor(3,0);
    lcd.print("Controllo pompa");
    lcd.setCursor(1,3);
    lcd.print("stato: ");
    lcd.print(stato);
    lcd.setCursor(1,2);
    lcd.print("min:   ");
    lcd.print(lmin);
    lcd.setCursor(1,1);
    lcd.print("max    ");
    lcd.print(lmax);
     
       switch (stato) {
         case 1:
            digitalWrite(13,LOW);
            if(lmin && !lmax) stato=2;  //(lmin chiuso  lmax aperto)  pompa off  passa stato 2
            break;
          case 2:
            digitalWrite(13,LOW);
            if(lmin && lmax)  stato=3;  //(lmin chiuso  lmax chiuso) pompa off   passa stato 3
            if(!lmin && !lmax) stato=1; //(lmin chiuso  lmax aperto) pompa off  ritorna stato 1  
            break;
          case 3:
            digitalWrite(13,HIGH);
            if(lmin && !lmax) stato=4;  //(lmin chiuso lmax aperto) pompa on passa stato 4
            break;
          case 4:
            digitalWrite(13,HIGH);         
            if(lmin && lmax) stato=3;      //(lmin chiuso lmax chiuso pompa on passa stato 3
            if(! lmin && ! lmax) stato=1;  //(lmin aperto lmax aperto ponpa off passa stato 1
            break;
       }

      
         if((lmin == LOW) && (lmax == HIGH)){ //nel caso mancato funzionamento galleggiante minimo e attivazione 
             digitalWrite(13,HIGH);           //galleggiante massimo fa partire la pompa segnalando anomalia
             digitalWrite(12,HIGH);           //con l'accensione led rosso allarme
               lcd.clear();
               lcd.setCursor(0,0);
               lcd.print("A L L A R M E");
               lcd.setCursor(0,1);
               lcd.print("CONTROLLARE");
               lcd.setCursor(0,2);
               lcd.print("GALLEGGIANTE");
               lcd.setCursor(0,3);
               lcd.print("M I N I M A");
             for (int i = 0; i< 100; i ++)
             delay(100);
             digitalWrite(12,HIGH);       //led allarme rimane acceso
             digitalWrite(13,LOW);        //se lmax si è aperto pompa off
             lcd.clear();  
        }
         if (digitalRead(11) == HIGH) {      //resetta led rosso allarme
           digitalWrite(12,LOW);
         lcd.clear();
         lcd.print(" R E S E T T A T O");
         delay(1000);
         lcd.clear();
         }
       
       }

spero in un vostro aiuto

>i3hvs: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink:

modificato come da regolamento

ciao,

dico la mia...tralasciando come trasmetti l'informazione a te serve la "qualità" dell'informazione...cioè...il solo verificare lo stato di un pin, che serve ad attivare un motore, ti dice se il programma ha eseguito l'operazione...ma non che il pin sia veramente attivo o spento e che la pompa stia veramente funzionando.
io farei che se PIN attivo vado a verificare se il motore della pompa gira...ad esempio tramite sensore con riferimento sul rotore...ma forse anche altro dipende da che motore hai.
potresti anche verificare se quando il pin è off la pompa, a causa di qualche anomalia, sia ancora attiva.

In effetti sono 2 questioni differenti
Cosa trasmettere
Come trasmettere
Io mi preoccupo del come
A che distanza? In esterno? Verso cosa? Un altro arduino, un pc?

Quello che a me interessa è sapere se il circuito funziona senza complicarsi troppo la vita e cioè trasmettere a 20 metri di distanza un 1 o un 0 per far accendere un led che poi sia un arduino a farlo è relativo.
Ho provato a farlo con un WeMos D1 R1 e l'applicazione Blink ma mi sono arenato visto che non sono riuscito a capire come far dialogare arduino con il WeMos, scusate la mia ignoranza si parla di virtual pin e come si fa ad impostarli?

Guarda, senza tanti casini
Prendi una coppia di hc11
Ne cambi il modo operativo da seriale a ripetizione di ingressi
Il trasmettitore lo colleghi ad una uscita dello arduino che usi adesso
Al ricevitore attacchi un led
Hai finito