Así que estoy tratando de crear un programa de calculadora en arduino usando estos códigos.
void loop()
{
char keypressed = myKeypad.getKey();
if (keypressed != NO_KEY)
{
//Serial.print(keypressed - 48);
Serial.print(keypressed);
if(keypressed > 47 && keypressed < 58)
{
if(!mySwitch)
{
num1 = (num1*10) + (keypressed - 48);
}else{
num2 = (num2*10) + (keypressed - 48);
}
}
if(keypressed == 61)
{
answer = num1 + num2;
Serial.println(answer);
num1 = 0;
num2 = 0;
mySwitch = false;
}else if (keypressed == 43)
{
mySwitch = true;
}
}
}
Este código es para sumar los números. Hago un bucle anidado
if(keypressed == 61)
{
if(keypressed == 43){
answer = num1 + num2;
Serial.println(answer);
num1 = 0;
num2 = 0;
mySwitch = false;
}else if (keypressed == 43){
mySwitch = true;
}
if(keypressed == 45){
answer = num1 - num2;
Serial.println(answer);
num1 = 0;
num2 = 0;
mySwitch = false;
}else if (keypressed == 45){
mySwitch = true;
}
}
solo acepta el valor y no lo calcula después de presionar el signo "=" por cierto "61", "43", "45" es el valor ASCII de "=", "+", "-"