Salve a tutti, per un progettino ho la necessità di trasmettere poche variabili via radio da uno standalone a un arduino; la distanza che devo coprire è davvero poca, diciamo al massimo 5 metri. Non posso proprio usare fili e bucare il muro che separa le due stanze.
Leggendo nel forum ho visto che esistono dei moduli radio compatibili a 433 MHz davvero economici (a detta di chi li ha usati il prezzo si aggira sui 5€ ciascuno) ma visto che non me ne intendo e non ho trovato link specifici dei moduli da prendere non è che mi potete dare qualche indicazione su quali moduli acquistare?
Il budget è davvero limitato, devo scartare assolutamente il wi-fi e i moduli xbee.
Per quanto riguarda i dati da trasmettere sono davvero pochi (per ora solo temperatura, umidità e lo stato di due relè).
Ringrazio in anticipo chi mi aiuta a trovare i moduli adatti da acquistare.
Ciao,
io in un progetto avevo visto questi.. è che mi sembra li spediscono dall' Australia, e sono 45 dollari di tasse..non so se vale la pena.
. bisognerebbe trovare qualcosa di più vicino
il progetto era queso:
http://arduino.cc/forum/index.php/topic,60239.0.html
Ciao io ho avuto successo con questi :
Inoltre io aprii un topic in cui ho capito moltissime cose e che forse ti può essere di aiuto, questo:
http://arduino.cc/forum/index.php/topic,60741.45.html
Comunque se hai altre domande, scrivi tutto che provo ad aiutarti.
p.s. io stavo anche scrivendo un mini articoletto su come farli funzionare, ma ora sono incasinatissimo con l'università e non posso terminarlo
Pelletta, scusa la curiosità..come standalone usi un ATMega328? Perchè io volevo fare una cosa del genere però utilizzando come tx un Attiny85, il problema è che la VirtualWire.h non gira su questa MCU.
Ancora non so di preciso che microcontrollore usare, dipende dalla dimensione dello sketch finale; comunque sia sono rimasto sempre sulla serie atmega nelle tre versioni "standard" di arduino (328,168 e 8 ).
volevo fare una cosa del genere però utilizzando come tx un Attiny85, il problema è che la VirtualWire.h non gira su questa MCU
Gli attiny non li ho ancora mai usati ma dovrei vederli a breve, grazie per la dritta comunque, hai evitato prove inutili a tutti!
Volevo precisare che la libreria non funziona con gli ATTiny85 probabilmente per problemi di incompatibilità di frequenza. Modificando opportunamente la libreria potrebbe essere possibile farla funzionare anche per questa serie. Purtroppo no ho le competenze per riuscire ad elaborarla. Nel link che ho postato prima carl47 ha modificato la VirtualWire per farla funzionare anche con gli Attiny85 ma credo che lo abbia fatto solo per la parte di ricezione perchè se compilo un programma contenente tx mi escono errori.
Sappi comunque che questi moduli funzionano solo in una direzione: mandano dati dal trasmettitore al ricevitore a una velocitá di baudrate abbastanza lenta (2400), che dipende anche dalla qualitá del segnale di ricezione.
Basta collegarli al TX e reciprocamente RX dei 2 Arduini.
Ciao Uwe
Il problema della VirtualWire con gli Attiny85 risiede nel fatto che la libreria usa sia la comunicazione seriale, che negli Attiny non è supportata via hardware (ma si può ovviare con la NewSoftSerial adattata per funzionare con questi micro) sia 2 registri di gestione del timer (TCCR1A e TCCR1B) che nel core Tiny non sono dichiarati per cui la compilazione si ferma dando errori.
Curiosamente nel datasheet degli Attiny questi registri ci sono quindi forse bisognerebbe vedere se inserendo i riferimenti la compilazione prosegue. Ma ora è tardi e non ho voglia di mettermi lì ad indagare
DevonMiles:
Pelletta, scusa la curiosità..come standalone usi un ATMega328? Perchè io volevo fare una cosa del genere però utilizzando come tx un Attiny85, il problema è che la VirtualWire.h non gira su questa MCU.
Devi usare la TinyWire
Ciao Pelletta, forse ti riferivi a me con i moduletti a 5€. io ho comprato 4 moduli RxTx RFM22B direttamente dai costruttori: rf-store - rf-store
li ce ne sono una marea, personalmente ho preso gli RFM22B S1, perchè erano in offerta a 4,70€ l'uno, con 4 € di spedizione + o -.. in realtà se dovessi riprenderli sceglierei quelli con i pin già attaccati, perchè la schedina senza pin ha passo 2mm tra i contatti, che se ti fai le schede da solo va bene, ma se come me vuoi metterci i pin in modo da poterlo attaccare/staccare, devi fare una piccola opera di piegatura dei pin per saldarli. se ti interessa posso mandare una foto delle mie schedine proto con l'Atmega328 standalone + RFM22B.
cmq, aldilà del prezzo, c'è già la libreria fatta per tali schedine, anche per le RF12 (che hanno minor gittata) e queste usano la comunicazione SPI, quindi 5 pin + Vcc e GND, però lavorano a 3,3V. che se fai lo standalone, va bene, perchè alimenti tutto con un 7833 a valle di una batteria e va tutto bene (poi sul 7833 e la batteria avrei altre considerazioni, se ti serve ne parliamo..).
ci sono gli esempi sulla libreria così si impara abbastanza facilmente, la libreria è questa: RF22: RF22 library for Arduino
scritta da mikem che è un cittadino del forum internazionale.
Se hai altre domande o posso aiutarti, chiedi pure.
Davide.
ratto93:
Devi usare la TinyWire
Mi pare che la VirtualWire serva per comunicare con dispositivi radio tramite un protocollo ASK, non credo c'entri molto la TinyWire, che è un'implementazione software del bus I2C. O sbaglio?
Pardon ero convinto comunicassero via i2C.....
@Leo. Avevo provato ad eseguire l' esempio che avevi messo nella guida Gioblu.com is for sale | HugeDomains usando la NewSoftserial modificata, ma mi sembra che il serial monitor non leggesse correttamente i valori. Riproverò a fare quel test da capo..forse avevo sbagliato qualcosa.
L'errore è nello sketch di esempio di lettura dei dati. Dovresti mettere sull'Arduino qualcosa del genere:
void setup() {
Serial.begin(9600);
delay(3000);
}
void loop() {
if (Serial.available()) {
while (Serial.available()) {
Serial.print(Serial.read(), BYTE);
}
Serial.println("");
}
o simile, adesso non ricordo il codice esatto. Cmq il problema è sulla ricezione perché stampavo i dati come arrivavano ed il monitor seriale interpretava i dati "a cappella" :*
Scusate se non ho risposto subito al post, sono stato assente un paio di giorni.
Ho ordinato i moduli suggeriti da f.schiano e visto che ci metteranno un mesetto circa per arrivare, tanto che ci sto provo anche i moduli suggeriti da dab77 che in una settimana dovrebbero arrivare.
Grazie per i consigli.
Grande Pelletta, confidiamo nelle tue prove..poi ovviamente facci sapere :). Io stavo facendo esperimenti con TX/RX Aurel che mi erano avanzati a lavoro:
ma la ricevente capta un casino di disturbo. Ho un attimo abbandonato queste prove perchè stavo imbastendo una shield per la programmazione e il test degli Attiny85..appena finita posto le foto e gli schemi e ritorno sui miei passi.
Avevo aperto un Topic per i moduli consigliati da dab77 in questo Topic, francamente non me li ricordavo, ci ha pensato DevonMiles, che ringrazio.
A questo punto però tiro le orecchie (si fa ASSOLUTAMENTE per dire BUD :*) a Pelletta perché NON ha mantenuto la promessa di postare i risultati delle prove, almeno non mi pare dio aver letto altro in proposito.
Eccomi eccomi....
Intanto dico soltanto che ho ordinato solo i moduli suggeriti da f.schiano, sono 2 moduli, uno per trasmettere e l'altro per ricevere.
Li ho messi su soltanto due giorni fa e ci sto lavorando sopra.. Pitusso può confermare; per ora riesco a trasmettere e ricevere ma non c'è niente di nuovo, ho caricato gli sketch di esempio forniti nella libreria virtualwire.
Sto vedendo invece se mettendone una coppia su due arduino per vedere se riesco a trasmettere e ricevere nello stesso tempo... per ora nisba.
Appena so qualcosa di più aggiorno il post, tranquilli ragazzi
Ciao a tutti!
Ciao Menniti, ho visto ora l'altra tua discussione su sti moduli.. occhio che quelli che hai postato di la sono a 8xx MHz e se non sbaglio in italia non è una frequenza libera.
cmq, non mi ricordo se l'avevo scritto, ma io con i RF22 e come antenna un filo rigido di 16cm mi pare, comunicavo in linea d'aria a una cinquantina di mt, mentre con le pareti di mezzo circa 20-30 a seconda..
ma se guardi sul sito di hope-rf ce ne sono di più costosi (potenti??) di modelli.
ripeto per chi volesse provarli, prendete il modello con i piedini spaziati 2, 54mm (0,1") senno con quelli a 2mm è un casino. (per esempio io ci ho fatto delle standalone e quando devo downloadare gli sketch la devo togliere, sennò gli arrivano i 5v di Arduino!! ..e non so se gli fa bene.. in più usa SCK,MISO e MOSI, quindi per non fare casini... per cui serve la possibiòlità di sfilarla spesso. io gli ho saldato dei piedini di una strip e li ho piegati per fare un 'riduttore' 2,54 -> 2 mm... funziona, ma che sbattimento!!!)
AH, se invece serve una seriale che spedisca un bel pò più lontano, dfrobotics vende una coppia che ho provato e trovo fantastica! aspè...
si trovano anche su ebay.
provati a 100mt, a 9600baud, di più non ho avuto l'occasione.
ciao!