“第一课--Microduino 电阻计/zh”的版本间的差异
第1行: | 第1行: | ||
− | {{Language|Lesson 1-- | + | {{Language|Lesson 1--Microduino_Resistor_Meter}} |
==目的== | ==目的== | ||
2014年3月4日 (二) 12:50的版本
Language | English |
---|
目的
本教程将教大家如何使用Microduino去做一个电阻计,基本原理是通过基准电阻,对比测试端电压,比较后经过算法测出电阻,经测试,以20k为基准,测大于1k电阻时比较准确
设备
- Microduino-Core
- Microduino-FT232R
- 其他硬件设备
- 面包板跳线 一盒
- 面包板 一块
- 20k欧电阻 一个
- 104瓷片电容 一个
- USB数据连接线 一根
电容
简介:
瓷片是材质,104是三位数表示法,前两位表示有效数字,末一位表示其后,0的个数。104就是100000pF。就是100000微微法。等于0.1微法。一般用于高频或者低频中的旁路电容,常用在电源退耦中,也有作耦合作用。
原理图
可以根据待测量的范围更换基准电阻以求准确
接线如下(电容用的104瓷片):
程序
#define N 12
#define basis 20000.0 //基准电阻
int potpin = A4;
float val, r;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(potpin);
r = ((basis * 1023.0) / (1023.0 - val)) - basis;
delay(100);
Serial.print(" R: ");
if(filter() >= 1000)
{
if(filter() >= 500.0*1000.0)
{
Serial.println("Infinity!!");
}
else
{
Serial.print(filter() / 1000.0);
Serial.println("K ohm");
}
}
else
{
Serial.print(filter());
Serial.println(" ohm");
}
}
//滤波算法
float filter()
{
float sum = 0;
for(int count = 0; count < N; count++)
{
sum += r;
delay(5);
}
return (float)(sum / N);
}
程序,用了均值滤波算法
调试
步骤一:把代码复制到IDE中,编译
步骤二:连接电路图,如下所示:
图中,上方的电阻为20k欧姆基准电阻,下方的电阻为要测的电阻。
步骤三:运行代码
步骤四:把图中的黄线和黑线置于待测电阻物体两端,串口会显示电阻值。
你也可以换成任何东西如:肥皂,湿布,看看它们的电阻多大。
结果
串口会显示待测电阻的阻值