Hey everybody, I wrote this code to be able to lively configure a simple text only liquid crystal lcd board. This code is fully opensource and I just wanted to see what people could come up with using it! Enjoy!
/* ------------------------------------------------------------------------------- */
#include <LiquidCrystal.h>
// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int backLight = 13;
char backlightoff[] = "Backlight.off";
char backlighton[] = "Backlight.on";
char cursor00[] = "Cursor.set 0 0";
char cursor01[] = "Cursor.set 0 1";
char clearscreen[] = "Clear";
String serialInput;
String serialinfo;
boolean newdata = false;
void setup()
{
Serial.begin(9600);
Serial.println("Starting Serial Connection");
/*
Serial.println("This is a live configurable arduino program for a text screen");
Serial.println("You may type in certain commands to change the way that");
Serial.println("screen functions, such as backlight, cursor, size, and text");
Serial.println("Commands - Backlight.off / Backlight.on");
Serial.println("Set.cursor 0 0 / Set.cursor 0 1");
Serial.println("Anything else that you say will be printed on the screen");
Serial.println("Thank you for usuing Corban/Animcogn's text program");
Serial.println("Thanks to hacktronics for original/unmodified code");
*/
lcd.begin(16,2);
Serial.println("Starting up lcd");
lcd.clear();
Serial.println("Clearing off LCD");
pinMode(backLight, OUTPUT);
Serial.println("Setting backlight pin to an output");
digitalWrite(backLight, HIGH);
Serial.println("Turning backlight on");
lcd.print("Hello World!");
Serial.println("Default text on screen. Type something in to change it");
}
void loop()
{
serialinfo = Serial.readStringUntil('\n');
if(serialinfo != "") {;
serialInput = serialinfo;
Serial.println(serialInput);
if(serialInput == backlightoff) {;
digitalWrite(backLight, LOW);
Serial.println("Backlight now off");
serialinfo = "";
}
else if (serialInput == backlighton) {;
digitalWrite(backLight, HIGH);
Serial.println("Backlight now on");
serialinfo = "";
}
else if (serialInput == cursor00) {;
lcd.setCursor(0,0);
Serial.println("Cursor now at 0, 0");
serialinfo = "";
}
else if (serialInput == cursor01) {;
lcd.setCursor(0,1);
Serial.println("Cursor now at 0, 1");
serialinfo = "";
}
else if (serialInput == clearscreen) {;
lcd.clear();
Serial.println("Screen cleared");
serialinfo = "";
}
else {; -
lcd.print(serialInput);
Serial.println("New message printed to the screen");
Serial.flush();
serialinfo = "";
}
}
}
/* ------------------------------------------------------------------------------- /
This code is fully open source
/ ------------------------------------------------------------------------------- */