LCD Custom Character
Custom character coding for a LCD without using potentiometer
Components and supplies
1
Arduino UNO
1
Jumper wires (generic)
1
Alphanumeric LCD, 16 x 2
1
PHPoC Bread Board
Apps and platforms
1
Arduino IDE
Project description
Code
CIRCUIT CODE
arduino
1// CIRCUIT DIAGRAM 2 //VSS:GND 3 //VDD:5V 4 //VO:PIN 6 5 //RS:PIN 12 6 //RW:GND 7 //E:PIN 11 8 //D4:PIN 5 9 //D5:PIN 4 10 //D6:PIN 3 11 //D7:PIN 2 12 //A:5V 13 //K:GND 14 #include <LiquidCrystal.h> 15 int Contrast=100; 16 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 17 byte c1[8]={0b01110,0b01010,0b01010,0b11111,0b11111,0b11111,0b11111,0b11111};//LOCK 18 byte c2[8]={0b00000,0b01110,0b10101,0b11011,0b01110,0b01110,0b00000,0b00000};//SKULL CLOSE 19 byte c3[8]={0b00000,0b01110,0b10101,0b11011,0b01110,0b00000,0b01110,0b00000};//SKULL OPEN 20 void setup() { 21 analogWrite(6,Contrast); 22 lcd.begin(16, 2); 23 lcd.clear(); 24 } 25void loop() { 26 lcd.setCursor(0 ,0); 27 lcd.print("CUSTOM CHARACTER"); 28 29 lcd.createChar(0 , c1); 30 lcd.setCursor(3 ,1); 31 lcd.print(char(0)); 32 33 lcd.setCursor(12 ,1); 34 lcd.print(char(0)); 35 delay(2000); 36 lcd.clear(); 37 38 lcd.createChar(1 , c2); 39 lcd.setCursor(4 ,1); 40 lcd.print(char(1)); 41 delay(100); 42 lcd.clear(); 43 44 lcd.createChar(2 , c3); 45 lcd.setCursor(5 ,1); 46 lcd.print(char(2)); 47 delay(200); 48 lcd.clear(); 49 50lcd.createChar(1 , c2); 51 lcd.setCursor(6 ,1); 52 lcd.print(char(1)); 53 delay(300); 54 lcd.clear(); 55 56 lcd.createChar(2 , c3); 57 lcd.setCursor(7 ,1); 58 lcd.print(char(2)); 59 delay(400); 60 lcd.clear(); 61 62lcd.createChar(1 , c2); 63 lcd.setCursor(8 ,1); 64 lcd.print(char(1)); 65 delay(500); 66 lcd.clear(); 67 68 lcd.createChar(2 , c3); 69 lcd.setCursor(9 ,1); 70 lcd.print(char(2)); 71 delay(600); 72 lcd.clear(); 73 74lcd.createChar(1 , c2); 75 lcd.setCursor(10 ,1); 76 lcd.print(char(1)); 77 delay(700); 78 lcd.clear(); 79 80 lcd.createChar(2 , c3); 81 lcd.setCursor(11 ,1); 82 lcd.print(char(2)); 83 delay(800); 84 lcd.clear(); 85 86 87 }
CIRCUIT CODE
arduino
1// CIRCUIT DIAGRAM 2 //VSS:GND 3 //VDD:5V 4 //VO:PIN 6 5 //RS:PIN 12 6 //RW:GND 7 //E:PIN 11 8 //D4:PIN 5 9 //D5:PIN 4 10 //D6:PIN 3 11 //D7:PIN 2 12 //A:5V 13 //K:GND 14 #include <LiquidCrystal.h> 15 int Contrast=100; 16 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 17 byte c1[8]={0b01110,0b01010,0b01010,0b11111,0b11111,0b11111,0b11111,0b11111};//LOCK 18 byte c2[8]={0b00000,0b01110,0b10101,0b11011,0b01110,0b01110,0b00000,0b00000};//SKULL CLOSE 19 byte c3[8]={0b00000,0b01110,0b10101,0b11011,0b01110,0b00000,0b01110,0b00000};//SKULL OPEN 20 void setup() { 21 analogWrite(6,Contrast); 22 lcd.begin(16, 2); 23 lcd.clear(); 24 } 25void loop() { 26 lcd.setCursor(0 ,0); 27 lcd.print("CUSTOM CHARACTER"); 28 29 lcd.createChar(0 , c1); 30 lcd.setCursor(3 ,1); 31 lcd.print(char(0)); 32 33 lcd.setCursor(12 ,1); 34 lcd.print(char(0)); 35 delay(2000); 36 lcd.clear(); 37 38 lcd.createChar(1 , c2); 39 lcd.setCursor(4 ,1); 40 lcd.print(char(1)); 41 delay(100); 42 lcd.clear(); 43 44 lcd.createChar(2 , c3); 45 lcd.setCursor(5 ,1); 46 lcd.print(char(2)); 47 delay(200); 48 lcd.clear(); 49 50lcd.createChar(1 , c2); 51 lcd.setCursor(6 ,1); 52 lcd.print(char(1)); 53 delay(300); 54 lcd.clear(); 55 56 lcd.createChar(2 , c3); 57 lcd.setCursor(7 ,1); 58 lcd.print(char(2)); 59 delay(400); 60 lcd.clear(); 61 62lcd.createChar(1 , c2); 63 lcd.setCursor(8 ,1); 64 lcd.print(char(1)); 65 delay(500); 66 lcd.clear(); 67 68 lcd.createChar(2 , c3); 69 lcd.setCursor(9 ,1); 70 lcd.print(char(2)); 71 delay(600); 72 lcd.clear(); 73 74lcd.createChar(1 , c2); 75 lcd.setCursor(10 ,1); 76 lcd.print(char(1)); 77 delay(700); 78 lcd.clear(); 79 80 lcd.createChar(2 , c3); 81 lcd.setCursor(11 ,1); 82 lcd.print(char(2)); 83 delay(800); 84 lcd.clear(); 85 86 87 }
Downloadable files
RESULT
RESULT
CIRCUIT FRAMEWORK
CIRCUIT FRAMEWORK

RESULT
RESULT
Comments
Only logged in users can leave comments