Arduino: Nokia LCD & Sensors
PROBLEM: Making my Arduino, a Temperature-Relative Humidity sensor and a Nokia3310LCD screen work together.
Now, I’m a Lazy Old Geek, so what I wanted was an Arduino kit that would take shields. This Freeduino was the cheapest that I could find at the time.
Since I was at Seeedstudio, I also ordered an HSM-20G Temp-RH sensor as it was on closeout and I needed something to try out my Arduino with. Seeedstudio no longer carries these and they’re hard to find. But here’s one site that sells the HSM-20G.
My dog, Marcus and I walk every day, so I decided I needed a portable Arduino to display Temp-RH on our walks. My display choice was the Nokia3310LCD shield. Plus it has a cool, little joystick on it.
So here’s the problems and processes I went through to make it all work.
USB Freeduino kit $22
HSM-20G Temp-RH $9 (Closeout)
Prices US dollars August 2010
Step 1: Connecting the HSM-20G
Here’s the suggested interface circuitry for the HSM-20G. See picture.
Problem 1: The Nokia3310 shield fits on the Freeduino but I didn’t want to connect the HSM-20G to the shield. There’s only three components in the interface but I didn’t have a protoshield or any prototype area on the Nokia3310LCD shield, so I decided to build the interface onto the HSM-20G PCB. This is reasonable as it will always be needed whenever I used the HSM-20G. So I soldered the 10K to the T output and to a ground on the top side of the PCB. See picture.
Caution: This method is not recommended for the inexperienced.
A ground pin can be found by following the Ground (-) on the connector and tracing it on the PCB. The best way to verify that it is ground is to set your DMM to ohms and measure between the (-) pin of the connector and the pin you suspect is ground. It should be shorted (less than an ohm).
Problem 2: Well, I didn’t have a 47uFd capacitor, but I scrounged a 22uFd capacitor from some scrapped printer PCBs. I can tell from the documentation, that all the capacitor does is smooth out the Relative Humidity voltage, so 22uFd should work just fine. So I solder the capacitor to the 100K resistor, then soldered the resistor lead to the H pin on the connector making sure the positive side of the electrolytic capacitor is on this side. Then solder the other side of the resistor to the 10K resistor lead that is soldered to ground. See picture.
Make sure all of the leads aren’t touching other components and there are no solder bridges.
Problem 3: There was no mating connector for the HSM-20G module or a part number. I emailed Seeeduino requesting the brand and part number and of course got no response. But I scrounged through my junk pile and found a connector that worked.
Problem 4: How do I connect it to the Arduino? The preferred way would be to get one of those stackable protoshields and connect the HSM-20G to it. You could also put the interface circuitry on the protoshield. But I didn’t have one.
NOT RECOMMENDED: So I soldered the connector directly to my Freeduino. The (+) goes to a 5V connection. The (-) goes to a ground. The ‘H’ connects to Analog 1 and the ‘T’ to Analog 2.
Caution: When connecting two different sensors or shields, you have to be careful about not overlapping Analog and Digital pins. I started an Excel spreadsheet that has all of my shields and the pins they use. The Nokia3310 shield uses Analog 0 for the joystick so Analog 1 and 2 are available for the HSM-20G.
Here is the site where I found the sample HSM-20G sketch. This person really seems to know what he’s talking about. I verified the formulas with the HSM-20G data sheet. They are very accurate. There are other sensor interfaces on this page, also.
So I was able to run this sample HSM-20G sketch and display temperature and humidity on the PC monitor.