Título: Calculadora Arduino
Publicado por: juliol34 en 26 Julio 2010, 21:52 pm
Hola! este es mi primer post de algo serio, y quiero compartirlo con vosotros. Me he animado a empezar a aprender electrónica con arduino y esto es lo que he conseguido hasta ahora. es una calculadora muy simple, tan simple que solo suma y resta jeje pero para empezar no esta mal no? Me gustaría que postrarais lo que veáis mejorable en cuanto a código. En el arduino tengo montados únicamente una pantalla LCD de 16 pines y tres botones. La pantalla esta puesta tal y como aparece en la web official de arduino. y los botones en los pins 9,8,10. #include <LiquidCrystal.h> int buttonPin1 = 8; int buttonPin2 = 9; int buttonPin3 = 10;
int num1; int num2;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void valor (int * num); int f_operacion (void);// 1 = "+" 0 = "-"
int f_operacion (void) { int temp; temp = 1; delay(50);//para que no parpadee lcd.clear(); lcd.setCursor (0,0); lcd.print ("escoja operacion:"); lcd.setCursor(0,1); lcd.print("+"); while (digitalRead(buttonPin3) == LOW) { if (digitalRead(buttonPin2)==HIGH) { lcd.clear(); lcd.setCursor(0,1); delay(20); lcd.print("+"); delay (200); temp = 1; } if (digitalRead(buttonPin1)==HIGH) { lcd.clear(); lcd.setCursor(0,1); delay(20); lcd.print ("-"); delay(200); temp = 0; } } return (temp); }
void setup() { lcd.begin(16, 2); lcd.print("Calculadora 1.0"); delay(500); pinMode (buttonPin1,INPUT); pinMode (buttonPin2,INPUT); pinMode (buttonPin3,INPUT); }
void valor (int *num) { *num = 0; while (digitalRead(buttonPin3) == LOW) { delay(50);//para que no parpadee lcd.clear(); lcd.setCursor (0,0); lcd.print ("inserte numero:"); lcd.setCursor(0,1); lcd.print(*num,DEC); if (digitalRead(buttonPin2)==HIGH) { (*num)++; delay(200);//para que nos de tiempo de sumar solo uno } if (digitalRead(buttonPin1)==HIGH) { (*num)--; delay(200); } }
}
void loop() { int opt; valor (&num1); delay (200);//para que nos de tiempo de quitar el dedo opt = f_operacion (); delay (200);//para que nos de tiempo de quitar el dedo valor (&num2); delay(200); lcd.clear(); while (digitalRead(buttonPin3)==LOW) { if (opt == 1) { lcd.setCursor(0,1); lcd.print(num1+num2); } if (opt == 0) { lcd.setCursor(0,1); lcd.print(num1-num2); } } delay(200); }
Título: Re: Calculadora Arduino
Publicado por: Banti en 27 Julio 2010, 00:39 am
Muy lindo code y con comentarios precisos. Excelente che!
Título: Re: Calculadora Arduino
Publicado por: andrexita en 18 Febrero 2014, 19:39 pm
disculpa podrias subir el simulador en proteus con un atmega328 es urgente
|