|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501 |
- #include <LiquidCrystalFast.h>
-
-
-
-
- uint8_t nRows = 4;
- uint8_t nColumns =16;
- uint8_t rw = 255;
- LiquidCrystalFast lcd(49,47,45, 35,33,31,29);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- byte BACKLIGHT, BACKLTGND, POWER5V, GNDMain;
-
- void setup(void) {
-
-
- BACKLIGHT = 27;
- BACKLTGND = 25;
- POWER5V = 53;
- GNDMain = 255;
-
- if ((nColumns == 40) && (nRows ==4)) {
- BACKLIGHT = 255;
- BACKLTGND = 255;
- POWER5V = 51;
- GNDMain = 50;
- }
- if ((nRows ==2) && (nColumns ==24) ) {
- BACKLIGHT = 255;
- BACKLTGND = 255;
- POWER5V = 53;
- GNDMain = 52;
- }
-
- pinMode(POWER5V, OUTPUT);
- digitalWrite(POWER5V, HIGH);
- if (BACKLIGHT != 255) {
- pinMode(BACKLIGHT, OUTPUT);
- digitalWrite(BACKLIGHT, HIGH);
- pinMode(BACKLTGND, OUTPUT);
- digitalWrite(BACKLTGND,LOW);
- }
- if (GNDMain != 255) {
- pinMode (GNDMain, OUTPUT);
- digitalWrite(GNDMain, LOW);
-
- }
- if (rw != 255) {
- pinMode(rw,OUTPUT);
- digitalWrite(rw,LOW);
- }
- pinMode(13,OUTPUT);
- randomSeed(analogRead(0));
-
- lcd.begin(nColumns,nRows);
-
- }
-
- void loop(void) {
- lcd.clear();
- lcd.setCursor((nColumns>>1)-2,0);
- lcd.print( (int)nColumns);
- lcd.print(",");
- lcd.print( (int)nRows);
- delay(1000);
-
-
- lcd.setCursor(0,0);
- lcd.print('1');
- lcd.setCursor(nColumns-1,nRows-1);
- lcd.print('4');
- lcd.setCursor(nColumns-1,0);
- lcd.print('2');
- lcd.setCursor(0,nRows-1);
- lcd.print('3');
- lcd.setCursor((nColumns>>1)-3,0);
-
- delay(1000);
- lcd.setCursor((nColumns>>1)-3,0);
- lcd.print(" scroll ");
- uint8_t rand=random(150);
- lcd.setCursor((nColumns>>1)-3,1);
- lcd.print((int)rand);
- int i = 0;
- while (i < rand) {
- lcd.scrollDisplayLeft();
- i++;
- delay(100);
- }
-
- delay(1000);
-
- lcd.setCursor(0,0);
- lcd.print('a');
- lcd.setCursor(nColumns-1,nRows-1);
- lcd.print('d');
- lcd.setCursor(nColumns-1,0);
- lcd.print('b');
- lcd.setCursor(0,nRows-1);
- lcd.print('c');
- lcd.setCursor((nColumns>>1)-3,0);
- lcd.print("corners ");
- delay(1000);
-
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print('1');
- lcd.setCursor(nColumns-1,nRows-1);
- lcd.print('4');
- lcd.setCursor(nColumns-1,0);
- lcd.print('3');
- lcd.setCursor(0,nRows-1);
- lcd.print('2');
- lcd.setCursor((nColumns>>1)-3,0);
- lcd.print("corners");
- delay(1000);
- lcd.setCursor((nColumns>>1)-3,1);
- lcd.print(" scroll ");
- rand = random(150);
- lcd.setCursor((nColumns>>1)-3,2);
- lcd.print((int) rand);
- i = 0;
- while (i < rand) {
- lcd.scrollDisplayRight();
- i++;
- delay(100);
- }
-
- delay(1000);
-
-
- lcd.setCursor(nColumns-1,nRows-1);
- lcd.print('d');
- lcd.setCursor(nColumns-1,0);
- lcd.print('b');
- lcd.setCursor(0,nRows-1);
- lcd.print('c');
- lcd.setCursor(0,0);
- lcd.print('a');
- lcd.setCursor((nColumns>>1)-3,0);
- lcd.print("corners ");
- delay(1000);
-
-
- lcd.clear();
- lcd.setCursor (0,0);
- lcd.print("Cursor off");
- lcd.noCursor();
- delay(1000);
-
- lcd.setCursor (0,0);
- lcd.print("Cursor on ");
- lcd.cursor();
- delay(1000);
- lcd.setCursor (0,nRows-1);
- lcd.print("Cursor off");
- lcd.noCursor();
- delay(1000);
-
- lcd.setCursor (0,nRows-1);
- lcd.print("Cursor on ");
- lcd.cursor();
- delay(1000);
-
- lcd.clear();
- i = 0;
- while (i < nRows) {
- lcd.setCursor(nColumns-8,i);
- lcd.print("ROW ");
- lcd.print(i+1);
- i++;
- }
- delay(1000);
-
- lcd.clear();
- lcd.setCursor(0,0);
- i = 0;
- while (i < nRows) {
- lcd.print("Println:# ");
- lcd.println(i+1);
- i++;
- }
- delay(1000);
-
-
- lcd.clear();
- lcd.setCursor(nColumns-4,0);
- lcd.print("LINEWRAP01234567890");
- delay(200);
- if (nRows>=2) {
- lcd.setCursor(nColumns-4,1);
- lcd.print("linewrap01234567890");
- delay(1000);
-
- if (nRows >=4) {
- lcd.setCursor(nColumns-4,3);
- lcd.print("linewrap01234567890");
- delay(200);
- }
- }
- delay(1000);
- i = 0;
- while (i < 11) {
- lcd.scrollDisplayLeft();
- i++;
- delay(100);
- }
-
- delay(1000);
- lcd.home();
- int length = nRows * nColumns;
- lcd.setCursor(0,0);
- char text[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- text[length] = '\0';
-
- lcd.print(text);
- delay(2000);
- uint8_t a =0;
- if ((nColumns == 8) && (nRows == 2) ) a=1;
-
-
- lcd.clear();
- lcd.rightToLeft();
- lcd.setCursor(nColumns-1,a);
- lcd.print (text);
- delay(3000);
- lcd.leftToRight();
-
- long startTime=millis();
- uint8_t repetitions = 20;
- char blanks[]=" ";
- blanks[length] = '\0';
- while (repetitions--) {
- lcd.setCursor(0,0);
- lcd.print(text);
- lcd.setCursor(0,0);
- lcd.print(blanks);
- }
- long endTime = millis();
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("Benchmark took ");
- lcd.setCursor(0,1);
- lcd.print(endTime - startTime);
- lcd.print(" millisecs.");
- delay(5000);
-
-
-
-
- lcd.home();
- char thisLetter = 'a';
-
- for (int thisRow = 0; thisRow < nRows; thisRow++) {
-
- for (int thisCol = 0; thisCol < nColumns; thisCol++) {
-
- lcd.setCursor(thisCol,thisRow);
-
- lcd.print(thisLetter);
- thisLetter++;
- if (thisLetter > 'z') thisLetter = 'a';
- delay(100);
- }
- }
-
-
-
- lcd.clear();
-
- lcd.setCursor(0, 0);
-
- lcd.print("Autoscroll");
- for (char thisChar = '1'; thisChar < '9'; thisChar++) {
- lcd.print(thisChar);
- delay(100);
- }
-
-
- lcd.setCursor(0,1);
- lcd.print("Autoscroll");
-
- lcd.autoscroll();
-
-
-
- for (int thisChar = 0; thisChar < 10; thisChar++) {
- lcd.print(thisChar);
- delay(100);
- }
-
- lcd.noAutoscroll();
- if (nRows>2) {
-
-
-
- lcd.setCursor(0, nRows-2);
-
- lcd.print("Autoscroll");
- for (char thisChar = '1'; thisChar < '9'; thisChar++) {
- lcd.print(thisChar);
- delay(100);
- }
-
-
- lcd.setCursor(0,nRows-1);
- lcd.print("Autoscroll");
-
- lcd.autoscroll();
-
-
-
- for (int thisChar = 0; thisChar < 10; thisChar++) {
- lcd.print(thisChar);
- delay(200);
- }
-
- lcd.noAutoscroll();
- }
-
- lcd.clear();
- lcd.setCursor(0,nRows-1);
- lcd.print("Blinking Cursor");
- lcd.blink();
- delay(1000);
-
- lcd.noBlink();
- delay(1000);
- lcd.setCursor(0,0);
- lcd.print("Blinking Cursor");
- lcd.blink();
- delay(1000);
-
- lcd.noBlink();
- delay(1000);
-
-
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print("turn display off");
- delay(1000);
-
- lcd.noDisplay();
- delay(2000);
- lcd.setCursor(0,0);
- lcd.print("Turn Display ON ");
-
- lcd.display();
- delay(1000);
-
- lcd.clear();
- lcd.home();
- lcd.setCursor(0,0);
- lcd.print(" Shift under program control ");
-
- for (int positionCounter = 0; positionCounter < 27; positionCounter++) {
-
- lcd.scrollDisplayLeft();
-
- delay(100);
- }
-
-
- for (int positionCounter = 0; positionCounter < 27; positionCounter++) {
-
- lcd.scrollDisplayRight();
-
- delay(100);
- }
- delay(1500);
-
- lcd.clear();
- lcd.setCursor(0,0);
- char thisChar ='a';
- for (int i = 0;i!=30; i++) {
-
- if (thisChar == 'm') {
-
- lcd.rightToLeft();
- }
-
- if (thisChar == 's') {
-
- lcd.leftToRight();
- }
-
- if (thisChar > 'z') {
-
- lcd.home();
-
- thisChar = 'a';
- }
-
- lcd.print(thisChar);
-
- delay(200);
-
- thisChar++;
- }
- lcd.clear();
-
-
- uint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
- uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
- uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
- uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
- uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
- uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
- uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
- uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4};
-
-
- lcd.createChar(0, bell);
- lcd.createChar(1, note);
- lcd.createChar(2, clock);
- lcd.createChar(3, heart);
- lcd.createChar(4, duck);
- lcd.createChar(5, check);
- lcd.createChar(6, cross);
- lcd.createChar(7, retarrow);
- lcd.home();
-
- i = 0;
- lcd.clear();
- while (i<nRows) {
- lcd.setCursor(0,i);
- lcd.print("user:");
- for (int j=0; j<7; j++) {
- lcd.write(j);
- }
-
- i++;
- }
- delay(2000);
-
-
- }
-
|