0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino来制作一个简单的欧姆表

科技观察员 来源:八色木 作者:八色木 2022-04-11 17:07 次阅读

DIY制作中我们经常会使用到电阻,电阻值的测量一般会通过万用表或直接读取电阻器上的色环代码来完成。没万用表怎么办?色环颜色不易分辨怎么办?为了克服这些困难,那就使用Arduino来制作一个简单的欧姆表,并在LCD 1602显示屏上显示被侧电阻的值。

pYYBAGJT786AEUO4AAY8QhH_WAY141.png

Arduino欧姆表原理

在利用Arduino来制作欧姆表的这个项目中,基本原理是基于分压器电路。它的计算公式是:Vout= (Vin x R2) / (R1 + R2),Vin是输入电压;Vout是输出电压。

poYBAGJT79aAeVrTAAAemDogJGs547.png

根据欧姆定律,可以推导出以下公式:

Vin = I x (R1+R2),输入电压=电流x电阻值。

Vout = I x R2,输出电压=电流 x R2的值。

I = Vin /(R1+R2),电流=输入电压/电阻值。

I = Vout / R2,电流=输出电压 / R2电阻值。

Vout / R2 = Vin /(R1+R2)

Vout= (Vin x R2) / (R1 + R2)

16×2 LCD显示屏

显示屏的引脚可查看:1602 LCD液晶屏引脚定义图

电阻色环值的计算

为了能通过色环计算电阻的值,我们可以使用下面的公式:R= [ (AB*10c)Ω ± T% ]

其中:

A:第一个色环的值;

B:第二个色环的值;

C:第三个色环的值;

T:第四个色环的值。

pYYBAGJT79uACjB2AAFJ0nJH7yk005.png

假设,上图电阻色环是“红-橙-黄-银”,其电阻值的计算过程是:

通过电阻的色环阻值表,可以得到 红=2 ;橙=3 ;黄=4;银=10。然后通过上面的公式:R= [ (AB*10c)Ω ± T% ]计算,AB=23;10c=104;T%=10%,得到R = 230000Ω ,精度为± 10%。因此,实际电阻值介于207KΩ~ 253KΩ 之间。

用Arduino欧姆表计算电阻的过程

poYBAGJT7-GAYxc7AAFxMGDEYho125.png

Arduino欧姆表计算电阻的过程非常简单,它依然可以分压器电路来解释。在电阻R1和R2组成的分压器网络中,Vout = Vin * R2 / (R1 + R2 ),由此可以推导出R2的值,R2 = Vout * R1 / (Vin – Vout)。R1 是已知电阻;R2 是未知电阻。因此,如果我们得到未知电阻(Vout )的电压值,我们可以很容易地计算出未知电阻R2。电路中使用Arduino的模拟引脚A0读取电压值Vout (参见电路图),并将这些值(0 -1023)转换为电压,如下面的代码所示。

注:如果已知电阻的值远远大于或小于未知电阻,测量误差会比较大。因此,建议保持已知的电阻值与未知的电阻相对接近。代码释义

LiquidCrystal lcd(2,3,4,5,6,7); //rs,e,d4,d5,d6,d7

在代码的这一部分中,定义连接到Arduino的16*2 LCD显示器的引脚。16*2 lcd的RS引脚连接Arduino的数字引脚2。16*2 lcd的 Enable 引脚连接Arduino的数字引脚3。16*2 lcd的数据引脚(D4-D7)连接Arduino的数字引脚4,5,6,7。

int Vin=5; //voltage at 5V pin of arduino

float Vout=0; //voltage at A0 pin of arduino

float R1=3300; //value of known resistance

float R2=0; //value of unknown resistance

在这部分代码中,定义了程序中使用的一些变量。Vin是Arduino的5V 引脚提供的电压。Vout是电阻R2的对地电压。R1是已知电阻的值。R2是未知电阻的值。

lcd.begin(16,2);

在这部分代码中,我们将初始化LCD 1602液晶显示器模块。这些命令用于LCD 1602液晶显示器的显示设置,比如屏幕对比度、光标闪烁等。

a2d_data = analogRead(A0);

在代码的这一部分,是将电阻R2 (A0引脚)上的模拟电压转换为数字值(0到1023)并存储在变量中。

buffer=a2d_data*Vin;

Vout=(buffer)/1024.0;

在代码的这一部分,是将数字值(0-1023)转换为电压,然后进行进一步的计算。Arduino Uno ADC的分辨率是10-bit (所以值范围是:0 — 210 = 1024)。意味着它将把输入电压从0 – 5V映射成0-1023之间的整数。如果将输入 anlogValue 乘以 (5/1024) 就可以得到输入电压的数字值。

buffer=Vout/(Vin-Vout);

R2=R1*buffer;

未知电阻的实际值是用上面介绍的方法计算出来的。

lcd.setCursor(4,0);

lcd.print(“ohm meter”);

lcd.setCursor(0,1);

lcd.print(“R (ohm) = ”);

lcd.print(R2);

这部分代码,主要完成将未知电阻的值显示在1602显示屏上。这样通过Arduino,我们可以很容易地计算出未知电阻的电阻值了。

完整代码如下:

#include《LiquidCrystal.h》

