I have built a new VirtualWire library which can be used to send and receive messages with inexpensive wireless transmitters/receivers/transceivers such as the RxB1, TxC1, DR3100 at 433.92MHz (you can easily get these for under 10$ here in Australia).
Anyone want to test it?
How can I get this library added to the unofficial libraries page?
Wow, that's a very professional document! And it looks like quite a useful library.
Have you considered making the API more "Arduino-like"? That is, wrapping up the functions inside of a class with a pre-instantiated instance (VirtualWire) that people can call methods on? And giving the methods names that are more consistent with those in the other libraries (e.g. begin(), read(), write(), available())? That might make it easier to use for Arduino people.
Yes, I have considered an OO interface.
The next installment is expected to add an OO styled layer to provide reliable (ie with automatic retransmissions), acknowledged message delivery. That should have more arduino-like naming conventions where appropriate.
Hello,
Im not familiar with that device, but it looks like it encodes and transmits 8 bit data. Very nice, but VirtualWire is intended for single-bit input and output transceivers. So I would say no.
It looks like a nice device though, good for parallel data. Could be used with Arduino, though not with the VirtualWire library.
@mikem: Thanks for the info. I'm not brave enough to go it alone yet, so I'm going to try to get some experience via the virtualwire library first I'm still very much a noob.
Does anyone know anywhere in the UK which sells RxB1 receivers and TxC1 transmitters?
Mike, this is a significant new module! I have the RLP434 and TLP434 and have not never able to get reliable/solid communication until now. I don't know if I had a particular fussy set of modules or it was something else, but I spent many hours on it. I had tried the Holtek HT-12E/HT-12D route, and various other encodings with only partial success until now. Your VirtualWire library is not only the simplest solution hardware-wise, it seems to work the best for me.
One small item in the library. When I run it on a atmega8 based arduino I get a TIMSK1 undeclared. I believe this notation is only valid on the atmega168. I changed it to TIMSK in VirtualWire.cpp and it compiled and ran fine. I suspect you just need to wrap in it in a processor compile-time check.
Thanks again! I'll look forward to the OO version!
Thanks for posting the VirtualWire libary it looks fantastic. I am having a few problems compiling it, but I am sure this is an IDE problem and not VirtualWire.
Which IDE do you use for the ATMEGA 168 Arduino
I am using Arduino 0012 Alpha IDE, I copied the Virtual Wire Library to
Hi, when I use VirtualWire it seems to be throwing off the execution of the loop() function. If I throw in a delay(300), the function just starts over again at the top. Is this something I can fix?
Thanks in advance.
Found out that gcc-avr version 4.3.0 breaks this library. Upgrading to 4.3.2 fixed the problem. Amazing module! Have you considered making store and forward? This could be like the $10 XBee!