This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 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
  Responder
#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);
}
}
  Responder


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