Ah yes… the wonderful and oft-misunderstood world of microcontroller interrupts. Are you looking to build a project that relies on very precise timing or needs to react quickly to an input? Then don’t change that channel, my friend. In this tutorial we’ll cover what interrupts are, what they do, and how to use them.
Oleg has written up a project detailing how to get your Arduino talking to an inexpensive USB cell modem (~$25 from DealExtreme, among other retailers). It’s based on a BenQ M23 GSM/GPRS wireless module and uses a standard AT command set.
This is the cheapest we’ve seen for a plug-and-play cellular solution, so it’s definitely a good resource. His site walks you through the setup process and provides example code plus a complete library, so if you’re looking to do something similar, check it out.
Have a power hungry Arduino and looking for a dead simple solution? Fear not, hardware hacker. The community has come to your aid. There are several libraries available that abstract all of the gritty AVR commands needed to make your Arduino drowsy.
The Arduino is sleeping... the cat joined it.
The SIMCom SIM900 GSM module isn’t very well documented (in English, at least), but it is dirt cheap. If you fancy putting cellular communications in your Arduino project, there are a few intrepid pioneers that have paved the way.
Seeedstudio sells a GSM/GPRS shield utilizing the SIM900, and have a well-developed wiki page with getting started tips, a walkthrough, and plenty of sample code.
If you’re looking for more of a drop-in solution, Open Electronics has a library to talk to a similar shield with the same SIM900 module. It’s unclear if that particular shield is still for sale, but the library should be adaptable to Seeedstudio’s version or others without too much work.
Sleep and power saving modes are popular topics in the various AVR and Arduino communities. How do I put my device to sleep? How can I wake it up? How can I control what does or doesn’t get turned off? It took me a while to round up answers to all of these questions during my own hacking journey, so this post is an attempt to compile the basics in one place.
What do I need to know before putting my precious Arduino to sleep?
Putting your Arduino to sleep is not as drastic as, say, doing the same to the family pet, but there are a few things you should be aware of before you start.
If you’re looking to make your Arduino talk with the outside world, you have lots of options. A cellular modem can give you the most flexibility in terms of where and how you can send messages or transfer data. Cell modems can be finicky and difficult to work with, but some are easier than others.
Although the Telit GM-862 has been superseded by other modules in Telit’s GSM lineup, it’s still relatively easy to find, easy to work with, and inexpensive. Alexander Weber’s description of how to connect a GM-862 to the Arduino’s serial bus and his sample library code are largely applicable to many cell modems. Most units still utilize some form the ancient Hayes AT command set, so the commands used in Alexander’s project can be adapted elsewhere with little modification.
Although it’s been around for a few years now, the Kill-a-Watt and other “outlet” power monitors have gotten a lot of press for their ability to highlight the power use of many household devices that are otherwise black boxes. However, measuring your power usage 1 appliance at a time is difficult and time consuming. Even if your energy provider isn’t thinking about smart metering yet, why not analyze the energy consumed by your whole house over time?