Pages: [1]   Go Down
Author Topic: comunicazione seriale tra 2 arduino con moduli wireless AUREL  (Read 2877 times)
0 Members and 1 Guest are viewing this topic.
ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

buonasera a tutti, sto realizzando un sistema "semplice" di telemetria per un modello r/c.
sto utilizzando;

PARTE RICEVENTE:
arduino 2009 e come "ricevente" un modulo AUREL RX 4MM5, e collegato a sua volta ad un display di 4x16.
e sul display saranno indicati i valori letti di 4 sensori

PARTE TRASMITTENTE
Arduino mini light 05  alcuni sensori (2 lm35 , e un sensore giri, e voltaggio batterie)

ho dei dubbi sul collegamento e la trasmissione dei dati seriali da inviare e far visualizzare in un determinato posto sul display della ricevente, ho cercato su internet e qui, e si utilizzano molte librerie e alcuni dicono che bisogna utilizzare codifiche per migliorare la stabilità.
ora ho bisogno di un aiuto.. mentre aspetto l'arduino mini ho provato su breadboard a trasmettere dati seriali con arduino, e collegando l'oscilloscopio all'uscita del modulo ricevente ho ritrovato l'onda quadra, quindi il sistema "funziona" manca la parte software  che direzione dovrei prendere?

ciao e grazie mille


Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12462
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, dai un'occhiata alla sezione MegaTopic, Pitusso ha fatto un ottimo lavoro sulla comunicazione wireless, potrebbe esserti di valido aiuto.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao michele, avevo già letto tutta la guida, infatti avevo dei dubbi non tanto a livello hardware ma software in primis.
perchè non ho idea di come dovrei iniziare a far trasmettere i dati di continuo su seriale e farli ricevere e metterli nel posto giusto sul display.
fin che si tattava di trasmettere sul netmonitor dallo stesso arduino non c'erano problemi, ma ora mi sono bloccato e sto leggendo a tutta forza google / forum varii ecc ecc, ma più leggo più mi confondo le idee!
Logged

ITALY
Offline Offline
Full Member
***
Karma: 1
Posts: 188
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

manca la parte software  che direzione dovrei prendere?
Ciao,
prova a vedere la libreria virtualwire.h è la più usata per quanto riguarda le trasmissioni RF a 433MHz. Se invece vuoi seguire la strada indicata da Michele devi usare i moduli bluetooth.

*http://www.open.com.au/mikem/arduino/
« Last Edit: July 25, 2012, 11:42:40 am by DevonMiles » Logged

ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao, grazie per la drita, mi sto studiando per bene tutto,in settimana mi arriva l'arduino mini light 05 e inizio a fare delle prove.
ho un dubbio però, il modulo wireless ricevente ha come livello logico alto circa 3V al posto di 5..... è un problema?
(anche se nel datasheet dicono che l'out dovrebbe essere uguale alla tensione di alimentazione)
Logged

ITALY
Offline Offline
Full Member
***
Karma: 1
Posts: 188
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nel datasheet vedo solo che come livello logico alto di uscita c' è un minimo di 0.8V, comunque anche se sono 3V max riesci a leggere lo stesso il dato. L' importante è che se anche il modulo trasmittente funziona a 3V tu non trasmetta segnali al di sopra di questo valore, altrimenti potresti danneggiarlo.
Logged

ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5496
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io con 60mW a 2.4GHz senza antenna direttiva supero il km
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Offline Offline
Sr. Member
****
Karma: 0
Posts: 361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io con i moduli Aurel a 433MHz senza antenna direttiva non supero il m
(Trasmettitore in bagagliaio auto, ricevitore sul cruscotto)  smiley-mad
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5496
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io con i moduli Aurel a 433MHz senza antenna direttiva non supero il m
(Trasmettitore in bagagliaio auto, ricevitore sul cruscotto)  smiley-mad
Che modello sono ? che antenna usi? a quanto li alimenti ?
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Offline Offline
Sr. Member
****
Karma: 0
Posts: 361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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..
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2265
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
Serial.print(buf[i], HEX);
In pratica stai dicendo di stampare quello che arriva codificato in esadecimale.
Prova con
Code:
Serial.print(buf[i]);
Logged

Varese
Offline Offline
God Member
*****
Karma: 8
Posts: 585
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

ITALIA
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

Pages: [1]   Go Up
Jump to: