#include <LiquidCrystal.h>
int rs = 7;
int en = 8;
int d4 = 9;
int d5 = 10;
int d6 = 11;
int d7 = 12;
float num1, num2, ans;
char op;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Enter num 1:");
while (Serial.available() == 0) {}
num1 = Serial.parseFloat();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Enter num 2:");
while (Serial.available() == 0) {}
num2 = Serial.parseFloat();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Op (+,-,*,/):");
while (Serial.available() == 0) {}
op = Serial.read();
lcd.clear();
switch (op) {
case '+':
ans = num1 + num2;
break;
case '-':
ans = num1 - num2;
break;
case '*':
ans = num1 * num2;
break;
case '/':
if (num2 != 0) {
ans = num1 / num2;
} else {
lcd.setCursor(0, 0);
lcd.print("Error: Div by 0");
delay(2000);
return;
}
break;
default:
lcd.setCursor(0, 0);
lcd.print("Invalid Op");
delay(2000);
return;
}
lcd.setCursor(0, 0);
lcd.print(num1);
lcd.print(op);
lcd.print(num2);
lcd.print("=");
lcd.print(ans);
delay(5000);
lcd.clear();
}
// void setup() {
// Serial.begin(9600);
// delay(500);
// }
// void loop() {
// if (Serial.available() > 0) {
// float num = Serial.parseFloat();
// Serial.print("You entered: ");
// Serial.println(num);
// }
// }