Bluetooth/WiFI controlled robot

Hello!

This is my first Arduino project so I would appreciate some guidance from people who have more knowledge in this area than me. I know I should have started with a simpler project but I wanted something challenging and entertaining for the summer holidays. I would like to state that I DID NOT purchase any of the rezuired components yet, because I want to know if it can be done in the first place.

The project itself will be structured as following: a platform-like robot mobilized by 2 big wheels in the back and a ball caster in the front. On that platform I will arrange all the components (maybe build a double decker). Now the hard part... Firstly, I would like it to be controlled by bluetooth/wifi from my smartphone/pc (later on, I will controll it by voice commands as I am almost finished with making the macros in windows speech recognition + speech macros). The robot will need to be fully controllable (front, back, left, right), to act as a wake-up clock and to be able to run from me / wander around the room without hitting anything. An addition to this would be to make the robot remember a certain path or know in which room he is at any given moment.

For this project, in terms of hardware, I considered I would require the following: - an Arduino board: UNO/Leonardo/Mega - I would kile some opinions on which one - a breadboard - the robot's skelet, which I will build personally - 2 motors - also would like some opinions on which type - one driver for the motors - usb host - bluetooth/wifi adapter - piezo speaker - proximity sensor (i would like one on each side to receive real time data about the surroundings and adjust accordingly) - an arduino cam with a predefined set of pictures in it with all the rooms from different angles so when the robot is in a room it will look around and if it recognizez the room from the set of pictures, it will sned back to me the response, sort of like a face recognition, but a "room recognition"

I am looking forward to guidance!

Bluetooth is much simpler to program, uses less power, and for Android phones it is fairly cheap. The downside is the range of bluetooth is not that great. In terms of programming, you typically get a bluetooth device that emulates a serial protocol, and you use a simple protocol, such as sending a single ‘r’ to turn right, a single ‘l’ to turn left. On the phone side, there are various apps you can get that will connect to Arduino type devices. Some are simple and you just type text and it sends it, some allow you to have buttons that send the text.

With wifi, you tend to have to create a simple web server that you connect to from the phone, and do commands via HTTP.

With recent Apple phones, my understanding you need to get bluetooth 4.0 modules (more expensive), and there may some issue at the Apple end in terms of compatibility. Since I don’t use Apple devices, nor have plans to switch to using them in the future, I don’t follow the discussions that come up in detail.

I just went down to the Products and Services sub-forum, and saw an announcement for a new shield that can do either Bluetooth 2.1 (most Androids) or Bluetooth 4.0 (new iphone, some Androids). http://www.arduinodev.com/arduino-ble-data-logger-shield/

Yes, I am considering bluetooth, too. There is an app on google play called Amarino (Bluetooth RSSI) that allows you to controll your robot by bluetooth and the fact that it consumes less power than wifi is also a plus. And thanks for the link, but I couldn’t find that shield in my country, to save me from shipment taxes and delays, so I will search the web to find a similar one. If not, I will buy the one on that site.