Go Down

Topic: comunicazione seriale tra 2 arduino con moduli wireless AUREL (Read 3 times) previous topic - next topic

acik


Che modello sono ? che antenna usi? a quanto li alimenti ?

Dovrei cercarli, ho traslocato da poco e ancora non ho ritrovato tutto.
In ogni caso sono quelli consigliati per trasmissione dati con la seriale.
Quando li ho presi erano gli unici disponibili in negozio fatti apposta per la trasmissione dati.
Un modulo solo ricevitore, l' altro modulo solo trasmettitore.

vanniboy

ciao a tutti,facendo delle prove con  gli skech di virtualwire trasmetto e ricevo, ma per ricevere al posto di ricevere "hello" ricevo dei numeri con degli spazi, e ogni numer4o corrisponde a una lettera.... perchè? file originali wirtalwire..

pelletta

Di che tipo è la variabile che contiene i dati in arrivo?
Come usi la Serial.print()?

Se abbiamo la stessa libreria vedo che nell'esempio receiver c'è questa situazione:
Code: [Select]
Serial.print(buf[i], HEX);
In pratica stai dicendo di stampare quello che arriva codificato in esadecimale.
Prova con
Code: [Select]
Serial.print(buf[i]);

Iz2rpn


in realtà sul datasheet parlano di tensione di ingresso nominale di 5V e uscita logica alta è uguale alla tensione in ngresso -0,4V ovvero 4,6V.
ma queste prove sono state effettuate su breadboard con alimentazione stabilizzata e uscita con una resistenza e un led e oscilloscopio.
a vuoto senza carico, solo sonda oscilloscopio, funziona regolare! ad ogni modo se funziona anche con 3V mi va bene, basta che si riescano a scambiare i dati.
oggi è arrivato l'arduino mini e l'adattatore usb-rs232 e in settimana mi ci applico un po su e vedo che cosa riesco a combinare !
ciao e grazie

p.s ma qualcuno sa aprossimativamente che distanze si coprono in linea d'aria  con questi moduli con la trasmittente da 10mw ?


Mi permetto di commentare, per trasmettere dei dati telemetrici potresti pensare di usare come modulazione che usiamo noi radio amatori, la rtty si trova la libreria che ho scaricato ma che ho ancora seri problemi a far funzionare, ma appena torno a casa mi ci rimetto su per fare qualche test, in questo modo ti basterebbe un radio scanner per ricevere i dati anche senza modulo aurel, per la questione delle distanze, distanze ci sono molti fattori per calcolare la distanza, ma te la faccio un po facile, in 433 mhz siamo in piena banda UHF significa che la forma d'onda che noi stiamo usando e lunga 70cm perchè ti faccio questa appunto, perchè devi sapere che per trasmettere bene su una tale banda devi accordare l'antenna come in una chitarra con il diapason, nel nostro caso l'antenna per essere ottimale alla trasmissione in quella frequenza deve essere lunga almeno 1/4 dell'onda di frequenza quindi come ti ho detto in precedenza se l'onda e lunga 70cm dato che siamo su la banda dei 433mhz per trasmettere più lontano possibile dovresti creare un antenna lunga 17,5cm sicuramente si dovrà mettere un carico induttivo per portare l'antenna a un impedenza di 50 ohm per non sovraccaricare i finali di esso se no scalda come un fornetto per la pizza. Spero di esser stato utile. Per queste operazioni in radio frequenza sarebbe utile procurarsi uno strumento poco costoso ma molto utile denominato Rosmetro che serve a misurare il rapporto delle onde stazionarie sul dipolo (antenna) che deve essere pari a 1:1 cioè significa che la potenza erogata deve andare tutta su l'antenna e non disperdersi in calore, leggendo qua e la tra i miei contatti con pochi mW si possono percorrere anche diversi km anche centinai, un piccolo appunto lavorare in wifi cioè in 2,5ghz si incorre in una scocciatura, la quale si risolve con antenne preformanti, parabole comprese per amplificare il vostro segnale. Vado in modalità OT tempo fà incuriosito da una propagazione strana su la gamma dei cellulari, dove potevo collegare ripetitori della Orange CH da casa mia, ho preso una parabola sat sono andato su una altura lo direzionata verso la francia e come per miracolo riuscivo a usare i loro ripetitori, questo esempio vuole farvi capire che anche l'antenna ha un suo perchè. buon divertimento :)

vanniboy

comunque, la mia necessità non sta nel trasmettere parole ma numeri, e di fatto devo integrare la conversione di temperatura della sonda lm35  con questo:

int temp = 0;
int lm35 = 0;
temp = analogRead(lm35);
int tempc = (5.0 * temp * 100.0)/1024.0;
delay(100);

e fin qui ok, ma al momento di integrarlo nel codice così :

void loop()
{
   
    int temp = 0;
    int lm35 = 0;
    temp = analogRead(lm35);
    int tempc = (5.0 * temp * 100.0)/1024.0;
    delay(100);
    const char *msg = tempc;

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}

mi ritorna questo errore:

invalid conversion from 'int' to 'const char*'

scusate magari sarà facile, ma io sono un po nuovo con questo linguaggio :)

Go Up