16×2 LCD with I2C configuration

16×2 LCD with I2C configuration

Here’s the LCD I’ve started with for my data display.

I got it on ebay for a couple dollars.

After working on the 12-wire configuration for a while, and never figuring out how to shield the noise that was goofing up the letters, I found an example with the I2C configuration.

Life. Saver.

Check out this write-up/walk-through for finding your device’s address and correctly initializing the LCD.  This post saved hours, possibly days, of my life.



Here’s the I2c scanner that you’ll need.


Follow and Like Us:

While troubleshooting my LCD problem, I found this super guide to finding and correcting soldering problems.  You’ll see picture examples for each and every problem, causes, and solutions.  Can’t get much better than this!

Check out Adafruit’s Guide to Excellent Soldering here.


Follow and Like Us:

Long-Range Blink

Now that I’ve completely built my arduino garden controller, I need to get it in place. That involves extending all of the sensors and the display away from the controller, and mounting them in boxes.

In an effort to make this unit modular, I’ve decided to use Cat5e cable to connect the display/sensor box to the main controller. To this end, today I’m practicing with punch-down Cat5 jacks. See?

Follow and Like Us:

Simple arduino sketch to test DS18B20 waterproof sensor

Simple arduino sketch to test DS18B20 waterproof sensor

I purchased 5 DS18b20 waterproof sensors on Amazon.  The first one I hooked up I couldn’t get a reading from.  I spent hours trying different libraries, sample sketches, etc.

Finally I decided to try a different sensor and it worked the first try.  Turns out four of the five sensors I bought were bad.

So, if you need to diagnose a bad sensor, here’s the simplest sketch you can use.  I found it here.

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 7

// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

void setup(void)
// start serial port
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library

void loop(void)
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures

Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
// You can have more than one IC on the same bus.
// 0 refers to the first IC on the wire



Follow and Like Us:

3.2 TFT LCD Displays Live Garden Data

My LCD finally arrived! (It takes a long time to get things from China.)

Soon I’ll have a dashboard completed that will constantly display sensor readings right at the garden!

TFT LCD 3.2 display for arduino garden

Follow and Like Us: