Introduction: Simple LCD Touchscreen for Arduino
This is a guide showing an easy way to set up an LCD touchscreen interface with arduino, or other similar microcontrollers.
It's also shameless self-promotion of my kickstarter... which focuses on making it super easy to program a nice GUI.
This example is a basic stepper driver control system.
Step 1: Step 1: Parts
For this you need, an LCD screen supported by the software package, currently this is RA8875 based screens but will be expanding to a wider range in future.
A microcontroller, be sure to ensure the voltages match, 5V micros like the Uno will also need a level shifter to run 3.3V screen.
A few bits of wire.
Whatever else you fancy hooking up to the microcontroller.
Step 2: Step 2: Hardware Hookup
This step is nice and simple. Just connect the power, SPI interface, and touch interrupt pins.
Also add any other hardware your project requires.
Step 3: Step 3: Design the GUI
This is the main bit. It's a drag and drop style interface to put a variety of different widgets/buttons onto the GUI. It also supports multiple windows/tabs so in this example I made main screen, which monitors speed and position, and another screen where you set what the stepper should be doing; with a third for LED control.
The G2 program also has places to insert microcontroller code to be executed on screen events, like pressing a button for example.
A much more comprehensive explanation of the features is over on the kickstarter page
Step 4: Step 4: Upload the Program
The code is generated into an arduino sketch directory; which automatically loads it when the sketch is opened.
A few lines are required to integrate it, a few includes and global vars, a setup function, and a execution function. So it's just like including a library, except the files are project specific and have to be in the sketch directory.
Upload as per normal.
Step 5: Step 5: You're Done!
Pretty simple eh!
I came up with this code generator concept when I had to program up a screen without one. It was quite difficult to do in a neat manner, and quite repetitive and time consuming to setup, even the common libraries out there. As a comparison, that project I did took over 20 hours to get the interface setup we wanted, this one took around ten minutes.
Making modifications is also a breeze, make them in the G2 program just regenerate the code and overwrite those files in your sketch, reload and re-upload it.