Ви не увійшли.
Сторінки 1
#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);
long num1,num2 ;
double total;
char operation,button;
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','+'},
{'4','5','6','-'},
{'7','8','9','*'},
{'C','0','=','/'}
};
byte rowPins[ROWS] = {A2,A3,A4,A5};
byte colPins[COLS] = {2,3,4,5};
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup()
{
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
lcd.begin(16,2);
}
void loop()
{
while(1)
{
button = customKeypad.getKey();
if (button=='C')
{
num1=0;
num2=0;
total=0;
operation=0;
lcd.clear();
}
if (button >='0' && button <='9')
{
num1 = num1*10 + (button -'0');
lcd.setCursor(0,0);
lcd.print(num1);
}
if (num1 !=0 && (button=='-' || button=='+' || button=='*' || button=='/'))
{
operation = button;
lcd.setCursor(0,1);
lcd.print(operation);
break;
}
}
while(1)
{
if (button =='C')
break;
button = customKeypad.getKey();
if (button=='C')
{
num1=0;
num2=0;
total=0;
operation=0;
lcd.clear();
break;
}
if (button >='0' && button <='9')
{
num2 = num2*10 + (button -'0');
lcd.setCursor(1,1);
lcd.print(num2);
}
if (button == '=' && num2 !=0)
{
domath();
break;
}
}
while(1)
{
if (button =='C')
break;
button = customKeypad.getKey();
if (button =='C')
{
lcd.clear();
lcd.setCursor(0,0);
num1=0;
num2=0;
total=0;
operation=0;
break;
}
}
}
void domath()
{
switch(operation)
{
case '+':
total = num1+num2;
break;
case '-':
total = num1-num2;
break;
case '/':
total = (float)num1/(float)num2;
break;
case '*':
total = num1*num2;
break;
}
lcd.setCursor(0,1);
lcd.print('=');
lcd.setCursor(1,1);
lcd.print(total);
}
Код не работает, на дисплей ничего не виводить, помогите где ошибка?
Остання редакція angruh (2018-03-13 11:13:38)
Неактивний
Сторінки 1