Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda con calculadora en Arduino
#1
Hola, estoy intentando hacer un pequeño proyecto de una calculadora con un LCD, en principio lo voy ha hacer con dos botones solo el de el 1 y el del 2 luego ya lo demas es igual (es para entretenerme con algo y juguetear con la Arduino) bueno me he quedado atascado porque lo que quiero es que cuando pulse el boton_1 escribir 1 en la pantalla pero si lo pulso dos veces, escribir 11, logico no? Para eso he hecho una variable, y cuando pulso el boton pues esta es 1 pero cuando lo vuelva a pulsar quiero que sea 11, no puedo hacer 1+1 porque seria dos xd, seria juntar los dos 1. He leido que con la funcion string o nose...
Bueno a ver sime podeís hechar una mano. Muchas grascias!!
Os dejo el codigo por aqui por si os interesa:

------------

/*** Included libraries ***/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>

/*** Global variables and function definition ***/
LiquidCrystal_I2C pantalla(0x27,16,2);
int potenciometro_0 = A3;
int boton_igual = 5;
int boton_reset = 4;
int boton_2 = 2;
int boton_1 = 3;
float cifra1 = 0;
float cifra2 = 0;
char reset = "";
char igual = " ";

/*** Setup ***/
void setup(){
pantalla.begin(16, 2);
pantalla.clear();
pinMode(potenciometro_0, INPUT);
pinMode(boton_igual, INPUT);
pinMode(boton_reset, INPUT);
pinMode(boton_2, INPUT);
pinMode(boton_1, INPUT);
pantalla.setBacklight(HIGH);
pantalla.print("Calculadora by Sergio");
delay(2000);
pantalla.print("0");
cifra1 = 0;
cifra2 = 0;
igual = "";
reset = "";
}

/*** Loop ***/
void loop(){
pantalla.print("0");
if(digitalRead("3") == 1){String cifra1 = String(cifra1)+String("1");
pantalla.setCursor(0, 0);
pantalla.print(cifra1);}
}

-----

Sent from my LG-D855 using Tapatalk
Citar
#2
Ya lo he acabado consiguiendo despues de mucho probar e investigar, os dejo el código por si hay alguien con la misma duda que yo:

Código:
int boton_1 = 3;
int numero = 0;
String valor1;
int estadoBoton1 = 0;

Void loop () {

estadoBoton1 = digitalRead(3);
if(estadoBoton1 == HIGH) {//Si el boton1 esta pulsado
numero = 1; //numero valdra 1, porque está pulsado el boton1
valor1 += numero; //valor1 sera el numero ya guardado unido al que acabamos de pulsar
Serial.println();
Serial.print(valor1); //Imprimimos en pantalla el valor1
delay(1000);
}
}
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Duda conexiones pantalla LCD Arduino Electromecánico 2 804 30-01-2015, 10:25 AM
Último mensaje: Electromecánico
  Duda de como hacer una medición con arduino Universo 2 646 04-02-2014, 03:59 PM
Último mensaje: profesorfrink42
  Duda con Jack de alimentación del Arduino Uno Lord Bergidum 19 12,192 03-01-2014, 07:29 PM
Último mensaje: Electromecánico
  ¿Arduino MEGA o Arduino ADK? igargi 7 1,126 25-08-2013, 04:58 PM
Último mensaje: cansi22