I’ve played with the Intel Galileo a lot lately, so now it’s time to build some Intel Galileo projects!
In this project I built a very simple weather station that records the temperature and humidity and saves these to a memory card.
I’ll show you how to read temperature and humidity from a DHT11 sensor with the Intel Galileo. Then how to save these values to an SD-card.
If you’re new to the Intel Galileo, check out my guide on getting started with Intel Galileo projects.
What is a DHT11 Sensor?
The DHT11 is a cheap sensor for measuring temperature and humidity. It’s really easy to use with for example an Arduino. And since the Intel Galileo is in many ways similar to the Arduino, it’s also easy to use it for this project.
Step 1: Get the Sensor Up and Running
I started out using Adafruit’s DHT library to get the sensor up and running. I tested it using a standard Arduino UNO, just to see if the sensor worked. And it did.
But when compiling for Intel Galileo, I got a few errors because of some AVR-specific calls. I fixed those errors, but still no luck…
Then I found this article that explains why the sensor does not work with the standard library on a Galileo. Basically it is because of the strict timing requirements of the one-wire interface that the sensor uses.
Since the Intel Galileo board runs an operating system, it can take more time to switch a pin from input to output than on a microcontroller.
The workaround is to add a diode to split the one pin into two pins. This way the Galileo don’t have to switch one pin between being input and output. Like this:
- If you are using a 3-pin sensor like me, ignore the resistor.
- Different modules have different pin placements. On mine, the data pin is on the middle pin. On others, it’s on the left.