Topics

Three Displays...


K9HZ <bill@...>
 

Tim….

 

Attached are pictures of 1) the original uBITx 1602 display with parallel connection, 2) W0EB’s I2C code and an identical 1602 display attached via an I2C converter, and 3) KD8CEC’s v1.07 I2C code “switched on” for the I2C display…again with the same 1602 display via an I2C converter.  They all work fine with just the two changes to Ian’s code I sent earlier.

 

Now there is one thing we have not been talking about… those two little pull-up resistors to 5V on the I2C converter MUST go… otherwise the signals from the I2C converter can over-range/possibly damage the Arduino.  Mine were 47K SMD pull-ups that by tiny wire snips took care of.

 

 

 

 

Dr. William J. Schmidt - K9HZ J68HZ 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ

 

Owner - Operator

Big Signal Ranch – K9ZC

Staunton, Illinois

 

Owner – Operator

Villa Grand Piton – J68HZ

Soufriere, St. Lucia W.I.

Rent it: www.VillaGrandPiton.com

Like us on Facebook! facebook icon

 

Moderator – North American QRO Group at Groups.IO.

 

email:  bill@...

 

 


Virus-free. www.avg.com


Jerry Gaffke
 

Here's an old post about finding those 5v i2c pullups on the LCD backpack boards:
     https://groups.io/g/BITX20/message/39966
  
That post also discusses how to determine the i2c address through visual inspection,
though using a scanner such as this is probably the best bet.
    https://playground.arduino.cc/Main/I2cScanner

That device address must be different than any other device on your i2c bus.
So when manufactured for different environments, they can come configured for different addresses.
You might even have multiple LCD displays on one i2c bus, each display configured for a different address.

They normally give the address as a hex number, but it's sometimes decimal.

More insidious, it could be a 7 bit address, or it could be 8 bits including a Write-Enable bit in the LSB.
So an address given as 0x27 could be the described by someone else as 0x4F.
That's  010-0111=0x27   vs  0100-1111=0x4F
where the 0x4F includes a R/W bit of 1 in the LSB indicating that they intend to read what somebody else
might call the 0x27 register.  So i2c addresses can get very confusing.

Jerry, KE7ER



On Sun, Apr 8, 2018 at 01:10 pm, K9HZ wrote:

Now there is one thing we have not been talking about… those two little pull-up resistors to 5V on the I2C converter MUST go… otherwise the signals from the I2C converter can over-range/possibly damage the Arduino.  Mine were 47K SMD pull-ups that by tiny wire snips took care of.


Tim Gorman
 

If it was the pullup resistors I wouldn't expect the w0eb software to
work while the cec software wouldn't.

Since the top row is being activated by the cec software I have to
believe there is something not being initialized correctly to work with
my lcd. Something that the w0eb software is doing correctly.

I'm not good enough at code to immediately determine what the
difference might be.

I haven't had a chance most of the day to work on this. Btwn doing
income tax and spending time with wifey there hasn't been much time
left!

John used a different set of initialization arguments in his software.
I might try those and see if they work.

tim ab0wr

"Jerry Gaffke via Groups.Io" <jgaffke=yahoo.com@groups.io> wrote:

Here's an old post about finding those 5v i2c pullups on the LCD
backpack boards: https://groups.io/g/BITX20/message/39966
  
That post also discusses how to determine the i2c address through
visual inspection, though using a scanner such as this is probably
the best bet. https://playground.arduino.cc/Main/I2cScanner

That device address must be different than any other device on your
i2c bus. So when manufactured for different environments, they can
come configured for different addresses. You might even have multiple
LCD displays on one i2c bus, each display configured for a different
address.

They normally give the address as a hex number, but it's sometimes
decimal.

More insidious, it could be a 7 bit address, or it could be 8 bits
including a Write-Enable bit in the LSB. So an address given as 0x27
could be the described by someone else as 0x4F. That's
010-0111=0x27   vs  0100-1111=0x4F where the 0x4F includes a R/W bit
of 1 in the LSB indicating that they intend to read what somebody
else might call the 0x27 register.  So i2c addresses can get very
confusing.

Jerry, KE7ER

On Sun, Apr 8, 2018 at 01:10 pm, K9HZ wrote:


Now there is one thing we have not been talking about… those two
little pull-up resistors to 5V on the I2C converter MUST go…
otherwise the signals from the I2C converter can
over-range/possibly damage the Arduino. Mine were 47K SMD pull-ups
that by tiny wire snips took care of.