There are several methods to have an Arduino dial a phone number, including using a GSM mobile network shield or mucking about with DTMF encoder ICs and related circuitry. The reason for doing this would generally be as an alert service for an alarm or other type of monitoring system. However there's usually a cost involved or the project may seem too complex for some. With this in mind, Instructables user "tzywen" has used a simple (and original method) for dialling numbers using an Arduino - by generating decadic pulses... just like the old rotary phones would do. They've used a relay which is easily controlled by an Arduino digital output to create the required number of pulses to trigger the telephone exchange and make a call, for example:
Sometimes it pays to revisit old technology to get the job done! Note that adding your own equipment to a public telephone network may be illegal in some areas, so take care. Otherwise visit the project page for more information. And for more, we're on twitter and Google+, so follow us for news and product updates as well.
If you're looking to control relays and other higher-current devices - it's much easier to use dedicated relay control boards. Here at Freetronics we have the RELAY4: board, perfect for controlling up to four relays with Arduino (or any other microcontroller's) digital output pins:
Or if you'd like to control up to eight relays - or more at once with an Arduino Uno or compatible board - consider our RELAY8: board. Controlled via I2C, you can stack up to eight shields with the appropriate power supply to support 64 relays at once: