#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int analogInPin1 = A0; int analogInPin2 = A1; int sensorValue1 = 0; int outputValue1 = 0; int outputValue2 = 0; int sensorValue2 = 0; int inputPin_a = 6; int inputPin_b = 7; int inputPin_c = 8; int inputPin_go = 9; int outputPin1 = 18; int outputPin2 = 17; int outputPin3 = 16; int outputPin4 = 15; int s = 0; int s1 = 100; float a = 0; float b = 0; float c = 0; float x= 0; float x1 = 0; float x2 = 0; float d = 0; void setup() {lcd.begin(16, 2); Serial.begin(9600); pinMode(outputPin1, OUTPUT); pinMode(outputPin2, OUTPUT); pinMode(outputPin3, OUTPUT); pinMode(outputPin4, OUTPUT); pinMode(inputPin_a, INPUT); pinMode(inputPin_b, INPUT); pinMode(inputPin_c, INPUT); pinMode(inputPin_go, INPUT);} void loop() {delay(100); lcd.clear(); lcd.print("ax2+bx+c=0"); sensorValue1 = analogRead(analogInPin1); outputValue1 = map(sensorValue1, 0, 1021, 0, 100); if (outputValue1 > 1){ if (outputValue1 > 11){ if (outputValue1 > 21){ if (outputValue1 > 27){ if (outputValue1 > 33){ if (outputValue1 > 38){ if (outputValue1 > 41){ if (outputValue1 > 45){ if (outputValue1 > 47){ if (outputValue1 >= 52){ if (outputValue1 > 54){ if (outputValue1 > 56){ if (outputValue1 > 59){s1 =100;} else{s1 =3;}} else{s1 =6;}} else{s1 =9;}} else{s1 =10;}} else{s1 =2;}} else{s1 =5;}} else{s1 =8;}} else{s1 =0;}} else{s1 =1;}} else{s1 =4;}} else{s1 =7;}} else{s1 =-1;}} if (s1 == 1){s = s*10+1;delay(500);} if (s1 == 2){s = s*10+2;delay(500);} if (s1 == 3){s = s*10+3;delay(500);} if (s1 == 4){s = s*10+4;delay(500);} if (s1 == 5){s = s*10+5;delay(500);} if (s1 == 6){s = s*10+6;delay(500);} if (s1 == 7){s = s*10+7;delay(500);} if (s1 == 8){s = s*10+8;delay(500);} if (s1 == 9){s = s*10+9;delay(500);} if (s1 == 0){s = s*10+0;delay(500);} if (s1 == -1){s = s*-1;delay(500);} if (s1 == 10){s = 0;delay(500);} //Serial.println(outputValue1); //Serial.println(s); //Serial.println(s1); lcd.setCursor(0, 1); lcd.print(s); if (digitalRead(inputPin_a) == LOW){a = s; digitalWrite(outputPin1, HIGH);} if (digitalRead(inputPin_b) == LOW){b = s; digitalWrite(outputPin2, HIGH);} if (digitalRead(inputPin_c) == LOW){c = s; digitalWrite(outputPin3, HIGH);} //Serial.println(a); //Serial.println(b); //Serial.println(c); //Serial.println(s); if (digitalRead(inputPin_go) == LOW){ delay(100); digitalWrite(outputPin4, HIGH); delay(300); if (a == 0){if (b == 0){if (c == 0){lcd.setCursor(0, 1); lcd.print("indefinite ");} else{lcd.setCursor(0, 1); lcd.print("impossible ");}} else{x =-c/b; lcd.setCursor(0, 1); lcd.print("X="); lcd.print(x);}} else {d = b*b-4*a*c; if (d < 0){lcd.setCursor(0, 1); lcd.print("impossible");} if (d == 0){x1 =-b/(2*a); lcd.setCursor(0, 1); lcd.print("X="); lcd.print(x1);} if (d > 0){x1 =(-b+sqrt(d))/(2*a); x2 =(-b-sqrt(d))/(2*a); lcd.setCursor(0, 1); lcd.print("X1="); lcd.print(x1); lcd.print(" X2="); lcd.print(x2);}}delay(1000000000);}}