CALCULADORA CON ARDUINO
EJEMPLO DE UNA CALCULADORA CON OPERACIONES BASICAS
Buenas grupo esta vez les paso un ejemplo de una calculadora basica con operaciones de suma, resta, multiplicacion y division.
El objetivo de este ejemplo es usar las librerias del C/C++ para el manejo de chars don tenemos diferentes funciones como isdigit(), ispuntct(),issymbol() y otros que viene dentro de las librerias del arduino
Tambien aprovecho para usar el LCD_I2C, en la descarga viene la libreria del LCD como para el KEYPAD.
Funcionamiento A=suma, B=resta, C=multiplicacion, D=division, #=igual, *=limpiar, el rango de numeros esta hecho para cualquier tamaño de digitos( usando composicion de digitos como algoritmo)
Codigo:
Esta con la simulacion en proteus y su codigo tambien
#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include "Keypad.h"
char tecla,op;
float n1,n2,aux,res;
byte cols[4]={12,11,10,9};
byte filas[4]={8,7,6,5};
char sw=0;
char teclas[4][4]={
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
LiquidCrystal_I2C lcd(0x27,16,2);
Keypad teclado=Keypad(makeKeymap(teclas),filas,cols,4,4);
void setup()
{
lcd.begin();
lcd.cursor();
}
void loop()
{
while(sw==0)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(isDigit(tecla))
{
aux=tecla-48;
n1=n1*10+aux;
}
else
{
op=tecla;
lcd.setCursor(15,0);
if(tecla=='A')
lcd.print("+");
if(tecla=='B')
lcd.print("-");
if(tecla=='C')
lcd.print("*");
if(tecla=='D')
lcd.print("/");
sw=1;
}
lcd.setCursor(0,0);
lcd.print(n1,0);
}
lcd.setCursor(0,1);
while(sw==1)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(isDigit(tecla))
{
aux=tecla-48;
n2=n2*10+aux;
}
else if(tecla=='#')
{
if(op=='A')
{
res=n1+n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='B')
{
res=n1-n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='C')
{
res=n1*n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='D')
{
res=n1/n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res);
}
sw=2;
}
lcd.setCursor(0,1);
lcd.print(n2,0);
}
while(sw==2)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(tecla=='*')
{
lcd.clear();
sw=n1=n2=0;
lcd.setCursor(0,0);
}
}
}
APORTES
LINK DE DESCARGA
DESCARGA DEL PROYECTO
GRUPOS: PAGINA FACEBOOK GRUPO FACEBOOK
WHATSAPP1
WHATSAPP2 WHATSAPP3
Buenas grupo esta vez les paso un ejemplo de una calculadora basica con operaciones de suma, resta, multiplicacion y division.
El objetivo de este ejemplo es usar las librerias del C/C++ para el manejo de chars don tenemos diferentes funciones como isdigit(), ispuntct(),issymbol() y otros que viene dentro de las librerias del arduino
Tambien aprovecho para usar el LCD_I2C, en la descarga viene la libreria del LCD como para el KEYPAD.
Funcionamiento A=suma, B=resta, C=multiplicacion, D=division, #=igual, *=limpiar, el rango de numeros esta hecho para cualquier tamaño de digitos( usando composicion de digitos como algoritmo)
Codigo:
Esta con la simulacion en proteus y su codigo tambien
#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include "Keypad.h"
char tecla,op;
float n1,n2,aux,res;
byte cols[4]={12,11,10,9};
byte filas[4]={8,7,6,5};
char sw=0;
char teclas[4][4]={
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
LiquidCrystal_I2C lcd(0x27,16,2);
Keypad teclado=Keypad(makeKeymap(teclas),filas,cols,4,4);
void setup()
{
lcd.begin();
lcd.cursor();
}
void loop()
{
while(sw==0)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(isDigit(tecla))
{
aux=tecla-48;
n1=n1*10+aux;
}
else
{
op=tecla;
lcd.setCursor(15,0);
if(tecla=='A')
lcd.print("+");
if(tecla=='B')
lcd.print("-");
if(tecla=='C')
lcd.print("*");
if(tecla=='D')
lcd.print("/");
sw=1;
}
lcd.setCursor(0,0);
lcd.print(n1,0);
}
lcd.setCursor(0,1);
while(sw==1)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(isDigit(tecla))
{
aux=tecla-48;
n2=n2*10+aux;
}
else if(tecla=='#')
{
if(op=='A')
{
res=n1+n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='B')
{
res=n1-n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='C')
{
res=n1*n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res,0);
}
if(op=='D')
{
res=n1/n2;
lcd.setCursor(10,1);
lcd.print("=");
lcd.print(res);
}
sw=2;
}
lcd.setCursor(0,1);
lcd.print(n2,0);
}
while(sw==2)
{
tecla=0;
while(tecla==0)
{
tecla=teclado.getKey();
}
if(tecla=='*')
{
lcd.clear();
sw=n1=n2=0;
lcd.setCursor(0,0);
}
}
}
APORTES
LINK DE DESCARGA
DESCARGA DEL PROYECTO
GRUPOS: PAGINA FACEBOOK GRUPO FACEBOOK
WHATSAPP1
WHATSAPP2 WHATSAPP3
Calculadora Con Arduino >>>>> Download Now
ResponderEliminar>>>>> Download Full
Calculadora Con Arduino >>>>> Download LINK
>>>>> Download Now
Calculadora Con Arduino >>>>> Download Full
>>>>> Download LINK LI