#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the I2C addresses for the two displays
#define I2C_ADDR1 0x27
#define I2C_ADDR2 0x26
#define I2C_ADDR3 0x25
// Set the number of columns and rows for the LCD
#define LCD_COLUMNS 16
#define LCD_ROWS 2
// Create instances of the LiquidCrystal_I2C class
LiquidCrystal_I2C lcd1(I2C_ADDR1, LCD_COLUMNS, LCD_ROWS);
LiquidCrystal_I2C lcd2(I2C_ADDR2, LCD_COLUMNS, LCD_ROWS);
LiquidCrystal_I2C lcd3(I2C_ADDR3, LCD_COLUMNS, LCD_ROWS);
void setup() {
// Initialize the LCDs
lcd1.begin(LCD_COLUMNS, LCD_ROWS);
lcd2.begin(LCD_COLUMNS, LCD_ROWS);
lcd3.begin(LCD_COLUMNS, LCD_ROWS);
// Set up any initial configurations if needed
lcd1.backlight(); // Turn on the backlight for the first display
lcd2.backlight(); // Turn off the backlight for the second display
lcd3.backlight(); // Turn off the backlight for the second display
// Print initial messages
lcd1.print("Hello, Display 1!");
lcd2.print("Hello, Display 2!");
lcd3.print("Hello, Display 3!");
// Set the cursor to the beginning of the second line for both displays
lcd1.setCursor(0, 1);
lcd2.setCursor(0, 1);
lcd3.setCursor(1, 1);
}
void loop() {
// You can update the content on the displays in the loop if needed
// For example, scrolling text on Display 1
lcd1.scrollDisplayLeft();
// For example, blinking text on Display 2
lcd2.noDisplay();
delay(250);
lcd2.display();
delay(250);
lcd3.scrollDisplayRight();
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
lcd2:GND
lcd2:VCC
lcd2:SDA
lcd2:SCL
lcd3:GND
lcd3:VCC
lcd3:SDA
lcd3:SCL