/* ** Example Arduino sketch for SainSmart I2C LCD1602 adapter ** PCF8574 for HD44780 LCD Display ** Application Note for PCF8574: http://www.ti.com/lit/ml/scyb031/scyb031.pdf ** --------------------------------------------------------------------------- ** I2C Address pins A0, A1 & A2 are all permenantly tied high ** so the address is fixed at 0x27 ** A2 A1 A0 ** ---------------------- ** 0 0 0 = 20HEX Alle porte er lagt til stel i strapningerne ** 0 0 1 = 21HEX ** 0 1 0 = 22HEX ** 0 1 1 = 23HEX ** 1 0 0 = 24HEX ** 1 0 1 = 25HEX ** 1 1 0 = 26HEX ** 1 1 1 = 27HEX -> Alle porte er HIGH - ingen af dem er lagt til stel ** ---------------------- ** ** NOTE: Test on Arduino UNO Ver 3 whose I2C pins are A4 == SDA, A5 == SCL/ ** ---------------------------------------------------------------------------- */ #include #define I2C_ADDR1 0x3F // Define I2C Address where the PCF8574A is 0x27HEX #define I2C_ADDR2 0x26 #define BACKLIGHT_PIN 3 // Vores display er uden BACKLIGHT #define BACKLIGHT_POL POSITIVE // #define En_pin 2 //Enable #define Rw_pin 1 //Read/Write #define Rs_pin 0 //Register Select #define D4_pin 4 //DisplayData 4 #define D5_pin 5 //DisplayData 5 #define D6_pin 6 //DisplayData 6 #define D7_pin 7 //DisplayData 7 int n = 1; LiquidCrystal_I2C lcd1 (I2C_ADDR1,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin, BACKLIGHT_PIN, BACKLIGHT_POL); LiquidCrystal_I2C lcd2 (I2C_ADDR2,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin, BACKLIGHT_PIN, BACKLIGHT_POL); void setup() { lcd1.begin (16,2); delay(100); lcd2.begin (16,2); delay(100); lcd1.home (); // go home lcd2.home ();lcd2.clear(); lcd1.setCursor ( 0, 0 ); // go to the FIRST line lcd1.print(" CODING PIRATES "); lcd2.setCursor ( 0, 0 ); // go to the FIRST line lcd2.print(" CODING PIRATES "); lcd1.setCursor ( 0, 1 ); // go to the SECOND line lcd1.print(" Malpartida lib."); delay(5000); lcd1.setCursor ( 0, 1 ); // go to the SECOND line lcd1.print(" Test & Demo "); delay(5000); lcd2.setCursor ( 0, 1 ); // go to the SECOND line lcd2.print("HEX: "); lcd1.setCursor ( 0, 1 ); // go to the SECOND line lcd1.print("Iteration No:"); lcd2.setCursor ( 0, 0 ); // go to the FIRST line lcd2.print(" "); lcd2.setCursor ( 0, 0 ); // go to the FIRST line lcd2.print("BIN: "); lcd2.backlight(); // 2-Backlight on } void loop() // Backlight on/off every 3 seconds { lcd2.setCursor ( 6, 0 ); lcd2.print(n,BIN); lcd2.setCursor ( 6, 1 ); // go col 6 of line 1 lcd2.print(n,HEX); lcd1.setCursor (13,1); // go col 13 of line 0 lcd1.print(n++,DEC); delay(500); // lcd2.noBacklight(); // 2-Backlight off // delay(10); lcd1.backlight(); // 1-Backlight on delay(500); // lcd2.backlight(); // 2-Backlight on delay(10); lcd1.noBacklight(); // 1-Backlight off //delay(500); }