// Test for LCD board with t6234 driver chip // version 1.1 #include // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int sid = 8, clk = 9; //clk needs to be a PWM capable pin associate with the timer used LiquidCrystal lcd(sid, clk); int l; int rows = 2; // 20x1 display, addressed as 2 lines of 10 characters int cols = 10; byte smiley[8] = { B00000, B00000, B10001, B00000, B00000, B10001, B01110, B00000, }; byte one[8] = { B00000, B00000, B00000, B00100, B00000, B00000, B00000, B00000, }; byte two[8] = { B00000, B00000, B01110, B01110, B01110, B00000, B00000, B00000, }; byte three[8] = { B00000, B11111, B11111, B11111, B11111, B11111, B00000, B00000, }; byte four[8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111, }; byte five[8] = { B11111, B11111, B11111, B11011, B11111, B11111, B11111, B11111, }; byte six[8] = { B11111, B11111, B10001, B10001, B10001, B11111, B11111, B11111, }; byte seven[8] = { B11111, B10001, B10001, B10001, B10001, B10001, B11111, B11111, }; void setup() { l = 0; lcd.begin(rows, cols); // set up the LCD's number of columns and rows: lcd.begin(rows, cols); delay(2); lcd.clear(); delay(2); // Print a message to the LCD. lcd.print("LCD Test2"); delay(2000); //for (int i=0; i<10000; i++) {}; lcd.clear(); delay(2); lcd.print("r="); lcd.print(rows); lcd.print(",c="); lcd.print(cols); delay(2000); lcd.clear(); lcd.createChar(0, smiley); lcd.createChar(1, one); lcd.createChar(2, two); lcd.createChar(3, three); lcd.createChar(4, four); lcd.createChar(5, five); lcd.createChar(6, six); lcd.createChar(7, seven); /* for (int i = 0; i < 25600; i++) { for (int j = 0; j < 256; j++) { lcd.setCursor(0,0); lcd.print(j); lcd.setCursor(0,1); lcd.write(j); delay(300); } } */ /* lcd.setCursor(0,0); for (int k = 0; k < rows; k++) { lcd.setCursor(0,k); for (int j = 0; j < cols; j++) { lcd.write(255); } } delay(2000); */ } void loop() { /* lcd.clear(); //set the display to automatically scroll: //lcd.autoscroll(); //lcd.leftToRight(); // lcd.rightToLeft(); //move the display one segment to the right for (int i = 33; i < 129; i++) { lcd.scrollDisplayRight(); lcd.write( i ); delay(500); } */ lcd.setLeds(LED2); delay(1000); lcd.setLeds(LED3); delay(1000); lcd.setLeds(LED4); delay(1000); lcd.setLeds(LED6); delay(1000); lcd.setLeds(LED2 | LED3 | LED4 | LED6); delay(1000); for (int k = 0; k < rows; k++) { for (int j = 0; j < cols; j++) { for (int i = 1; i < 5; i++) { lcd.setCursor(j, k); lcd.write( i ); delay(50); } lcd.setCursor(j, k); lcd.write(32); delay(0); lcd.setCursor(j, k); lcd.write(l); l++; // if (l == 128) l = 161; if (l > 255) { l = 0; break; } } if (k==1) delay(2000); if (k>1) delay(10000); lcd.setCursor(1, 1); } //lcd.clear(); delay(100); }