Best way to Control a Servo via Smartphone?

I’m working on a project that requires me to be able to turn a key through a smart phone, this key only has an on and off position, and no start like a vehicle would. What I came up with was a servo facing the key that turns it, the real question I have is whether or not an Arduino is the proper tool for the job or not. I already looked into using a BlueTooth module on the Arduino but it doesn’t have the range that I am looking for. What would be the easiest, and best system to control it? And if you can think of any other way to turn said key that doesn’t involve pneumatics that would be great! Thank you!

I don’t know how much force you need, but i would guess that the standard FRC servos are too weak. ServoCity has some much stronger ones, but you’d need to test how much force you need. I would either use a raspberry pi or an arduino with an ethernet shield and do it over wi-fi.

The servo sounds like a fine actuator. You can also get linear servos. Otherwise a solenoid might do the trick for you, or perhaps a small motor like a VEX motor geared down with a belt drive…

As for the electronics, I just plug one of these http://www.dx.com/p/jy-mcu-arduino-bluetooth-wireless-serial-port-module-104299#.U1cW3lfIZ-k into my Arduino and it works great… the range varies depending on walls and wall thickness, but can reach up to 30m when talking to my Galaxy SIII.

Note that as the Bluetooth Dongle uses a serial port protocol that it won’t work with iOS. It might work after a jailbreak, but Apple doesn’t seem to think that their users would ever want to do anything remotely technical.

If you want greater range than that, then I’d suggest a Raspberry Pi (or BeagleBone) and running a webserver on the Pi. Read the MagPi magazine, or google up different ways to use your Pi to control things “webiopi” is a good starting place… I had mine set up and turning LEDs on and off while streaming video to me from anywhere with an internet connection. Hopefully that will satisfy the range requirements!

Good luck. Sounds like a cool project. One of my students just got his lock mechanism working this weekend using RFID tags as keys, with an LCD display, and a bluetooth control to open the lock from his phone when he is on the couch. It was a pretty impressive set up… I think he’s going to put together an instructable on it one day.

Jason

P.S. As far as “easiest” or “best” system for controlling it… Arduinos are more than powerful enough (even powerful enough to run a simple web server). I only suggest the Pi because a Pi+wifi dongle is less expensive than an arduino+wifi shield. There are many other great microcontrollers… the PIC comes to mind… but the Arduino platform has become a broad enough standard that you are likely to get assistance and ideas more readily with the Arduino. I’d say the Pi also has the edge over the BeagleBone in that regard, too.

So how hard is the programming on the Rasberry Pi? Would it be simple enough for me to learn within a few days? Would I be able to tell a servo how far to turn in the code? Thanks for the replies! With this we are not as worried about the cost as we are about the effectiveness. We want to make sure it works well every time. Also, does arduino have a good app programming interface? So that we could connect it to an app? and does anyone know of a good sensor for detecting vibration? And does the arduino shell shield work better for long range smartphones than the raspberry pi? Thanks!

What is needed to control a servo by an arduino uno? What breadboard do I buy if all I want is to power a cell shield and a servo?

You don’t even really need a breadboard. You just need to hookup the +5V pin to the positive wire of the servo cable, the GND pin to the negative wire on the servo cable, and the signal wire to your chosen pin on the Arduino (Labelled ~ on the board).

EDIT: You’ll also want to import the “Servo” Library in your code.