But I think soldering is a little ott for me to simply 'Test' and learn here...And the croc clips would be too close for my liking. I assumed the LCD I'd receive would possibly plug into a breadboard, or maybe I'd be able to use female ended jumper wires on the pins but they are too loose.
So...My LCD seems to have 4 pins on the back and from what I've briefly read, I should be able to use those instead. But I don't know where to start...Will the examples in the IDE work etc? I've learnt a little of the programming (I'm used to PHP which helps a bit) but now it looks like I'll have to learn new stuff to use the 4 pins?
Any help appreciated on where to get started with this LCD. In very simple terms if possible.
I also recommend the tutorial mentioned in the previous post. It looks like your device is similar to the one in 'version 3'.
See if you can read the part number on the IC on your board. Specifically you want to determine if there is an 'A' directly after the numerical part.
The plain 8574 will have an address between 0x20 and 0x27 while the 8574A will have an address between 0x38 and 0x3F. Note that the three jumpers A0, A1, and A2 are 'open' in your case and are 'shorted' in the tutorial photo. These are what determine the actual address. I suspect that your device will be either 0x27 or 0x3F depending on the chip.
Also, these boards already have pull-up resistors on the SDA and SCL lines so you don't have to be concerned about that aspect.
I don't really understand what this 'Address' bit is? A quick guess is some sort of mapping of the original 16 pins to just the two from the LCD? Am I on the right lines with that?
I added the library from the link (Think I did it correctly) and now have two 'Liquid crystal display' choices when I view examples in the IDE.
I tried the third code from the link but had to do this bit and it seems to work.
NOTE: Some of this type board come with the A0 A1 A2 connections (See photo) that are NOT bridged with solder as in the photo. Those will have address 0x27 not address 0x20. For that version you need to change the sketch example below.
LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
MUST BE CHANGED TO:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
For info I also had to change the code to represent a 16x2 display and I have the Analog pins 4 and 5 being used.
So now that it seems to be working, can I simply still use any example codes I come across? And still call all the pins on the board (Uno)?
I don't really understand what this 'Address' bit is? A quick guess is some sort of mapping of the original 16 pins to just the two from the LCD? Am I on the right lines with that?
Not exactly. By using the small adapter board you are configuring your display to receive information from the Arduino by means of the I2C protocol. You have no choice of which Arduino pins to use, you must use the ones designated by the microprocessor manufacturer which, on your UNO, turn out to be pins A4 and A5.
This protocol allows many devices to be connected at the same time via the same two pins. Information is directed to the appropriate device by means of an address and therefore each device that you connect must have a unique address. In your case the address is 0x27 but if you bought a second display you could change one or more of the jumpers to implement another of the eight available addresses.
I added the library from the link (Think I did it correctly) and now have two 'Liquid crystal display' choices when I view examples in the IDE.
I think you were supposed to replace the original library with this new one.
So now that it seems to be working, can I simply still use any example codes I come across? And still call all the pins on the board (Uno)?
You will have to use the example program in the tutorial as a guide to adapting any example codes you come across. Essentially you have to use the constructor ( LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); ) and begin statement ( lcd.begin(16,2); ) from the example that you got to work along with the remaining lcd commands from code that you are borrowing.