October 02, 2023, 04:46:49 PM

Shield-LCD not working?

Started by jimmy@alenius.nu, April 14, 2020, 12:09:48 AM

Previous topic - Next topic

jimmy@alenius.nu

I have followed the instructions and everything seems to be correct installed. I can export the examples to the Arduino Uno card without errors. But I can't see any activity on the display when trying all the examples. Is the shield broken?

LubOlimex

Each shield is tested empirically after production, the chances of broken shield are very slim, it is probably something else, most probably the wiring to the UNO.

The shield requires both 5V and 3.3V. Usually such problem come from missing 5V powering.

Also make sure both the I2C and the UART are connected when testing. The I2C pins are A4(SDA) and A5(SCL), UART are - D0(RXD) and D1(TXD). Both are available at the UEXT connector too.

Did you load the demo via the board manager as described in this document: https://www.olimex.com/Products/Duino/_resources/Arduino_instructions.pdf ?
Technical support and documentation manager at Olimex

jimmy@alenius.nu

Ah! I didn't know that both 3,3 and 5 had to be connected. I just used the 5V. The software part is described well in the readme file. But I couldn't find anything about the hardware part.

I try the 3,3 AND 5 tips and get back to you!

jimmy@alenius.nu

Okej, now it's working! But I can't seem to get the UART working. You connect D1 and D0 on the Shield to TX(D1) and RX(D0) on the Arduino Uno?

LubOlimex

UART is cross - RX of one device to TX of the other; TX of one device to RX of the other!
Technical support and documentation manager at Olimex

rotfah

Quote from: LubOlimex on April 14, 2020, 09:58:26 AMAlso make sure both the I2C and the UART are connected when testing. The I2C pins are A4(SDA) and A5(SCL), UART are - D0(RXD) and D1(TXD). Both are available at the UEXT connector too.

Hello LubOlimex, I hade problems because I did not have the UART connected. It works when UART is connected. Why do I need to have UART connected even if I use i2c? Is there a workaround allowing me to skip this? E.g. pull ups?

LubOlimex

Which examples did you test? Does the behavior remains with all of the examples from our package? Can you test with these and report back:

https://www.olimex.com/Products/Duino/Shields/SHIELD-LCD16x2/resources/OLIMEXINO-328-LCD16x2.zip
Technical support and documentation manager at Olimex

rotfah

I have only tested the Buttons_And_LCD.ino example so far. Will be a while before I have the opportunity to test the other ones. Do you expect it to work without plugging in UART?

LubOlimex

I spent some more time with this, maybe try adding a pull up on the D0 (RXD) line. 10k Ohm to 3.3V.

I think there is issue in the firmware, but we will need some time to verify and test the source code is available at the web-page if you look into user.c it says:

   TRISCbits.TRISC6 = 1;      // RX
   TRISCbits.TRISC7 = 1;      // TX

This sets both RX and TX as input which is incorrect, since TX should be output (e.g. = 0) and might lead to that sort of trouble.
Technical support and documentation manager at Olimex