I'm building an UAV based on an Uno and I was thinking what was the best way to communicate with the PC. I know the XBee has a range up to some 300 feet (I have used it before), but I was looking for something with a larger range. I am also thinking of adding a GPS shield, but I can't think of a way I could use that, because I want to be able to transmit strings of data from the PC to the Arduino and the other way around as well. Do you have any suggestions?
You could try a GSM shield with a SIM card. It is theoratically possible to control the arduino wireless throughout your country or state using 3G network. however, it costs money to use the network.
That is an interesting approach, thanks. But do you think I could find something in the lines of radio transmission? In my research I have stumbled upon Arduino-to-Arduino radio transmission, but do you think PC-to-Arduino radio transmission is also feasible?
well it depends what you want to do with your UAV. with GSM shield and 4G network you can stream a live feed from a camera to your pc. If you just want to control the UAV like a simple RC plane you can best use some 2,4GHz transmitter (~1500 meters range, differs per transmitter) and find a way to hook it up to a pc. For more range you could also take a look in AM frequencies but make sure you won't broadcast on some military channel or else you have a black van in your street within a few moments
I assume you want a live feed as you are want to control a UAV from your PC?
If I where you I would use dual arduino's, the 1st for the the flight control with gps and gyro, test this one first and let it fly to your own yard on its own from several locations, so you are sure it wont crash when you lose the signal and will fly home when that happens. And the 2nd arduino with the transceiver (gsm shield, 2,4GHz receiver etc) and camera. with an easy serial connection or I2C you can let the arduino's communicate to one another.
with a gps module you can let the drone fly a predefined route outside range out of your transceiver and make a recording with a camera. When it comes back it can circle around your yard untill you take control over it.
what things needs your UAV to be able to do?
People who can really help you are from Flitetest. You can find em via Youtube. They do almost everything with RC planes, helicopters, VTOLs and they use wireless cameras alot.
if you want pc - arduino comms, you can simply hook an arduino to the pc as a relay to the other arduino if you have XP with wireless connection between arduino's. I know there are ways beyond the arduino serial monitor to control arduinos of which i dont know much about