Bonjour j'ai commence a faire ma calculatrice elle fonctionne mais je n'arrive pas a faire les nombres décimaux merci
voici le code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
float chiffre1=0;
float chiffre2=0;
float resultat=0;
int operation;
int etape=1;
int etatetape=0;
boolean etatbouton0=0;
boolean etatbouton1=0;
boolean etatbouton2=0;
boolean etatbouton3=0;
boolean etatbouton4=0;
boolean etatbouton5=0;
boolean etatbouton6=0;
boolean etatbouton7=0;
boolean etatbouton8=0;
boolean etatbouton9=0;
boolean etatboutonmode=0;
int bouton0=A0;
int bouton1=A1;
int bouton2=A2;
int bouton3=A3;
int bouton4=A4;
int bouton5=A5;
int bouton6=6;
int bouton7=7;
int bouton8=8;
int bouton9=9;
int boutonmode=10;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
pinMode(bouton0,INPUT);
pinMode(bouton1,INPUT);
pinMode(bouton2,INPUT);
pinMode(bouton3,INPUT);
pinMode(bouton4,INPUT);
pinMode(bouton5,INPUT);
pinMode(bouton6,INPUT);
pinMode(bouton7,INPUT);
pinMode(bouton8,INPUT);
pinMode(bouton9,INPUT);
pinMode(boutonmode,INPUT);
lcd.setCursor(0,0);
lcd.print("calculatrice");
lcd.setCursor(0,1);
lcd.print("remy mode");
delay(5000);
}
void loop() {
if(chiffre1>=100000000){
chiffre1=0;
lcd.clear();
}
if(chiffre2>=100000000){
chiffre2=0;
lcd.clear();
}
if(etape!=etatetape){
etatetape=etape;
lcd.clear();
}
switch (operation){
case 1:
resultat=chiffre1+chiffre2;
lcd.setCursor(1,0);
lcd.print("+");
break;
case 2:
resultat=chiffre1-chiffre2;
lcd.setCursor(1,0);
lcd.print("-");
break;
case 3:
resultat=chiffre1*chiffre2;
lcd.setCursor(1,0);
lcd.print("*");
break;
case 4:
resultat=chiffre1/chiffre2;
lcd.setCursor(1,0);
lcd.print("/");
break;
}
switch (etape){
case 1:
if(digitalRead(boutonmode)!=etatboutonmode){
etatboutonmode=digitalRead(boutonmode);
if(digitalRead(boutonmode)==1){
etape=2;
}
}
if(digitalRead(bouton0)!=etatbouton0){
etatbouton0=digitalRead(bouton0);
if(digitalRead(bouton0)==1){
chiffre1=chiffre1*10+0;
}
}
if(digitalRead(bouton1)!=etatbouton1){
etatbouton1=digitalRead(bouton1);
if(digitalRead(bouton1)==1){
chiffre1=chiffre1*10+1;
}
}
if(digitalRead(bouton2)!=etatbouton2){
etatbouton2=digitalRead(bouton2);
if(digitalRead(bouton2)==1){
chiffre1=chiffre1*10+2;
}
}
if(digitalRead(bouton3)!=etatbouton3){
etatbouton3=digitalRead(bouton3);
if(digitalRead(bouton3)==1){
chiffre1=chiffre1*10+3;
}
}
if(digitalRead(bouton4)!=etatbouton4){
etatbouton4=digitalRead(bouton4);
if(digitalRead(bouton4)==1){
chiffre1=chiffre1*10+4;
}
}
if(digitalRead(bouton5)!=etatbouton5){
etatbouton5=digitalRead(bouton5);
if(digitalRead(bouton5)==1){
chiffre1=chiffre1*10+5;
}
}
if(digitalRead(bouton6)!=etatbouton6){
etatbouton6=digitalRead(bouton6);
if(digitalRead(bouton6)==1){
chiffre1=chiffre1*10+6;
}
}
if(digitalRead(bouton7)!=etatbouton7){
etatbouton7=digitalRead(bouton7);
if(digitalRead(bouton7)==1){
chiffre1=chiffre1*10+7;
}
}
if(digitalRead(bouton8)!=etatbouton8){
etatbouton8=digitalRead(bouton8);
if(digitalRead(bouton8)==1){
chiffre1=chiffre1*10+8;
}
}
if(digitalRead(bouton9)!=etatbouton9){
etatbouton9=digitalRead(bouton9);
if(digitalRead(bouton9)==1){
chiffre1=chiffre1*10+9;
}
}
lcd.setCursor(4,0);
lcd.print("number1");
lcd.setCursor(1,1);
lcd.print(chiffre1);
Serial.println(chiffre1);
break;
case 2:
if(digitalRead(bouton1)||digitalRead(bouton2)||digitalRead(bouton3)||digitalRead(bouton4)!=0){
etape=3;
}
if(digitalRead(bouton1)!=etatbouton1){
etatbouton1=digitalRead(bouton1);
if(digitalRead(bouton1)==1){
operation=1;
}
}
if(digitalRead(bouton2)!=etatbouton2){
etatbouton2=digitalRead(bouton2);
if(digitalRead(bouton2)==1){
operation=2;
}
}
if(digitalRead(bouton3)!=etatbouton3){
etatbouton3=digitalRead(bouton3);
if(digitalRead(bouton3)==1){
operation=3;
}
}
if(digitalRead(bouton4)!=etatbouton4){
etatbouton4=digitalRead(bouton4);
if(digitalRead(bouton4)==1){
operation=4;
}
}
Serial.println(operation);
lcd.setCursor(2,0);
lcd.print("1 2 3 4");
lcd.setCursor(2,1);
lcd.print("+ - * /");
break;
case 3 :
if(digitalRead(boutonmode)!=etatboutonmode){
etatboutonmode=digitalRead(boutonmode);
if(digitalRead(boutonmode)==1){
etape=4;
}
}
if(digitalRead(bouton0)!=etatbouton0){
etatbouton0=digitalRead(bouton0);
if(digitalRead(bouton0)==1){
chiffre2=chiffre2*10+0;
}
}
if(digitalRead(bouton1)!=etatbouton1){
etatbouton1=digitalRead(bouton1);
if(digitalRead(bouton1)==1){
chiffre2=chiffre2*10+1;
}
}
if(digitalRead(bouton2)!=etatbouton2){
etatbouton2=digitalRead(bouton2);
if(digitalRead(bouton2)==1){
chiffre2=chiffre2*10+2;
}
}
if(digitalRead(bouton3)!=etatbouton3){
etatbouton3=digitalRead(bouton3);
if(digitalRead(bouton3)==1){
chiffre2=chiffre2*10+3;
}
}
if(digitalRead(bouton4)!=etatbouton4){
etatbouton4=digitalRead(bouton4);
if(digitalRead(bouton4)==1){
chiffre2=chiffre2*10+4;
}
}
if(digitalRead(bouton5)!=etatbouton5){
etatbouton5=digitalRead(bouton5);
if(digitalRead(bouton5)==1){
chiffre2=chiffre2*10+5;
}
}
if(digitalRead(bouton6)!=etatbouton6){
etatbouton6=digitalRead(bouton6);
if(digitalRead(bouton6)==1){
chiffre2=chiffre2*10+6;
}
}
if(digitalRead(bouton7)!=etatbouton7){
etatbouton7=digitalRead(bouton7);
if(digitalRead(bouton7)==1){
chiffre2=chiffre2*10+7;
}
}
if(digitalRead(bouton8)!=etatbouton8){
etatbouton8=digitalRead(bouton8);
if(digitalRead(bouton8)==1){
chiffre2=chiffre2*10+8;
}
}
if(digitalRead(bouton9)!=etatbouton9){
etatbouton9=digitalRead(bouton9);
if(digitalRead(bouton9)==1){
chiffre2=chiffre2*10+9;
}
}
lcd.setCursor(4,0);
lcd.print("number2");
lcd.setCursor(1,1);
lcd.print(chiffre2);
Serial.println(chiffre2);
break;
case 4:
if(digitalRead(boutonmode)!=etatboutonmode){
etatboutonmode=digitalRead(boutonmode);
if(digitalRead(boutonmode)==1){
etape=5;
}
}
lcd.setCursor(2,0);
lcd.print("=");
lcd.setCursor(1,1);
lcd.print(resultat);
Serial.println(resultat);
break;
case 5:
chiffre1=0;
chiffre2=0;
operation=0;
etape=1;
break;
}
}