米兰网页版:
对于这一个项目,我使用ATmega328微控制器和1.8英寸彩色液晶显示器构建了一个手持
对于我们的项目,我们将创建一个基于Arduino的欧姆计,它也可当作一个电阻颜色代码计算器,在视觉上模仿All About Circuits流行的在线电阻颜色代码计算机。以下是我们已完成项目的运行视频:
该系统的大脑是一个ATmega328微控制器(ArduinoUNO)。我们还将使用:
与我之前的几个项目类似,我为这个设备创建了一个专用的All About Circuits品牌PCB;但是,您也能够正常的使用面包板或perfboard复制此项目。
这个项目旨在既有趣又有教育意义。有更准确和可靠的方法来测试您的组件,因为即使是最便宜的万用表也有一定可能会给您更好的结果。典型的电阻器的容差为5%,ATmega328的模数转换器(ADC)的分辨率仅为10位。所以,我们的精度将低于一个好的欧姆表。
电阻器色标系统最初由无线年代开发,用于提供电阻器值和额定值的视觉指示(图1)。
我们将在这一个项目中构建的颜色代码计算器只涵盖四个带电阻。对这些类型的组件,前两个带表示电阻值的两个最高有效数字,第三个带表示十进制乘数,第四个带表示以百分比表示的值公差。
欧姆表是每个EE实验室的重要工具,它是一种测量电阻的仪器,既可当作专用单元,也可当作万用表的一部分。它需要一个内部电压源来产生必要的工作电流,以及适当的测距电阻器来有效测量被测设备。
虽然有各种不一样的欧姆表,但这一个项目使用了一个简单的分压器。分压器是一种电路,其中串联连接的两个电阻器两端的输入电压与两个电阻器的比率成比例地减小。
我们将在串联连接到被测电阻器(未知值)的多个测距电阻器(已知值)之间进行切换,并使用欧姆定律根据测量的输出电压和已知的输入电压计算其值。
图2的示意图向我们展示了如何将此项目的面包板或PCB版本的所有组件连接在一起。如果您使用的是开发板,请确保您的组件与代码中的引脚配置相匹配。
由于我没用电压调节器,因此最好使用插入稳压5V电源的设备。我的PCB使用一个专用的USB B端口,可以插入电脑、手机充电器或移动电源,这也使它变得便携。
我们的系统使用一系列七个嵌套屏幕(专用功能),能够出现在128x160 TFT LCD上,作为其基本的图形用户界面(GUI)。这些屏幕的插图是利用Adafruit的GFX和ST7735库在显示器上直接绘制字母数字和基本形状而生成的。ST7735是嵌入到本项目使用的1.8英寸TFT LCD模块中的显示驱动芯片。
注意:将形状组合为图形是因为使用转换为Arduino代码的大位图会损害系统性能。
我们GUI的每个屏幕功能最多可以响应六个触觉按钮。在专用PCB上,外两个标有“选择”和“返回”,而内四个标有左、右、上、下箭头符号。这些按钮构成了用于浏览菜单、选择菜单项和返回上一屏幕的控件。
初始化屏幕作为其主菜单。GUI的这一部分提示用户在两个基本功能之一之间做出合理的选择——欧姆表或颜色代码计算器(图3)。对这个菜单,我决定在两个菜单项上方放置一个All About Circuits徽标,使用几个相互连接的圆形矩形重新创建。
我们系统的每个屏幕都包含多个可选择的菜单项,显示为圆角矩形。要浏览这些项目,每个菜单都有一个额外的轮廓矩形,能够正常的使用四个导航按钮向上或向下移动。
通过单击菜单中的“选择”按钮,我们的代码通过检查轮廓矩形的当前位置和相应的轮廓项目来确定用户从该菜单中选择了什么项目。
菜单之间的切换是使用一个标志变量在内部实现的,该变量按照每个用户的选择跟踪LCD上需要显示的内容。也就是说,在Arduino代码循环的下一次迭代中,需要调用七个屏幕函数中的哪一个。
我们系统中的第二个屏幕是自包含的欧姆表应用程序,如图4所示。此屏幕的顶部显示被测电阻器的值以及所选的测量范围。屏幕底部显示八个可选范围,对应于连接到CD4051芯片输出的每个测距电阻器的值。
在我们的项目中,个人会使用CD4051作为解复用器,并使用ATmega328的三个引脚对其进行寻址。这样做将使我们也可以从八个CD4051输出通道中数字选择一个,将测距电阻器物理连接到其输入端的未知电阻器,从而完成我们的分压器电路。
一旦从GUI中选择了一个范围,微控制器将寻址多路分解器,并在其模拟引脚之一上测量分压器的输出电压。从这里开始,它根据前面讨论的公式计算未知电阻,并在系统的LCD上显示其测量值。
为了了解如何正确选择或校准测量范围,您应该查看AAC的Intro Lab-怎么样去使用欧姆表测量电阻文章。
我们系统中的第三个屏幕是电阻器颜色代码计算器应用程序(图5)。此屏幕分为三个部分,可以将用户带到四个附加的嵌套菜单。
此屏幕的顶部显示了一个以All About Circuits的电阻器颜色代码计算器为蓝本的四带电阻器,该计算器是使用一系列不同大小和颜色的矩形重新创建的。在这张图上,代表电阻器色带的四个矩形可以依据用户输入动态切换颜色。
右下角部分包含四个菜单项,一个用于设置将用户带到附加菜单屏幕的每个色带,而左下角部分则包含应用程序标题以及所选色带序列的计算结果(电阻值和公差)。
为了设置色带,用户必须首先进入四个附加菜单屏幕中的一个。这些屏幕由一个适当的标题以及一系列颜色或菜单项组成(如图6所示)。每次用户从这些菜单中选择一种颜色时,系统都会将其保存到该特定波段,返回上一屏幕,更改电阻器图示上该波段的颜色,并将其值输入颜色代码计算器公式。
这样,所示电阻器上当前描绘的频带序列的电阻和公差就会被计算出来,并显示在我们的电阻器颜色代码计算器屏幕的左下角。
一旦你连接好所有东西,你需要将代码上传到你的微控制器。如果你使用的是普通的Arduino或类似的开发板,这样的一个过程很简单,只需插入USB连接器,选择你的板和相应的com端口,然后单击上传按钮。你可以从Github下载Arduino代码。
另一方面,如果你想使用我的PCB设计将这一个项目重新创建为一个独立的系统,你需要一个额外的USB到串行模块,以便按照面包板文章中Arduino的从Arduino到微控制器对ATmega328 IC进行编程。
如果你试图重新创建这一个项目或用它来开发其他东西,请在下面的评论中留言。All About Circuits团队和我都很想知道这件事。
贸泽电子、Silicon Labs和Arduino联手赞助2024 Matter挑战赛
上一篇:恩智浦与深圳通合作,业界首个UWB轨道交通无感支付解决方案落地!
下一篇:恩智浦发布MC33777新一代电池接线盒IC,革新电动汽车电池组监测技术!
8月27-29日
汽车电动化与智能
光纤激光器是第三