Trasmettitore e ricevitore con un solo Arduino

Salve ragazzi,

ho comperato i due moduli TX e RX da 433Mhz per arduino.
Ho trovato molti esempi validi di utilizzo ma ho una domanda base:

Collegando arduino al trasmettitore, e' possibile accendere e spegnere un Rele collegato al ricevitore senza collegare nessun altro arduino al ricevitore?

Mi spiego meglio. Tutti gli esempi trovai collegano un arduino al trasmettitore ed un arduino al ricevitore.
Io vorrei utilizzare un solo arduino collegato al trasmettitore per mandare un segnale ON oppure OFF in grado di accendere o spegnere un rele collegato al ricevitore.
Non mi serve nessun tipo di controllo dal ricevitore, non devo leggere nessun tipo di messaggio se non il comando di dare corrente o non dare corrent al rele.

E' possibile o sto parlando di fantascienza? :slight_smile:

Questo e' piu o meno il codice del TX

#include <VirtualWire.h>

#define TX_pin 12


void setup()
{
  Serial.begin(9600);
  vw_set_tx_pin(TX_pin); 
  vw_setup(3000);       
}

void loop()
{
 
      vw_send((uint8_t *)msg_ON, strlen("ON"));
      vw_wait_tx(); 
  
 }
}

sul ricevitore sara' collegato al pin dei dati direttamente il rele in modo tale che se rivece un qualsiasi dato attivi il rele altrimenti senza dati lo spegne.

Secondo me non é possibile.
Puoi farlo con altri tipi di moduli.

Ciao Uwe

uwefed:
Secondo me non é possibile.
Puoi farlo con altri tipi di moduli.

Ciao Uwe

che strano. Scusami i rivevitori degli aerei radiocomandati (che io posseggo) solo solo ricevitori con pin di output e di alimentazione e basta. Non credo abbiano un microcontrollore all'interno.. o sbaglio?

@tonyhhkx: scusa, ma perché non fai una prova veloce ?

Alimenti entrambi i moduli, metti il pin DATA del TX a +Vcc e vedi se il pin DATA del RX va anche lui HIGH, poi metti il pin del TX a GND e vedi se anche il pin RX va LOW e così hai la tua risposta ... non mi sembra ci voglia molto ::slight_smile:

Guglielmo

tonyhhkx:
che strano. Scusami i rivevitori degli aerei radiocomandati (che io posseggo) solo solo ricevitori con pin di output e di alimentazione e basta. Non credo abbiano un microcontrollore all'interno.. o sbaglio?

Ne sei certo?

Io direi che è esattamente il contrario di ciò che credi. :wink:

Attilio

faro' la prova quanto prima anche se e' pecatto per una cosa cosi semplice usare un altro arduino

E mettici un ATtiny13 allora :).

SukkoPera:
E mettici un ATtiny13 allora :).

cioe'? Rimpiazzerebbe arduino? hahaha

Guarda che Ebay è pieno di modulini , da due spiccioli, che fanno già quello che vuoi fare tu


Dipende da cosa intendi per "Arduino". Se intendi la scheda sì, se intendi il "metodo di programmazione" non necessariamente: Core13 download | SourceForge.net.

Sappi comunque che l'ATtiny13 è una MCU dalle risorse mooooolto limitate (e pensare che questo già lo diciamo normalmente del 328 :D), per cui sarebbe meglio programmarlo in assembler o comunque con metodologie meno invasive. Puoi sempre usare un ATtiny85 però: ha più risorse ed un eccellente core.

Grazie a tutti per le risposte.

Brunello, i modulini indicati in foto quindi funzionano gia e sono gia programmati. La mia necessita' e' colelgare un sensore di movimento oppure un sensore a ultrasuoni e mandare il segnale ON secondo una particolare situazione.

Con arduino posso gestirmi tutte le situazioni possibili diciamo e mi va benissimo... peccato pero' se debba usarlo anche per il ricevitore

i modulini indicati sono solo Tx e Rx con codifica.
Che vuol dire che sono gia' programmati ?
In pratica sul modulo tx ( quello in basso nell'immagine )

hai 4 canali ( + le alimentazioni ) a disposizone. Quando metti uno dei pin in High, ti attiva il canale corrispondente sul ricevitore

ci sono anche Tx da montare direttamente su Arduino

Brunello:
i modulini indicati sono solo Tx e Rx con codifica.
Che vuol dire che sono gia' programmati ?
In pratica sul modulo tx ( quello in basso nell'immagine )

hai 4 canali ( + le alimentazioni ) a disposizone. Quando metti uno dei pin in High, ti attiva il canale corrispondente sul ricevitore

ci sono anche Tx da montare direttamente su Arduino

azz peccato non ho chiesto prima, ora mi ritrovo comunque con rele rx e tx gia acquistati :frowning:
Va be dai, buono a sapersi, mi sarei risparmiato denaro e tempo. Magari per un prossimo progetto sarebbe la soluzione piu pulita e rapida.

Ora vediamo di programmare tutto con arduino sia al tx che rx :slight_smile:

Se dalla parte del TX hai un Arduino con uno sketch che usa la libreria VirtualWire, è impossibile che il ricevitore faccia quello che vuoi tu. Infatti se guardi i modulini linkati da Brunello (più "completi") noti che montano comunque un chip che "recepisce" i comandi.
La VirtualWire e tutti questi moduli trasmettono in maniera particolare:

https://www.pjrc.com/teensy/td_libs_VirtualWire.html

Quei tuoi moduli che hai comprato richiedono un Arduino lato TX e un Arduino lato RX perchè quei moduli attuano solo la trasmissione ma non hanno la capacità di "interpretare" il treno di bit che arrivano, secondo lo standard ASK

ciao, io ho visto un tizio che collegava il modulo tx ad un pwm di arduino e dall rx otteneva lo stesso segnale inalterato, quindi usi un transistor come buffer di corrente sul modulo rx e puoi pilotare direttamente il relè

Ciao ragazzi, provando infatti non funziona nel senso che quando mando il segnale da tx il ricevitore "riceve" il segnale anche senza arduino solo che accende il rele' per un instante.
Ci vorrebbe qualcosa che interpetra il segnale in un inpulso costante e lo rimuove se ne riceve un altro.
Non e' fantascienza pero' un po una rottura capire come fare XD

tonyhhkx:
Ci vorrebbe qualcosa che interpetra il segnale in un inpulso costante e lo rimuove se ne riceve un altro.

Tipo un microcontrollore? :wink:

SukkoPera:
Tipo un microcontrollore? :wink:

:slight_smile: :slight_smile: :grin:

ahahhaah e si ragazzi :slight_smile:
Va be dai, per fortuna ho 2 arduini anche se un po sprecato!