​/* * Programmer: R. Jordan Kreindler * Die Toss * July 7, 2021 */ #include LiquidCrystal_I2C lcd(0x27, 16, 2); // Set I2C address to 0x27 byte die1[] = { B11111, B10001, B10001, B10101, B10001, B10001, B11111, B00000 }; byte die2[] = { B11111, B10011, B10001, B10001, B10001, B11001, B11111, B00000 }; byte die3[] = { B11111, B10011, B10001, B10101, B10001, B11001, B11111, B00000 }; byte die4[] = { B11111, B11011, B10001, B10001, B10001, B11011, B11111, B00000 }; byte die5[] = { B11111, B11011, B10001, B10101, B10001, B11011, B11111, B00000 }; byte die6[] = { B11111, B11011, B10001, B11011, B10001, B11011, B11111, B00000 }; long pseudorandom; void setup() { lcd.init(); lcd.backlight(); lcd.createChar(1, die1); lcd.createChar(2, die2); lcd.createChar(3, die3); lcd.createChar(4, die4); lcd.createChar(5, die5); lcd.createChar(6, die6); randomSeed(analogRead(A1)); lcd.setCursor(0, 0); // Set cursor at position zero(0) on first line of 1602 LCD lcd.print("Die toss = "); // First line of LCD pseudorandom = random(6) + 1; // Select final/usable die number lcd.write(pseudorandom); // Write special character lcd.print(" "); // Print a space between die face and its value lcd.print(pseudorandom); // Print the value of the die lcd.setCursor(0,1); // Set cursor at position zero(0) on second line of 1602 LCD lcd.print(" Die toss done"); // To indicate simulated die toss done. } void loop() { }