Arduino has emerged as a prominent technology for providing individuals with an accessible introduction to micro-controller development. The general principle behind micro-controllers is accepting inputs, typically from sensor devices, and translating them into specific outputs, to relays, displays or actuators.
A great beginner project for learning these basic principles can be found in a motion sensor device. A simple input from a passive infrared (PIR) sensor provides the signal that motion has been detected, and the Arduino can then translate that input into a simple action such as a buzzer or LED. The following projects outline how to use the Arduino as a motion sensing device, and run the full range of technical complexity. Check out one of these projects for a great introduction to Arduino development.
One of the simplest introductory Arduino projects is this basic motion sensing device outlined above. The project uses an Arduino Uno, and outlines how to use two popular PIR motion sensors to provide the input. Two simple snippets of code illustrate how to interpret the slightly different inputs from each sensor type, and use it to flash the on-board LED. This is about as simple as Arduino projects get, and will provide a great introduction to the fundamentals of working with Arduino: wiring input devices, locating pins, and set up and simple coding in the Arduino development environment.
Moving up the complexity scale, we have a motion sensor that uses Arduino to send out an SMS alert when movement is detected. The project builds upon the principles of the previous project, using a PIR sensor to provide the input. The project then uses Python, and Python libraries requests and pyserial to generate requests upon detection from the sensor. The code for the project uses the TelAPI web service to translate these requests into SMS alerts. While the code above uses TelAPI, other telephony services such as Twilio could be used as an alternative. The finished product is a motion sensor that will send SMS alerts every 30 minutes whenever motion is detected.
This project builds even further on the principles of the first two. In this case, instead of using software to send SMS alerts upon the detection of motion, this project uses the Arduino to respond to sensor input by triggering a relay. The solid state relay can use the small control signal generated by the Arduino to manage the large voltage required to power a house light. The result of this is lighting that will respond to a person entering a room. A manual control switch can be added to the project to override the motion sensor and provide full control of the lighting.
The final project included here involves a fully wireless motion sensor solution, allowing for a portable motion sensing device. The project begins with a simple LED/Buzzer based tutorial that is similar to the projects featured above, but then builds upon it with the addition of the popular XBee module which allows the Arduino to communicate with a computer wirelessly. The project also adds a full LCD display to include sensor status and alerts. This is a great example of a beginner project for Arduino that takes the basic principles of the Arduino form factor, and builds upon it with two useful, commonly used technologies, wireless communications and LCD displays. Though probably the most complex project out of the set outlined here, this motion sensor is still fairly approachable in the overall spectrum of Arduino projects.