Had trouble with making your LinkIt ONE run with newer distributions of Arduino IDE? Installed old IDE and made it work? Good. But have you ever tried using any HD44870 compatible LCD on LinkIt ONE? No matter what you did, not even example codes worked? Worry not for after you read this instructable you will understand why this problem occurs and more importantly: how to fix it.
Step 1: The Solution
The problem occurs only if you are programming LinkIt ONE through older versions of Arduino IDE - versions 1.56 and 1.57. Those two distributions come with broken libraries for controlling LCDs. The easiest way to fix that is to follow just a few simple steps:
- download LiquidCrystal.h and LiquidCrystal.cpp (attached to the end of this 'ible)
- navigate to your Arduino IDE install dyrectory
- go to libraries/LiquidCrystal/src
- copy the two files and override existing ones
There should be no visual difference between state before and after switching files but when you now upload the code, it will actually work.
Check next step if you want to know how to use the LiquidCrystal library for your projects. If you already know how to do it, thanks for reading and stay tuned for my next 'ible.
Step 2: WIering and Programming LCD - Hello World
One thing that is very important is to connect pins correctly. If you fail to do so, nothing will work but likely LinkIt ONE has a short circuit protection so you won't burn it if you connect + and - (but please don't do it).
If you bought a shiny new LCD, you won't have trouble with finding pinout but if you went the ghetto way like I did, you will have to experiment. If your LCD has 14 pins, this means it isn't backlidt. To find "start" of pins you will have to locate the - pin. Most components have - connected to case so if you manage to identify to which pin LCD's case is connected, you know which pin is pin1. If you can't identify it visually, try using ohmmeter. From there on just connect pins as seen in diagram above.
Now really thank you for reading this 'ible and stay tuned for next one!