building Transceiver issue
Closed this issue · 6 comments
Hi there, great project. Receiver works with your code. Transmitter works with code. However I noticed when connecting Transmitter and receiver at the same time. The receiver code fails to receive data. Concluded that the receiver code does not define the TX pin for output and therefore leaves it floating. Which allows the Transmitter to transmit random bits. I added into the receiver code to define the TX pin as output. Which solved the issue, just thought i would let you and others aware of this, just in case others build a 433 transceiver.
Hello
Thanks for feedback, and for your interest in this lib.
When you mention PINs are left floating, are you referring to instructions like:
pinMode(PIN_RFINPUT, INPUT);
that are indeed left to the caller to take care of, when using RF433recv?
Indeed the RF433send library follows the same logic and requires the library user to execute something like
pinMode(PIN_RFOUT, OUTPUT);
on his own.
Could you send me the update you've done so I can better vizualise it, or even better, post a pull request?
Thanks, Sébastien Millet
Hello
the devices you are using are radio frequency 433 MHZ devices, that are plugged to Arduino with 3 PINs, one for ground, one on VCC (+5V) and one for DATA. As DATA needs to trigger interrupts, on an Arduino this limits PINs to D2 (interrupt 0) or D3 (interrupt 1). ESP32 for example has more interrupts capabilities. To respond to your question, indeed the code works on ESP32, according to other feedback I've had (I didn't test it myself though).
So ultimately you indeed have to tune the PINs in the correct direction, that is, exactly as you show it:
pinMode (PIN_RFOUT, OUTPUT);
pinMode(PIN_RFINPUT, INPUT);
I'm puzzled that in such circumstances you end up with a floating value.
Reg, Seb
@Andy1968T did you manage to make it work?