leggere un arduino distante 20 metri

ciao a tutti.

Ho la necessità di leggere un paio di sensori con un Arduino a circa 20 metri di distanza dal PC. Avendo uno switch ethernet con cui mi collego ad altre macchine per il monitoraggio preesistente, pensavo di usare un cavo di rete e il relativo interfacciamento. L'alimentazione della scheda avverrebbe da sorgente esterna dedicata, quindi stiamo parlando di solo interfacciamento dati.

Ho visto che esiste una shield ethernet per arduino (userei la UNO), (tipo questo) Costo: 10 euro + costo cavo ethernet

Ho pensato anche ad un adattatore usb-ethernet (tipo questo) [ovviamente, dovrei cambiare il connettore USB, mettendoci un tipo B). Costo: 12 euro + costo cavo ethernet

La terza opzione che mi è venuta in mente è, rinunciando all'interfacciamento ethernet, usare due prolunghe USB amplificate (da 10 m l'una) in serie, tipo questa. Costo: circa 28 euro

Quale soluzione mi consigliate?

P.S: ho anche pensato alla modalità wireless, con il classico nRF24L01, ma temo sia poco affidabile... ho bisogno di non perdere dati o, peggio, di non avere crash o blocchi vari.

La classica seriale RS485?...

ciao Datman. Mi potresti dare qualche dettaglio in più su come usare la soluzione che mi proponi? Non sono un esperto di protocolli... Immagino tu ti riferisca all'uso di una shield specifica montata sull'arduino che esegue le misure. Il segnale poi posso leggerlo direttamente via pc o devo metterci un ricevitore (con un altro arduino)??

L'idea che avevo è leggere i sensori con un'interfaccia implementata con Processing (di cui non sono certo un grande esperto).

Mi sa che uso la soluzione con i due cavi USB in serie. Qualcuno ha mai provato questo tipo di soluzione?

Non vedo perchè non dovrebbe andare ma, appunto, chiedo se qualcuno ha fatto mai questa cosa.

Tentar non nuoce

Tanti qui hanno usato hc12

Un arduino in trasmissione

Uno in ricezione

Quanti pin hai liberi su quello collegato ai sensori?

Cooncorquoto Per lo OP: fornisci dettagli, hc12 sempre trovato bene

Grazie dell'ulteriore idea che proponete.

Devo leggere 8 sensori (dei banali NTC) in analogico. Per far questo pensavo di usare un multiplexer 4051 (o un 4067). Potrei usare un Arduino Mini o un Nano che mi pare abbiano 8 ingressi analogici (quindi senza multiplexer), ma per adesso ho un UNO r3 (e quindi mi serve un multiplexer).

Quindi, attualmente, ho impegnati 3-4 canali digitali.

Usare la comunicazione radio mi mette un po' di timore, non vorrei avere problemi di campo. L'arduino che legge i sensori è in un edificio adiacente a quello dove si trova il PC. Dovrei fare delle prove... ma vorrei che l'affidabilità fosse quanto più alta possibile.

Avete ulteriori soluzioni da propormi?

RS485… Devi solo fare una conversione a livello 0 (fisico, elettrico) della seriale di Arduino.
RS485
Con il 4051 puoi commutare A4 e A5 tra le NTC 4 e 5 e le NTC 6 e 7 (vabbi da 0 a 7), inviando poi gli 8 valori in sequenza.

int T[8]; // Da T[0] a T[7].
unsigned long tempo=millis(); // Memorizzazione del tempo per il periodo di lettura delle temperature.

void loop()
{
if (millis()-tempo>2000) // Legge ogni 2 secondi.
  {
  tempo=millis();
  analogRead(A0); T[0]=analogRead(A0);
  analogRead(A1); T[1]=analogRead(A1);
  analogRead(A2); T[2]=analogRead(A2);
  analogRead(A3); T[3]=analogRead(A3);
  digitalWrite(12,LOW); // Legge T4 e T5.
  analogRead(A4); T[4]=analogRead(A4);
  analogRead(A5); T[5]=analogRead(A5);
  digitalWrite(12,HIGH); // Legge T6 e T7.
  analogRead(A4); T[6]=analogRead(A4);
  analogRead(A5); T[7]=analogRead(A5);
  for (int8_t n=0; n<8; n++) {trasmetti(T[n]);}
  } // Fine della trasmissione.
}