In this instructable I've modified an inexpensive, optical smoke detector for output to an Arduino to use as an auto-dialer (that is, when the detector goes off, a GSM module or phone line can call out to a programmed number or 112 emergency services*). Since my PBX is in disrepair, I'll be using email instead. I will be using this in a future home security system project.
*Note: While most countries (US included) allow automated calls to emergency services from auto-dialers such as these, the rules for using such techniques may vary in local municipalities. Most countries also have laws which prevent custom telephone hardware to land-line systems. Check with local law before connecting a custom system.
Step 1: Smoke Detectors - Background
The one this instructable uses is optical. When smoke enters the optical chamber (1), particles scatter light from the LED (5) onto the photodiode (4). If a comparator determines the level of light at the photodiode is above a threshold, the alarm sounds. While optical detectors are generally more expensive to manufacture, their cost has decreased and they have become increasingly common in many homes. Most addressable detectors are photoelectric.
The second common type is Ionization detectors. These units use a sample of radiative Americium-241 with an ionization chamber to detect the presence of smoke. While these detectors are better for detecting a finer particulate smoke than optical detectors, they are more prone to false alarms.
Read more about detectors here: http://en.wikipedia.org/wiki/Smoke_detector
Step 2: Tools and Materials
- An optical smoke detector
- Small or medium gauge wire
for digital micro controller, loads of more that 100µA:
- 220Ω resistor.
- NPN transistor or MOSFET., relay with diode protection, etc.
and the following tools:
- Soldering iron and fine solder
- Pliers, wire cutters, snips
- Hot melt glue
Step 3: Disassembly
After the cover has been removed, the circuit board should likewise be removed from the plastic base. A few blobs of hot glue held the battery leads to the case, which were removed with pliers.
Step 4: Datasheet for the Control IC
The I/O pin for this particular chip is #7, and sure enough, the datasheet detailed an alarm signal input/output pin designed to connect external units, emergency lights, and auto-dialers. Perfect!
I found that all of the following chips have I/O on pin 7 (actually the exact same pinout!) so they should all work:
- MC146010/MC146012 series
The CS235 has an output latch on pin 3 (Vcc) which can source 100mA, but has no compensation for capacitance along long wires. If you use this chip you MUST use a transistor buffer, MOSFET, or signal level converter.
If your chip does not have a latch or I/O pin, you'll either need to try a different model detector or experiment with wiring the base of a transistor to the detector's piezo output.
Note that I/O is sometimes referred to as "interconnect" in some datasheets.
Unfortunately, most of the datasheets I've seen for ionizing detectors do not have an I/O line or similar feature, however, if the 2/3 duty cycle horn signal is selected, a simple R/C circuit or some clever programming should be able to smooth the output into a usable high/low signal.
Update: the A5350/A53560 series has I/O on pin 2. The datasheet claims that interconnect is possible with up to 125 units.
Step 5: Modification
I had to pop off the pezio to solder the wires, and simply bridged R16's gap with solder. Don't forget to add a wire for negative supply for common.
Step 6: Reassembly
And that's it! You now have a battery powered smoke sensor for your next home automation, science project, or DIY security system!