Hi.
I'm interested in this too, especially now that older mobile phones can be bought secondhand for a few dollars.
I have done this - my method is not very elegant but IT WORKS! Not by communicating with the phone electronically, instead I simply soldered wires to the phone's keypad buttons and used a picaxe to "push" the buttons.
The first phone I did this with was an Alcatel One Touch Max and this uses a traditional keypad design - you can use 9 wires and interconnect them to push all 18 buttons
(details pasted below if you're interested).
I soldered the wires on, drilled a hole in the side of the phone and used small relays to short out the connections to push the buttons. I only needed 2 buttons (ON/OK and a number button which has a speed-dial associated with it). See program at bottom. This phone is now in use as a water level sensor for my mum's bath - when the bath is sufficiently full, it pages (ie rings for a few seconds then hangs up - that way it costs nothing) my mums cellphone to inform her to turn off the water. I know, it would've been easier to just put a buzzer in but this was much more fun (and I didn't have a buzzer in my spare parts box)!
My current project uses a Nokia 1100 which uses 4 buttons but is capable of more. I've wired up the power, OK (navi key) and up/down buttons which should allow me to call any number in the phone book (I can ring several numbers sequentially if I want) and send a text message to anyone in the phone book - either an empty text message or a pre-written one that's in one of the mailboxes. I can access any menu which would allow me to do a bunch of other things (turn the flashlight on, turn ringer on/off etc).
I'm also considering a simple way to ring in to the phone and have it either do something when paged or have it pick up the phone & allow me to hear what's going on or maybe open a DTMF communication channel. I'm considering using a photodiode/LDR taped to one of those flashing badges that flash when a cellphone is communicating nearby (because they're dirt cheap too) but I'm not sure if that would be triggered periodically by the phone. It would be no good if used where other cellphones are used but would be useful away from such locations. I could use a microphone beside the ringer to detect an incoming call (probably best option) or maybe a photodiode/LDR on the phone's backlight (but this might also turn on if the battery is low. One consideration is that when the phone is on all the time to receive calls it will only run on batteries for a few days unless some sort of solar/mains/etc charging is used or it's only turned on certain times of the day/week.
If a mobile phone with a camera is used, it could be programmed to take a photo of something and send it to you.
I can think of heaps of applications eg:
- alarm system monitor (home, car, other)
- monitor something remote (water level of a farmers animal feed or drinking trough, flood alarm, weather (ie frost in an orchard), fridge/freezer temperature, gas/wood/water/sewage level in a remote hut/other house,
- monitor people or animals (ie PIR sensor in a warehouse, door opening sensor to see when somebody comes home)
- trap sensor (monitors whether an animal trap has been tripped - I want to develop this further for pest control)
-
Ringing in to the phone could also have a myriad of applications:
- turn on/off/change/monitor anything remotely.
- home automation - turn on appliances on the way home, turn on a water heater in a holiday house etc.
- open a communication channel & download data from a remote site (ie weather data)
- take photo of something remotely (ie to monitor a building site, check something at work, check on your cats while away, take photo of burglars, photograph a dangerous place like a war zone or a volcanic eruption)
- Add a GPS & monitor the location of anything remotely (this has been done with a picaxe by an australian doing high altitude weather balloon photography but I can't find the link again)
- etc etc anyone else have some good applications?
Appendix:
'Water level cellphone dialler for Mum's bath. Modified/improved slightly from smart trap program 21/12/2006
'This program runs on a Picaxe08 and senses when water is detected at the appropriate level by the opening of a relay
' caused by a water sensing daughterboard. This triggers the micro to press the "OK" (on) key of the cellphone, then the "2" key
' (dials speed dial 2), then the "OK" key again to turn the phone off. Flashing LED signals status -
' one flash for no water, 3 flashes for water detected
' Circuit is flexible for other applications - can detect the closing of a circuit (water sensor) or the opening of a circuit (original smart trap switch, left open when using water sensor).
'.............................................................................
' I/O pins:
' 0 = serial out
' 1 = LED (high = LED on, low = LED off)
' 2 = "OK" (power) cellphone button (high = push button)
' 3 = water sensor relay input (high = set, low = tripped)
' 4 = "2" (also speed dial 2) cellphone button (high = push button)
'.............................................................................
initialise:
high 1 ' light LED a few seconds to show live
'set date OK on phone
high 2 'turn on phone
pause 2000
low 2
pause 5000 'wait for phone to initialise (might take longer in marginal reception areas - not sure)
low 1 'turn off LED
high 2 'short press OK for date. Phone asks for date & time if it's been without power (ie batteries changed). These steps accept no date input so the phone can be used to make a call. If the phone already has the date, ' pressing the OK button will simply bring up the last dialled number, when it's turned off again nothing else happens.
pause 200
low 2
pause 500
high 2 'turn off phone
pause 2000
low 2
pause 6000 'wait for phone to turn off
'.............................................................................
main:
if pin3 = 0 then call 'pin3 is the water sensor. It is high (1) when no water, low (0) when water detected
high 1 'flash LED once every ~2 seconds. Turn LED on...
pause 10 ' ...pause for 10 ms...
low 1 ' ...then turn LED off.
sleep 1 'sleep for 2.3 seconds (reduces power use)
goto main
'.............................................................................
call:
high 2 'turn on phone (date is definitely set now)
pause 2000
low 2
pause 5000 'wait for phone to initialise
high 4 'hold down "2" to speed dial the number associated with keypad 2. This number needs to be entered into the phone beforehand.
pause 2000
low 4
pause 10000 'wait for the call to go through & ring a few times.
high 2 'turn off phone (which also hangs up the call)
pause 2000
low 2
'.............................................................................
tripped: 'once water sensed, flash LED twice every ~2s and check for reset
high 1
pause 10
low 1
nap 3 'sleep for 144 ms
high 1
pause 10
low 1
sleep 1 'sleep for 2.3 seconds
if pin3 = 1 then initialise 'this checks if the sensor has been reset
goto tripped
'.............................................................................
Alcatel One Touch Max matrix keyboard layout
There are 9 connections which interconnect to make 18 buttons:
Button Left pad # Right pad # Left pad col Right pad col
NO (hang up) 1 2 red blue
˘ 3 4 purple green
YES (pick up, power) 2 5 blue orange
 (TXT) 3 6 purple grey
MENU 7 3 black purple
 (PH BK) 2 3 blue purple
1 7 8 black brown
2 6 5 grey orange
3 8 4 brown green
4 7 1 black red
5 1 6 red grey
6 1 4 red green
7 7 5 black orange
8 8 6 brown grey
9 5 4 orange green
* 7 9 black yellow
0 9 6 yellow grey
# 9 4 yellow green
connection # wire colour
1 red
2 blue
3 purple
4 green
5 orange
6 grey
7 black
8 brown
9 yellow
Suggested wiring in future:
It is best to put wires
in low-use buttons
so the high use buttons
are least affected
Also it's easiest if wires
are kept to the edges.
I'd suggest the following
connection # Keyboard button
1 4 or 6
2  (PH BK)
3  (PH BK)
4 #
5 7 or 9
6  (TXT)
7 *
8 3 or 1
9 #