[vc_row][vc_column][vc_column_text]![]()
Introduction
The serial UART 16×2 LCD allows you to control a parallel based LCD over a single-wire serial interface. The serial LCD takes care of all the HD44780 commands allowing seamless integration with any micro that can communicate over a wide range of TTL serial baud rates. The
Communication with Serial 16×2 LCD requires 5V TTL serial at a default baud rate of 9600bps (8-N-1). You can adjust the baud to any standard rate between 2400 and 38400bps. The power, ground and RX pins are all broken out to a 4-pin 2.54mm pitch header.
Serial 16×2 LCD has the ability to dim the backlight to conserve power if needed. There is also a potentiometer on the backpack to adjust the contrast.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_tour][vc_tab title=”Parts list” tab_id=”1394075283-1-63″][vc_column_text]one arduino uno
one Serial UART 16 × 2 LCD
Several DuPont wires[/vc_column_text][/vc_tab][vc_tab title=”Wiring diagram” tab_id=”1394075283-2-40″][vc_column_text]Serial UART 16×2 LCD GND -> Arduino GND
Serial UART 16×2 LCD 5V -> Arduino +5V
Serial UART 16×2 LCD Rx -> Arduino D3[/vc_column_text][/vc_tab][vc_tab title=”Test code” tab_id=”1394075522324-2-1″][vc_column_text]
#include <SoftwareSerial.h>
#define txPin 2
SoftwareSerial LCD = SoftwareSerial(0, txPin);
// since the LCD does not send data back to the Arduino, we should only define the txPin
const int LCDdelay=10; // conservative, 2 actually works
// wbp: goto with row & column
void lcdPosition(int row, int col) {
LCD.write(0xFE); //command flag
LCD.write((col + row*64 + 128)); //position
delay(LCDdelay);
}
void clearLCD(){
LCD.write(0xFE); //command flag
LCD.write(0x01); //clear command.
delay(LCDdelay);
}
void backlightOn() { //turns on the backlight
LCD.write(0x7C); //command flag for backlight stuff
LCD.write(157); //light level.
delay(LCDdelay);
}
void backlightOff(){ //turns off the backlight
LCD.write(0x7C); //command flag for backlight stuff
LCD.write(128); //light level for off.
delay(LCDdelay);
}
void serCommand(){ //a general function to call the command flag for issuing all other commands
LCD.write(0xFE);
}
void setup()
{
pinMode(txPin, OUTPUT);
LCD.begin(9600);
backlightOn() ;
clearLCD();
lcdPosition(0,0);
LCD.print("Hello world from LinkSprite!");
}
void loop()
{
}
[/vc_column_text][/vc_tab][vc_tab title=”The results” tab_id=”1394075523500-3-9″][vc_column_text][/vc_column_text][vc_column_text]![]()
Serial UART 16×2 LCD display successfully:Hello World from LinkSprite.[/vc_column_text][/vc_tab][/vc_tour][/vc_column][/vc_row]

Leave a Reply
You must be logged in to post a comment.