Mailbox Monitor
The Mailbox Monitor detects the presence of "snail mail" within an old-fashioned mailbox. It is a project for the Arduino Development Environment, and consists of projects for the Arduino IDE and Processing IDE which detect and report the presence of mail placed between an IR emitter and detector.
Design of the Mailbox Monitor project was inspired by my experience as the owner of a personal mailbox at a The UPS Store during a transition period while moving from Hawaii to Washington, DC. It was possible to call The UPS Store to inquire about the availability of mail, but I liked the idea of an automated system that would email the mailbox owner when mail was available. My first thoughts were of a barcode based system, involving the scanning of barcodes on mailboxes as mail was inserted and syncing with a computer responsible for sending email notifications. But that seemed to involve too much user interaction. A fully automated system employing an IR emitter and detector for mail detection seemed much more reasonable.
The presence of objects placed between an IR emitter and detector is detected by a program running on an Arduino development board. The detection process is triggered by a requests received through the Serial device. The result of the detection process is reported through the Serial device.
This illustration, made with the Fritzing project documentation software, shows how the components are connected to the Arduino from a breadboard:
When laid out on a breadboard, the IR receiver LED (blue) and IR detector photo transistor (clear) are bent so that they point toward each other:
The IR emitter and detector pictured in the above photograph were purchased as a pair from RadioShack. The RadioShack part number for the pair is 276-0142.
A series one XBee is used for wireless serial communication. The XBee unit is connected to the Arduino board with the XBee Explorer Regulated from SparkFun Electronics.
A program written with the Processing programming language sends detection requests to the Arduino at a specified interval and receives the response data. Based on the response from the Arduino, a visual notification is displayed to indicate that mail is or is not present. An email notification can optionally be sent when mail is added to or removed from the mail box.
The Mailbox Monitor is designed to be placed in a mailbox to detect that mail is present and needs to be retrieved. An RF modem, such as an XBee, is intended to be used for wireless communication between the device placed in a mailbox and a computer.
Building Your Own Mailbox Monitor
Source code for the Arduino IDE and schematics for the Fritzing project documentation software to help you build your own Mailbox Monitor for Arduino are freely available, distributed under the terms of the open source MIT License. You can find all of the relevant files in my Arduino projects repository hosted by GitHub:
git://github.com/dgraves/ArduinoProjects.git