This is a project I've been working on for a while, and still have ways to go, but I have enough success right now that I can I share what I've got. This covers connecting a Beaglebone and an Arduino via TTL serial and I2C, using a parallel LCD with an Arduino, using a DHT-22 with Arduino, and using DS18B20 1-wire sensors with a BeagleBone in the next week or so.
I believe that all the instructions here will apply more or less as-is to a RaspberryPI or pcDuino or any other little computer that supports TTL serial and i2c, and 1-wire for the DS18B20. As I get some ArchReactor
(the local hackerspace) members to try this on their devices, I'll update here confirming what devices work and add any relevant information.
My end-goal is to use several temperature, humidity, and other sensors spread through my house, including outside, and control my heat and AC and whole house fan in order to optimize and balance comfort and energy use. The details of how that will work are yet to be nailed down, and I'm going to start with monitoring so I can see what kind of data I have to work with.
This instructable will explain how to get started with using an Arduino and Beaglebone and a couple sensors and a display.
Stuff you'll need:
- TFT LCD
- lots of jumper wires!
I've had a BeagleBone for a while, but a Black should work the same. For the Arduino you can prototype with an Uno or other standard arduino compatible, but I'm using a breadboard arduino, and I'll eventually make a PCB for it, so that I can integrate it into as small a case as possible. For the LCD, I've chosen an 2.8" TFT with touch screen
. There are certainly easier to use LCDs out there, but this one is only $18, and I have enough IO's to make this run in 8-bit mode. I'm starting with the DHT-22 temp and humidity sensor, and I'll be adding DS18B20 temp sensors soon.
I've made a SparkFun wishlist
for the breadboard Arduino parts and the sensors.
Another goal of mine was to be able to update the Arduino's program from the BeagleBone's TTL serial. I've detailed that in this instructable
, and the serial parts here will be based on that. After I got the LCD working I realized that it requires use of D0 and D1 (the serial port) and so to communicate with the Beaglebone I had to use something different. I decided to learn something new and use I2C.