WALTERmwp ha scritto:konig87 ha scritto:(...) Grazie mille per le delucidazioni, se gradite vi farò sapere
prego, di nulla e ... facci sapere, magari con uno schemino e qualche misura.
Grazie a te.
Saluti
ciao a tutti,
eccomi finalmente. E' da un mese che lavoro su uno sketch.
Ricapitolando, per i posteri o per me stesso tra qualche anno: ho messo in comunicazione 1 Arduino MEGA 2560 ed un ESP32 tramite la Seriale UART interna, e ho risolto il problema del livello logico diverso (ESP32 lavora a 3,3v mentre Arduino Mega a 5v) creando un partitore di tensione sul TX di Arduino. In dettaglio:
-> Premesso che TX di Arduino va su RX di ESP32 e vice versa
-> Premesso che TX di Arduino eroga 5v ed ESP32 ne tollera massimo 3,3 altrimenti rischia di bruciarsi
-> Premesso che TX di ESP32 eroga 3,3v che sono un segnale logico Alto per Arduino quindi non c è bisogno di nessun componente elettronico in mezzo.
in tal caso l unico problema è tra il TX di Arduino (5v) ed RX di Esp32 (max 3,3v), per risolverlo ho creato un partitore di tensione con 2 Resistenze da 4,7Kohm tra TX del mega e Massa. Essendo un partitore di due R uguali, la tensione inviata ad ESP32 è di 2,5v che per ESP32 è un segnale logico Alto senza dubbio alcuno.
Ho installato R da 4,7kohm sperimentalmente, infatti con valori molto più alti o molto più piccoli avevo problemi di ricezione: spesso ESP32 riceveva false stramissioni anche quando MEGA non trasmetteva, oppure al trasmettere di Arduino Mega lui riceveva valori sballati.
Nell intorno di 4,7kohm non ho riscontrato nessun problema, i due dispositivi comunicano ad una distanza di 40cm. non ho provato a distanze maggiori.
NOTA IMPORTANTE: nel mio progetto uso anche un SIM800L che comunica col Mega, ovviamente anche sulla Seriale dedicata alla comunicazione con SIM800L ho dovuto mettere lo stesso partitore di tensione.
Osservando lo schema rende meglio, è semplicissimo e funziona, gia testato h24 da un paio di giorni. invio i comandi tramite Telegram ad ESP32 e lui si interfaccia tranquillamente con MEGA e mega, se necessario, comanda il SIM800L.