Hello all,
What a great place for arduino folks.
I was hoping to catch a little advice from someone.
I am currently working on a small project that is like so many others. It is a little robot that runs around the floor trying not to bump into anything. I have the H-bridge working nicely, I have a servo with a ping sensor on top sweeping back and forth.
As well as controlling the motors, it also sends small packets of data via USB to my PC, where I interpret the data in another program I wrote in C#.
All the PC side does is a few control commands that speed up, and slow down the sweep speed.Stop it and start it, force individual pings and so on. In addition, in response to the packets sent from the arduino (Freetronics 11) the PC maps a fairly humble sonar like screen in a little graphics window, showing by way of 7 points ( one for each 15 degree step) with a line between them what the ping sensor sees.
All this is working reasonably although I am still getting some pretty flaky pings from time to time that are right off the chart.
However here lies my dilemma. Now that my little robot is gaining some independence due to the motors, I can hardly run along behind it with my laptop and a long USB cable to watch what it sees. It doesn't (won't) need the laptop really as it is autonomous, but my next step is to do away with the USB cable and get the packets wirelessly in some way from the arduino and into my C# program.
The freetronics 11 has no wireless, Bluetooth or 433 communications available to it, so I will soon buy another main arduino board as I am nearly out of ports anyway, but have not had a chance to play with anything wireless yet. I want to still use my C# program but wouldn't mind a bit of advice as to what board to buy and what means of wireless communications to use. There are bucket loads of wireless addons on eBay, but as finances are a little limited, I would like a correct purchase first time round.
Any advice would be most welcome.
Cheers
Me
The Arduino YUN might be perfect for this since it has wifi built-in.
I have a robot too that works in a similiar fashion, but I chose to do it a little bit differently. I have a Raspberry Pi in my robot that talks to an Arduino. The arduino handles the IR sensors and ultrasonic ping sensor, as well as the servos. The code on the arduino implements a simple serial interface where I send it commands from the raspberry pi over the pi's USB port. I can manually control the robot via SSH to the raspberry pi and opening a terminal to the com port and typing commands to the arduino. Or I can run my program on the pi and have it take control over the robot for autonomous functions. Actually most of the automous functions are handled on the Arduino code. But the cool thing about the Pi is I also have the Pi Camera, which allows me to stream live HD video from the robot. (Yes, I have a wifi adapter on the Pi)
I think Zigbee Wifi is your best bet.
NRF24L01 won't support the data size you need and the range isn't that good and broadband is probably overkill.
I think you should start googling wifi data links for arduino. The forum search engine sucks compared to google. I can't tell you how
many times I tried to search on the forum and got useless garbage returns and one click on google I found exactly what I need.
Sorry forum, but it is what it is...
You could get a pair of Bluetooth transceivers that present an async TTL serial connection for the Arduino side which connects straight to the Tx and Rx pins, and a USB slave at the PC end that presents a virtual COM port within the PC. After you have connected and configured the BT hardware, it would behave identically to the USB serial connection.
You can also get Arduino clones with a BT transceiver built in which would give a more compact and perhaps cheaper solution, but if you're running out of pins that might not be viable. Similarly, you can get Arduino clones such as the Baby Orangutan which have integral H-bridge drivers which would provide a smaller and cheaper solution to the motor control, but again without lots of I/O pins so that may not be viable for you.