LCD Display, Temp tracking, and LED indicators

Hello Everyone,

I have been playing with Adruino for about 6 months now and been having some fun. I have two specific projects in mind and I am starting to work on the first one.

Some history: Last winter I had the unfortunate experience of having my main water line in my hose freeze on me, I have about 100 linear feet of main water line before the first valve so finding it was a pain. I thought of coming up with a sketch that will take in three temp readings from three different temp sensors, use RGB LEDs as a quick visual indicator, and an LCD display to have the temp readouts for me. Second part of this is to create an app on my computer to do temp tracking and SMS message alerts when temperature reach too low.


The part that I am kind of running into is that the Arduino Uno only has so many DI/O and AI/O pins. Can I only use each pin once? Or do I have to make sure that I manage race conditions? The display shield looks like it takes up several pins on its own, so I am worried about not having enough pins to talk to the temp sensors and the RGB LEDs as well as the display. I do plan on using shift registers for the temp sensors and the RGB LEDs.

Any help would be great!!

Thanks,
~Dan

A Uno should not have any problems as far as pins are concerned. I think a Mega is ultimately better suited for this sort of stuff, but I understand you already have a Uno and there is no need to replace it until the need is evident. The DS18B20 is an obvious choice as a temperature sensor and uses one-wire technology. Hence you can have a swag of sensors on one pin. LCD displays using the I2C bus are commonplace. These use two pins and can share them with other devices. That leaves quite a few pins left over for LEDs.

Arduino can handle the SMS stuff directly - probably better than the PC. There are enough PC programmes already that can handle data feed from Arduino, like Excel, and there is no pressing need to re-invent the wheel.

I agree with Nick, a Mega would be better for that, since it has more ports, memory, and RAM. I'm actually working on a similar project myself, and minus the LCD and SMS messaging have it all coded. The DS18B20 works really well, they come 5 for $13 or something like that on amazon. Make sure to get the kind like this: http://www.amazon.com/Vktech-DS18b20-Waterproof-Temperature-Transmitter/dp/B00CHEZ250

It uses a protocol called Onewire, so multiple sensors can run off the same digital port. To use more than 2 sensors on the line, you'll have to put a 5k resistor in between the Onewire "bus" as it is called, and your Vin or +5V line.

If you'd like any sample code to tinker with, I could help with that. Also, if you want a somewhat cheaper alternative to the Mega (and don't mind soldering on your own headers), I'd recomend a teensy. They have the same capabilities RAM and Storage wise for the cost of an Uno (prjc.com).

Good Luck!
Luke