#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Initialize LCD I2C: address 0x27, 16 columns, 2 rows
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600); // Start serial communication
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the LCD backlight
lcd.setCursor(0, 0);
lcd.print("Enter expr:");
Serial.println("Enter two numbers to add (e.g., 1 + 1):");
}
void loop() {
if (Serial.available()) { // Check if input is available
lcd.clear(); // Clear the LCD
lcd.setCursor(0, 0);
// Read input from Serial Monitor
String input = Serial.readStringUntil('\n'); // Read input until newline
input.trim(); // Remove extra spaces
// Variables for the numbers
float num1 = 0, num2 = 0;
// Parse the input for addition only
if (sscanf(input.c_str(), "%f + %f", &num1, &num2) == 2) {
float result = num1 + num2; // Perform addition
// Display the result on the LCD
lcd.print("Result:");
lcd.setCursor(0, 1);
lcd.print(result);
Serial.println("Result: " + String(result));
} else {
// Invalid input message
lcd.print("Error: Invalid");
Serial.println("Error: Please enter in format 'num1 + num2'");
}
delay(3000); // Wait for 3 seconds
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter expr:");
}
}