Practical Arduino

Weight: 700 g
$42.95
AUD

By The Australian Who Wrote The Book On Arduino, Jon Oxer.

Create your own Arduino-based designs, gain an in-depth knowledge of the architecture of Arduino, and learn the easy-to-use Arduino language all in the context of practical projects that you can build yourself at home. Get hands-on experience using a variety of projects and recipes for everything from home automation to test equipment.

Arduino has taken off as an incredibly popular building block among ubicomp (ubiquitous computing) enthusiasts, robotics hobbyists, and DIY home automation developers. Practical Arduino provides detailed instructions for building a wide range of both practical and fun Arduino-related projects covering areas such as hobbies, automotive, communications, home automation, and instrumentation.

Take Arduino beyond “blink” to a wide variety of projects from simple to challenging.

Hands-on recipes for everything from home automation to interfacing with your car engine management system.
Explanations of techniques and references to handy resources for ubiquitous computing projects.
Supplementary material includes a circuit schematic reference, introductions to a range of electronic engineering principles and general hits and tips. These combine with the projects themselves to make Practical Arduino: Cool Projects for Open Source Hardware an invaluable reference for Arduino users of all levels. You’ll learn a wide variety of techniques that can be applied to your own projects.

What you’ll learn

Reading analog and digital input and writing analog and digital output
Communication with serial devices including RFID readers, temperature sensors, and GPS modules
Connecting Arduino to Ethernet and WiFi networks
Interfacing with resistive touch screens
Adding synthesized speech to Arduino projects
Linking physical devices to software environments
Linking Arduino to web services
Decoding data streams from commercial wireless devices
Reading input from PS/2 keyboards and mice
Interfacing with common 16×2 and 20×4 LCD modules
The Arduino memory architecture
Mass storage using USB memory sticks
How to use both regular interrupts and pin-change (port-level) interrupts
How to make DIY prototyping shields for only a couple of dollars

Featured projects

Appliance Remote Control
Time-Lapse Camera Controller
Virtual USB Keyboard
PS/2 Keyboard Or Mouse Input
Security / Automation Sensors
Online Thermometer
Touch Control Panel
Speech Synthesizer
Water Flow Gauge
Oscilloscope / Logic Analyzer
Water Tank Depth Sensor
433mhz Weather Station Receiver
RFID Access Control System
Vehicle Telemetry Platform

Weather Station Receiver Project

The incredible popularity of home weather stations shows that it's not just farmers who are interested in the weather. Many people want to be able to track and record weather events within their local environment rather than relying on a state or national weather service that may not have adequate local details.

Home weather stations typically consist of two major parts: the sensors that sit outside and measure temperature, wind speed and direction, humidity, rainfall, and barometric pressure; and the display unit that lives inside in a convenient place so you can read the external temperature while sitting around the fire warming your feet and deciding whether it's too cold to go fishing. Generally the external sensors connect together with cables with one sensor also acting as a transmitter to send updates wirelessly to the display unit.

Many weather stations transmit their data at approximately 433MHz using a band reserved for low-power unlicensed use, which is ideal from a hacker's perspective because 433MHz receiver modules are commonly available for about US$10 and can be easily interfaced with an Arduino to let you eavesdrop on the data feed. In fact it's not just weather stations that use this approach: many short-range wireless devices work on the same 433Mhz band so the techniques used in this project can be just as easily applied to intercepting data from other devices such as domestic power consumption monitoring systems. Best of all there's no modification required to the original device because it just transmits its data as usual, not even aware that it's being received and interpreted by another device. This project is essentially an exercise in listening to an unknown wireless data feed and converting the raw stream of data into values that make sense.

Once you can receive the data and process it in your Arduino there are a wide range of things you can do with the information: you can simply display it as it updates, or you can log the readings and generate reports of trends over time, or you can even use it as the basis for making decisions such as sending rainfall data to an irrigation system to minimize water usage.

For this project we used a weather station from La Crosse, a popular brand that seems to be available in many parts of the world, but the same approach should work with other brands - as long as you can work out the data format!

Many weather stations (including the La Crosse model we used) come with a serial interface on the display unit to feed data to a PC, but by doing the work directly in an Arduino with a receiver module you don't even need the display unit at all and gain far more control over what you can do with the data. And since many weather station sensors are available individually you may find you can buy just the sensors you want and save some money compared to buying a complete system, while also gaining the flexibility of managing the data through an Arduino.

Weather Station Receiver Schematic

 View as JPG: weather-station-receiver-schematic.jpg

 View as PDF: weather-station-receiver-schematic.pdf

 View as SCH: weather-station-receiver-schematic.sch

Source Code

 WeatherStationReceiver sketch:github.com/practicalarduino/WeatherStationReceiver

Hardware Suppliers

 You can now buy a ready-built 433MHz Receiver Shield from Freetronics. The 433MHz Receiver Shield implements exactly the same circuit as documented in this project except that it uses an RXB6 receiver module for improved sensitivity to weak signals.

Errata

If you find an error in this project please let us know.

Gallery

Have you built this project or something inspired by it? Please let us know and we'll put a picture of it here!

Bullet Reader Kayne Richens from Melbourne/Australia built the hardware as described in the book and then with the assistance of Marc Alexander (one of our Tech Reviewers for the book and author of the original Weather Station Receiver software) modified the software to allow it to process data from a BIOS/Thermor DG950R weather station purchased from Jaycar.

Find out more in his blog post at kayno.net/2010/01/15/arduino-weather-station-receiver-shield/.

Bullet Kelsey Jordahl started with the basic circuit from the book and added a thermistor to log indoor temperature, and also modified the software to work with a La Crosse TX4U. However, he didn't stop there: he also feeds the data to a script that updates a static HTML web page showing the latest readings.

Learn more about his version at mysite.verizon.net/kajordahl/weather.html.

Comments

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Customers who bought this product also bought