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

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

3天内不再提示

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

科技观察员 来源:circuitdigest 作者:沙希·库马尔 2022-11-18 16:31 次阅读

我们发现很难读取电阻器上的颜色代码来找到其电阻。为了克服查找电阻值的困难,我们将使用Arduino构建一个简单的欧姆表。该项目背后的基本原则是分压器网络。未知电阻值显示在16*2液晶显示屏上。

所需组件:

Arduino Uno

16*2液晶显示屏

电位器(1公斤欧姆)

电阻

面包板

跳线

电路图:

poYBAGN3QpCAfS3KAAF2eY4loNU943.png

Arduino Uno:

阿杜伊诺Uno是一款基于ATmega328p微控制器的开源微控制器板。它具有 14 个数字引脚(其中 6 个引脚可用作 PWM 输出)、6 个模拟输入、板载稳压器等。Arduino Uno具有32KB闪存,2KB的SRAM和1KB的EEPROM。它的工作时钟频率为16MHz。 Arduino Uno支持串行,I2C,SPI通信,用于与其他设备通信。下表显示了Arduino Uno的技术规格。

微控制器 ATmega328p
工作电压 5V
输入电压 7-12V(推荐
数字 I/O 引脚 14
模拟引脚 6
闪存 32KB
SRAM 2KB
电丙胺 1KB
时钟速度 16兆赫

16x2 液晶显示器:

16 * 2 LCD是嵌入式应用中广泛使用的显示器。以下是有关16 * 2液晶显示器的引脚和工作的简要说明。LCD内部有两个非常重要的寄存器。它们是数据寄存器和命令寄存器。命令寄存器用于发送清晰显示、光标在家乡等命令,数据寄存器用于发送要在16*2 LCD上显示的数据。下表显示了16 * 2 LCD的引脚说明。

象征 I/O 描述
1 VSS -
2 Vdd - +5V电源
3 V形 - 用于控制对比度的电源
4 RS RS=0 为命令寄存器 ,
RS=1 用于数据寄存器
5 乌尔曼 R/W=0 表示写入,R/W=1 表示读取
6 E I/O 使
7 D0 I/O 8位数据总线
8 D1 I/O 8位数据总线
9 D2 I/O 8位数据总线
10 D3 I/O 8位数据总线
11 D4 I/O 8位数据总线
12 D5 I/O 8位数据总线
13 D6 I/O 8位数据总线
14 D7 I/O 8位数据总线
15 一个 - +5V背光
16 K -

电阻颜色代码的概念:

为了确定电阻值,我们可以使用以下公式。

R= { (AB*10c)Ω ± T% }

哪里

A = 第一个波段中颜色的值。

B = 第二波段中颜色的值。

C = 第三波段中颜色的值。

T = 第四波段中颜色的值。

下表显示了电阻器的颜色代码。

颜色 颜色的数值 乘法因子(10c) 公差值(T)
0 100 -
棕色 1 101 ± 1%
2 102 ± 2%
3 103 -
黄色 4 104 -
绿 5 105 -
6 106 -
7 107 -
灰色 8 108 -
9 109 -
- 10-1 ± 5%
- 10-2 ± 10%
无乐队 - - ± 20%

例如,如果颜色代码为棕色 – 绿色 – 红色 – 银色,则电阻值的计算公式为:

Brown = 1 Green = 5 Red = 2 Silver = ± 10%

从前三个波段开始,R = AB*10c

R = 15 * 10+2 R = 1500 Ω

第四波段表示公差± 10%

10% of 1500 = 150 For + 10 percent, the value is 1500 + 150 = 1650Ω For - 10 percent, the value is 1500 -150 = 1350Ω

因此,实际电阻值可以在1350Ω至1650Ω之间。

为了更方便,这里是电阻颜色代码计算器,您只需输入电阻器上环的颜色,您将获得电阻值。

使用 Arduino 欧姆表计算电阻:

该电阻计的工作原理非常简单,可以使用如下所示的简单分压器网络进行解释。

从电阻R1和R2的分压器网络,

Vout = Vin * R2 / (R1 + R2 )

从上式中,我们可以推导出 R2 的值为

R2 = Vout * R1 / (Vin – Vout)

其中 R1 = 已知电阻

R2 = 未知电阻

Vin = 在 Arduino 的 5V 引脚上产生的电压

Vout = R2处相对于地的电压。

注意:所选的已知电阻(R1)值为3.3KΩ,但用户应将其替换为所选电阻的电阻值。

poYBAGN3QvOAK-XgAADYQ_wS-DU316.jpg

因此,如果我们得到未知电阻(Vout)上的电压值,我们可以很容易地计算出未知电阻R2。在这里,我们使用模拟引脚A0读取电压值Vout(参见电路图),并将这些数字值(0 -1023)转换为电压,如下面的代码中所述。

如果已知电阻的值远大于或小于未知电阻,则误差将更大。因此,建议将已知电阻值保持在更接近未知电阻的位置。

代码说明:
该项目的完整Arduino程序和演示视频在本项目结束时给出。代码被分成有意义的小块,并在下面解释。

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

LiquidCrystal lcd(2,3,4,5,6,7); //rs,e,d4,d5,d6,d7
在代码的这一部分中,我们将定义一些在程序中使用的变量。Vin 是由 arduino 的 5V 引脚提供的电压。Vout是电阻R2处相对于地的电压。

R1是已知电阻的值。R2是未知电阻的值。

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
在代码的这一部分中,我们将初始化16 * 2 LCD显示器。这些命令提供给16 * 2 LCD显示器,用于不同的设置,例如清晰的屏幕,光标闪烁时的显示等。

lcd.begin(16,2);
在代码的这一部分中,电阻R2(A0引脚)的模拟电压被转换为数字值(0至1023)并存储在变量中。

a2d_data = analogRead(A0);
在代码的这一部分中,数字值(0至1023)被转换为电压以供进一步计算。

buffer=a2d_data*Vin;
Vout=(buffer)/1024.0;
Arduino Uno ADC 具有 10 位分辨率(因此整数值从 0 - 2^10 = 1024 个值)。这意味着它将 0 到 5 伏之间的输入电压映射到 0 到 1023 之间的整数值。因此,如果我们将输入 anlogValue 乘以 (5/1024),则得到输入电压的数字值。在此处了解如何在 Arduino 中使用 ADC 输入。

在代码的这一部分中,未知电阻的实际值是使用上述程序计算的。

buffer=Vout/(Vin-Vout);
R2=R1*buffer;
在代码的这一部分,未知电阻的值印在16*2液晶显示器上。

lcd.setCursor(4,0);
lcd.print("ohm meter");
lcd.setCursor(0,1);
lcd.print("R (ohm) = ");
lcd.print(R2);

这是我们可以使用Arduino轻松计算未知电阻器的电阻。

#include


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

    浏览量

    9944
  • Arduino
    +关注

    关注

    184

    文章

    6426

    浏览量

    184792
收藏 人收藏

    评论

    相关推荐

    有哪位大侠知道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

    构建简单Arduino键盘

    描述简单Arduino 键盘PCB
    发表于 08-30 06:30

    欧姆表电路图

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

    线性刻度欧姆表电路图1

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

    线性刻度欧姆表电路图2

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

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

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

    自制欧姆表及万能表

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

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

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

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

    在DIY制作中我们经常会使用到电阻,电阻值的测量一般会通过万用表或直接读取电阻器上的色环代码来完成。没万用表怎么办?色环颜色不易分辨怎么办?为了克服这些困难,那就使用Arduino来制作一个简单欧姆表,并在LCD 1602显示
    的头像 发表于 04-11 17:07 4752次阅读
    如何使用<b class='flag-5'>Arduino</b>来制作一个<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>

    多用欧姆表的原理和使用

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