#include #include // Define custom characters for running poses byte runningChar1[8] = { B01100, B01100, B00000, B01110, B11100, B01100, B11010, B10011 }; byte runningChar2[8] = { B01100, B01100, B00000, B01100, B01100, B01100, B01100, B01110 }; // Set up the LCD LiquidCrystal_I2C lcd(0x27, 16, 2); // Change the address (0x27) if necessary int characterPosition = 0; // Initial position of the character void setup() { // Initialize the LCD lcd.init(); lcd.backlight(); } void loop() { // Display running character 1 lcd.clear(); displayCharacter(runningChar1); delay(200); // Adjust speed here // Display running character 2 lcd.clear(); displayCharacter(runningChar2); delay(200); // Adjust speed here } // Function to display the character at the current position void displayCharacter(byte character[]) { lcd.createChar(1, character); lcd.setCursor(characterPosition, 1); lcd.write(byte(1)); characterPosition = (characterPosition + 1) % 16; // Wrap around if it reaches the end of the LCD }