如何构建简单的Arduino计算器?

计算器是用于对复杂数学计算进行简单算术操作的设备。在现代使用情况下,可以从算盘到信用卡大小的复杂电子固态设备等计算器的兴起。

除了可用于执行简单算术计算的小计算器外,计算器还具有复杂的科学前景,可以执行各种数学和统计操作,例如三角学,代数,积分等。但是,这种复杂的科学计算器可能非常昂贵。

在此项目中,我们将使用Arduino Uno,16 x 2 LCD显示器和4 x 4矩阵键盘设计一个简单的算术计算器。

选择您想在ElectronicsHub中学习的下一组Arduino项目 Arduino项目»

电路原理图

Arduino计算器电路

组件

  • Arduino uno [在这里买这是给予的
  • 16 x 2 lcd显示[在这里买这是给予的
  • 4 x 4矩阵键盘模块或16个按钮
  • 10kΩ电位器
  • 面包板(原型板)
  • 连接电线

组件描述

Arduino Uno:

该项目的微控制器部分是Arduino Uno。它控制LCD和矩阵键盘,并根据用户输入执行必要的计算。

16 x 2 LCD显示:

这是一个简单的alpha - 数字显示模块,用于显示欢迎消息,用户输入以及计算的输出。

4 x 4矩阵键盘:

键盘是人类机器界面的一部分,在需要人输入的嵌入式系统中起着非常重要的作用。矩阵键盘通常用于计算器,电话等。需要许多输入开关。

矩阵键盘

4x4键盘的构造真的很简单。它由16个按钮或开关组成,该按钮以包含四行和四列的数组的形式排列。按钮的一端连接到一排,另一端连接到一列。

电路设计

电路的设计易于理解,但实现有点混乱,因为它涉及许多连接和电线。这里解释了电路的设计。

首先,LCD显示与Arduino Uno的连接。LCD以4 - 位模式使用,因此仅需要4个数据连接。数据引脚D4至D7(PINS 11-14)连接到数字I/O引脚2到Arduino的5。

然后,我们需要连接LCD的三个控制销,即RS,RW和E。RS(引脚4)连接到Arduino的引脚0。E(引脚6)连接到Arduino的引脚1。RW(引脚5)连接到地面。

笔记:

RS和E与Arduino的PIN 0和1连接,它们通常与串行通信有关。我们必须在编程设备时要小心,因此我们必须断开这两个连接的连接编程ArduinoUNO。

接下来的连接是关于LCD的电源。引脚1(VSS)连接到地面,引脚2(VDD)连接到5V电源。引脚3(VEE)连接到锅中,以调整显示的对比度。

引脚15和引脚是背光LED的供应引脚。它们必须连接到5V和地面供应。

下一个连接是关于矩阵键盘的。键盘的4行引脚(第1行4至第4行)连接到Arduino Uno的第13至10号销和4列销(Col 1至Col 4)与Arduino Uno的第9到6连接。

工作流程

使用Arduino Uno板和键盘矩阵设计了一个简单的计算器。该项目的工作在这里解释。

项目中的键盘由4行和4列组成,结构类似于下面所示的图像。

键盘实现

一个称为“键盘”用于找出按下哪个键。该库必须单独下载,并且必须添加到Arduino IDE中。

确定密钥时,可以执行相关操作,例如加法,减法,乘法和除法。还包括一个清晰的屏幕(LCD显示)按钮。

即使图书馆完成了大部分工作,我们也可以理解确定密钥的处理。

如电路设计中所述,键盘的行连接到Arduino的第13-10销,键盘柱连接到Arduino的PINS 9-6。

所有的行销都高高,所有的柱销都被拉低。从现在开始,Arduino等待列引脚变高,如果按下键,就会发生这种情况。

考虑,如果按下键,则开关将关闭相应的行和列之间的连接。由于电流从高到低电位的流动,该色谱柱将变高。

列在列的潜力变化使Arduino了解与特定列相对应的密钥被按下。

现在是时候找到行了。Arduino不会一次向所有行发出高信号,而是一次将高到一行启用,并检查列上是否检测到高信号。如果在相应的列上未检测到高信号,则Arduino将扫描下一行。

此过程将重复,直到相应列上检测到高信号为止。一旦在相应的列上检测到高信号,则可以识别行。

从外部,这个关键检测过程似乎需要很长时间,但是完成上述所有过程所花费的时间将在微观秒内。但是,人类按下按钮的平均时间是在毫里几秒钟内。这就是为什么,当按键被按下并在键发布之前完成时,键检测过程将开始。

好处

  • 使用Arduino Uno,Matrix键盘和LCD实现了一个简单的算术计算器。
  • 可以扩展以执行复杂的计算,但是必须仔细设计逻辑才能解决这些计算。这甚至可能导致开关数量增加。

项目图像

代码

12个回应

  1. 嗨,到目前为止,thnx对于可容纳的代码 ^_ ^

    但是,我需要以下帮助:

    - 用括号计算
    - 三角学
    - 平方根
    - 学院

    像您一样,所有这些都带有LCD-Display和4×4-Keypad。

  2. 我已经正确完成了所有接线,但是在代码中,有一个错误消息说:

    Arduino:1.8.5(Windows Store 1.8.10.0)(Windows 10),董事会:“ Arduino/funeino uno”

    C:\ users \ syed mohsin hasan \ documents \ arduino \ arduino \ calculator2 \ calculator2.ino:在函数'void loop()中:

    计算器2:53:错误:在此范围中未声明“ num1”

    num1 = num1 + key;

    ^

    计算器2:60:错误:在此范围中未声明“ num2”

    num2 = num2 + key;

    ^

    计算器2:82:错误:在此范围中未声明“ num1”

    答案= num1.toint() + num2.toint();

    ^

    计算器2:82:错误:在此范围中未声明“ num2”

    答案= num1.toint() + num2.toint();

    ^

    计算器2:85:错误:在此范围中未声明“ num1”

    答案= num1.toint() - num2.toint();

    ^

    计算器2:85:错误:在此范围中未声明“ num2”

    答案= num1.toint() - num2.toint();

    ^

    计算器2:88:错误:在此范围中未声明“ num1”

    答案= num1.toint() * num2.toint();

    ^

    计算器2:88:错误:在此范围中未声明“ num2”

    答案= num1.toint() * num2.toint();

    ^

    计算器2:91:错误:在此范围中未声明“ num1”

    答案= num1.toint() / num2.toint();

    ^

    计算器2:91:错误:在此范围中未声明“ num2”

    答案= num1.toint() / num2.toint();

    ^

    计算器2:103:错误:在此范围中未声明“ num1”

    num1 =“”;

    ^

    计算器2:104:错误:在此范围中未声明“ num2”

    num2 =“”;

    ^

    退出状态1
    在此范围内未宣布“ num1”

    该报告将提供更多信息
    “在汇编过程中显示冗长的输出”
    在文件 - >首选项中启用了选项。

  3. 你好!我想知道,电缆是否焊接到LCD上?

    如果是,您是否认为还有其他可能的方法可以将电缆连接到LCD而不焊接它们?如果我使用了LCD键盘盾牌,它会起作用吗?

    谢谢!

    1. 不,它们没有焊接。我们只是将它们连接到面包板。您可以使用LCD键盘屏蔽。只需在代码中插入正确的PIN号即可。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map