LiquidCrystal lcd(2,3,4,5,6,7); //rs,e,d4,d5,d6,d7

int Vin=5; //voltage at 5V pin of arduino

float Vout=0; //voltage at A0 pin of arduino

float R1=3300; //value of known resistance

float R2=0; //value of unknown resistance

int a2d_data=0;

float buffer=0;

void setup()

{

lcd.begin(16,2);

}

void loop()

{

a2d_data=analogRead(A0);

if(a2d_data)

{

buffer=a2d_data*Vin;

Vout=(buffer)/1024.0;

buffer=Vout/(Vin-Vout);

R2=R1*buffer;

lcd.setCursor(4,0);

lcd.print(“ohm meter”);

lcd.setCursor(0,1);

lcd.print(“R (ohm) = ”);

lcd.print(R2);

delay(1000);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 欧姆表
    +关注

    关注

    0

    文章

    17

    浏览量

    9948
  • Arduino
    +关注

    关注

    184

    文章

    6429

    浏览量

    184934
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino构建一个简单欧姆表

    我们发现很难读取电阻器上的颜色代码来找到其电阻。为了克服查找电阻值的困难,我们将使用Arduino构建一个简单欧姆表。该项目背后的基本原则是分压器网络。未知电阻值显示在16*2液晶显示屏上。
    的头像 发表于 11-18 16:31 2397次阅读
    如何使用<b class='flag-5'>Arduino</b>构建一个<b class='flag-5'>简单</b>的<b class='flag-5'>欧姆表</b>

    有哪位大侠知道Proteus中的欧姆表怎么用?

    有哪位大侠知道Proteus中的欧姆表怎么用?
    发表于 01-21 17:21

    关于自制欧姆表自动断电电路的制作

    自动断电电路如图 我在制作的时候用的10uf的电容1m欧的电阻和5v电源 结果放电时间特别短只有10s左右 欧姆表部分是我用单片机和ad自制的 讲道理放电时间不应该是3-5RC吗 是因为电容电阻电源都不够大还是因为我自制的的原
    发表于 02-24 08:32

    欧姆表

    欧姆表用来测量器件的电阻,或接到电路的输入测量电路的电阻。欧姆表有许多种结构,本文描述几种较常用的结构。只要正确按照工作手册使用,其内部工作是无需知道的。重要的是在进行电阻测量时,应了解其
    发表于 10-11 11:04

    欧姆表

    欧姆表用来测量器件的电阻,或接到电路的输入测量电路的电阻。欧姆表有许多种结构,本文描述几种较常用的结构。只要正确按照工作手册使用,其内部工作是无需知道的。重要的是在进行电阻测量时,应了解其
    发表于 10-16 10:10

    KEITHLEY 6221A 微欧姆表 现金回收

    KEITHLEY 6221A 微欧姆表 现金回收欧阳R:***QQ:734645067温馨提示:如果您找不到联系方式,请在浏览器上搜索下,旺贸通仪器仪回收工厂或个人、库存闲置、二手仪器及附件。长期
    发表于 12-13 11:23

    欧姆表电路图

    欧姆表电路图
    发表于 04-08 09:06 3327次阅读
    <b class='flag-5'>欧姆表</b>电路图

    线性刻度欧姆表电路图1

    线性刻度欧姆表电路图1
    发表于 04-08 09:06 1087次阅读
    线性刻度<b class='flag-5'>欧姆表</b>电路图1

    线性刻度欧姆表电路图2

    线性刻度欧姆表电路图2
    发表于 04-08 09:07 1546次阅读

    用于地球物理勘探的交流欧姆表电路图

    用于地球物理勘探的交流欧姆表电路图
    发表于 04-14 10:20 949次阅读
    用于地球物理勘探的交流<b class='flag-5'>欧姆表</b>电路图

    自制欧姆表及万能表

    电子发烧友网为大家提供了自制欧姆表及万能表这本书的电子版,希望对您有所帮助!
    发表于 02-28 15:08 0次下载
    自制<b class='flag-5'>欧姆表</b>及万能表

    关于欧姆表的一种简单技术

    测量的准确性和稳定性严格来说仅是R2的函数。如果R2使用±5%的电阻,则欧姆表的整体精度将为±5%。
    的头像 发表于 05-08 08:09 2074次阅读
    关于<b class='flag-5'>欧姆表</b>的一种<b class='flag-5'>简单</b>技术

    使用Arduino DIY欧姆表

    电子发烧友网站提供《使用Arduino DIY欧姆表.zip》资料免费下载
    发表于 11-16 09:50 2次下载
    使用<b class='flag-5'>Arduino</b> DIY<b class='flag-5'>欧姆表</b>

    使用Arduino制作简单的数字时钟

    电子发烧友网站提供《使用Arduino制作简单的数字时钟.zip》资料免费下载
    发表于 06-26 10:48 5次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b><b class='flag-5'>简单</b>的数字时钟

    多用欧姆表的原理和使用

    多用欧姆表的原理和使用 欧姆表是一种电测量工具,用来测量电路中的电阻大小。它的实现原理是利用欧姆定律,即电阻与电压和电流之间的关系(电阻=电压/电流),来测量电路中电阻的大小。 欧姆表
    的头像 发表于 08-24 14:48 1236次阅读