Uno R3 I2C voltage varies

Recently I bought a I2C backpack (sainsmart) for a 20x4 LCD. I've been having trouble getting it to work and have spent this evening troubleshooting, downloading the new libraries from f malpartida. Just a minute ago I decided to check my voltages on my I2C pins. I am getting 2.6V on my SCL and A5 pin, and 4.6V on my SDA and A4 pin. Uno R3. I tested the I2C pins next to my AREF pin as well and got the same result. Is my board toast? Is this not the reason that I can't get my I2C LCD to work? I'm only about 4 months in with arduinos and this is my original board. Did I just wear it out? (I had an analog input button pad on A5 for the last few months) Can I fix it?

Thanks very much for helping me out.
Ben

I don't think the raw voltage proves much. It is a digital signal, so if it looks low on the meter, you are just getting more 0s than 1s.

Just to test I ran a small sketch that output I2C data continually, and measured 1.7V on A4 (SDA) and 4.7V on A5 (SCL).

I think you need to show your sketch, provide a link to the board, and show your wiring. Also, do you have pull-up resistors installed?

So here's a sketch that I have tried to run. Every sketch I try, I get power to my LED and I am able to change the contrast using the pot.

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x3F // Define I2C Address where the PCF8574A is
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

//int n = 1;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
{
Wire.begin();
lcd.begin (20,4,LCD_5x8DOTS);

lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); //init the backlight
//lcd.setBacklight(LOW);
}

void loop()
{
demoDisplay();
demoDisplay2();

lcd.setBacklight(LOW); // Backlight off
lcd.home (); // go home
lcd.print("ABCDEFGHIJKLMNOPQRST");
lcd.setCursor ( 0, 1 ); // go to the next line
lcd.print("UVWXYZ 0123456789 ");
lcd.setCursor ( 0, 2 ); // go to the next line
lcd.print("abcdefghijklmnopqrst");
lcd.setCursor ( 0, 3 ); // go to the next line
lcd.print("uvwxyz <>!?@#$%&*() ");
lcd.setBacklight(HIGH); // Backlight on
//lcd.on(); // Switch fully on the LCD (backlight and LCD)
delay(3000);

//lcd.setCursor (2,3); // go col 2 of line 3
//lcd.print(n++,BIN); // print the value of n
}

Which led me to believe that I had the wrong i2c address so I ran the i2c scanner that is on the site.

// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
Serial.begin (9600);
Serial.println ();
Serial.println ("I2C scanner. Scanning ...");
byte count = 0;

Wire.begin();
for (byte i = 1; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Found address: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println ("Done.");
Serial.print ("Found ");
Serial.print (count, DEC);
Serial.println (" device(s).");
} // end of setup

void loop() {}

These quotations take some getting used to. When I ran the I2C scanner, the board appeared to freeze. The sketch never completed and I never got past "Scanning..." on the serial display. I do not have pull up resistors installed. I assumed(probably wrongly) that they were internal on the I2C backpack.

So I'm now in the process of bread boarding some pull up resistors. I will be back to report my results. Feeling slightly dumb at the moment.

Nope. The lack of pull up resistors not the problem. 4.7K resistors used on SCL and SDA lines to 5V.

If the scanner doesn't show any addresses you won't get very far.

Can you post a link to the device please, and preferably a photo of your setup.

20x4 I2C LCD

I'll have to jump on mobile to post a picture quick.

All the wires are the same colour, and we can't see where they go off-camera. So that picture doesn't prove much.

The LED on the back doesn't seem to be lit, compared to the photo on the Amazon link, which is.

Yea, I appologize. I had it set up in my control enclosure when you asked for the pic so I just ripped it out quick. And at that time the unit was powered down. The red LED imprinted on the backpack does come on with the LED background blue light though. It is there for power in and not the LCD information. I believe it is wired correctly because when I measure voltage at the SCL pin on the backpack I am still reading 2.6-2.8V.

The voltage doesn't prove anything. You might have swapped SDA and SCL.

I should check it again. I'm calling it a day to resume again tomorrow. I appreciate your help and responsiveness tonight Nick.