久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Arduino計算器程序
[打印本頁]
作者:
jhlkjlgjklg
時間:
2019-1-18 08:47
標題:
Arduino計算器程序
225356nueewwx2eww52eec.jpg
(90.73 KB, 下載次數: 96)
下載附件
vch
2019-1-18 08:46 上傳
#include <Keypad.h>
#include <LiquidCrystal.h>
//d7--d4,12 11 10 9 e-8 rs-7 1234--A2--A5 5678--2354
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
// 2. Keypad Pins
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);
// 3. Dot Button
int dot = A0;
int dotFlag = 0;
int dotButton = 0;
// 4. Calculator Operators
float num1, num2, fraction;
float total;
char operation, button;
// 5. Loading Setup
char input[16];
int n = 1750;
void setup()
{
// Initialize dot button as input to Arduino
pinMode(dot, INPUT);
// Initialize LCD Size
lcd.begin(16, 2);
// LCD Loading Setup Begin
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("LOADING...");
for (int i = 0; i < 16; i++)
{
lcd.setCursor(i, 1);
lcd.write(255);
delay(50);
}
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Simple Arduino");
lcd.setCursor(3, 1);
lcd.print("Calculator");
delay(n);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Done By Students");
lcd.setCursor(2, 1);
lcd.print("Meznan Bahri");
delay(n);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Dareen Zamzami");
lcd.setCursor(2, 1);
lcd.print("Joud Mannaa");
delay(n);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Samira Laihabi");
lcd.setCursor(2, 1);
lcd.print("& Rana Johar");
delay(n);
lcd.clear();
// LCD Loading Setup End
}
void loop()
{
// First while loop for num1.
while (1)
{
dotButton = digitalRead(dot);
button = customKeypad.getKey();
if (button == 'C')
{
dotFlag = 0;
num1 = 0;
num2 = 0;
fraction = 0;
total = 0;
operation = 0;
lcd.clear();
}
else if (dotButton == LOW)
{
dotFlag = 1;
}
else if (button >= '0' && button <= '9')
{
if (dotFlag == 0)
{
num1 = num1 * 10 + (button - '0');
lcd.setCursor(0, 0);
lcd.print(num1);
}
else if (dotFlag == 1)
{
fraction = (button - '0');
num1 = num1 + (fraction / 10);
lcd.setCursor(0, 0);
lcd.print(num1);
dotFlag++;
}
else if (dotFlag == 2)
{
fraction = (button - '0');
num1 = num1 + (fraction / 100);
lcd.setCursor(0, 0);
lcd.print(num1);
dotFlag++;
}
}
else if (button == '-' || button == '+' || button == '*' || button == '/')
{
operation = button;
dotFlag = 0;
lcd.setCursor(0, 1);
lcd.print(operation);
break;
}
}
// Second while loop for num2.
while (1)
{
dotButton = digitalRead(dot);
button = customKeypad.getKey();
if (button == 'C')
{
dotFlag = 0;
num1 = 0;
num2 = 0;
fraction = 0;
total = 0;
operation = 0;
lcd.clear();
break;
}
else if (dotButton == LOW)
{
dotFlag = 1;
}
else if (button >= '0' && button <= '9')
{
if (dotFlag == 0)
{
num2 = num2 * 10 + (button - '0');
lcd.setCursor(1, 1);
lcd.print(num2);
}
else if (dotFlag == 1)
{
fraction = (button - '0');
num2 = num2 + (fraction / 10);
lcd.setCursor(1, 1);
lcd.print(num2);
dotFlag++;
}
else if (dotFlag == 2)
{
fraction = (button - '0');
num2 = num2 + (fraction / 100);
lcd.setCursor(1, 1);
lcd.print(num2);
dotFlag++;
}
}
if (button == '=')
{
domath();
break;
}
}
// Third while loop for ensuring C button is executed after while loop 2.
while (1)
{
button = customKeypad.getKey();
if (button == 'C')
{
dotFlag = 0;
num1 = 0;
num2 = 0;
fraction = 0;
total = 0;
operation = 0;
lcd.clear();
break;
}
}
}
void domath()
{
switch (operation)
{
case '+':
total = num1 + num2;
break;
case '-':
total = num1 - num2;
break;
case '/':
total = num1 / num2;
break;
case '*':
total = num1 * num2;
break;
}
lcd.print('=');
if (operation == '/' && num2 == 0)
{
lcd.print("ERROR 0 DIV");
}
else
{
lcd.print(total);
}
}
復制代碼
作者:
admin
時間:
2019-1-19 02:00
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
作者:
淺笑安然
時間:
2019-12-21 00:55
你好,我想問一下用Proteus仿真arduino328開發版實現6計算器功能的源碼有嗎,或者是你會做嗎?
作者:
MocianWu
時間:
2022-4-23 18:11
作者使用的keypad庫是下載的哪一個,我用的是proteus 8仿真工具
作者:
ziba108
時間:
2023-7-29 18:25
作者使用的keypad庫是下載的哪一個
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩精品三区
|
国产精品久久网
|
成年免费视频黄网站在线观看
|
韩国av在线
|
老司机深夜福利视频
|
国产精品第一
|
国产va在线
|
成人在线观看免费爱爱
|
国产精品1区
|
日韩一区二区视频在线观看
|
欧美国产综合
|
亚洲精品成人网
|
欧美日韩视频
|
四虎成人影视
|
亚洲美女视频
|
99re视频
|
私库av在线
|
日本在线看片
|
久久九九国产
|
天天躁狠狠躁
|
蜜臀av性久久久久av蜜臀妖精
|
青青国产在线
|
久久综合伊人
|
男人天堂2020
|
窝窝午夜精品一区二区
|
最新国产精品视频
|
91看片在线观看
|
成人黄色免费视频
|
免费观看a级片
|
谁有毛片网址
|
久在线观看
|
手机在线免费看av
|
亚洲黄色影院
|
一级做a视频
|
一级片国产
|
日韩黄色在线视频
|
国产欧美精品
|
色婷婷精品
|
欧美一区二区三区在线播放
|
久久久久久中文字幕
|
色综合99
|