YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5353|回复: 2
打印 上一主题 下一主题

基于Arduino的电阻计

[复制链接]

签到天数: 22 天

[LV.4]偶尔看看III

跳转到指定楼层
楼主
发表于 2013-9-28 14:18:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 原始人 于 2013-9-28 14:17 编辑

基于Arduino的电阻计
晚上闲着,写了一个测电阻的程序,
原理是通过基准电阻,对比测试端电压,比较后经过算法测出电阻,经测试,以20k为基准,测大于1k电阻时比较准确。



可以根据待测量的范围更换基准电阻以求准确

接线如下(电容用的104瓷片):


程序,用了均值滤波算法:
  1. #define N 12

  2. #define basis 20000.0

  3. int potpin = A4;
  4. float val, r;


  5. void setup()
  6. {
  7.     Serial.begin(9600);
  8. }

  9. void loop()
  10. {
  11.     val = analogRead(potpin);

  12.     r = ((basis * 1023.0) / (1023.0 - val)) - basis;

  13.     delay(100);

  14.     Serial.print(" R:  ");
  15.     if(filter() >= 1000)
  16.     {
  17.         if(filter() >= 500.0*1000.0)
  18.         {
  19.             Serial.println("Infinity!!");
  20.         }
  21.         else
  22.         {
  23.             Serial.print(filter() / 1000.0);
  24.             Serial.println("K ohm");
  25.         }
  26.     }

  27.     else
  28.     {
  29.         Serial.print(filter());
  30.         Serial.println(" ohm");
  31.     }
  32. }


  33. float filter()
  34. {
  35.     float sum = 0;
  36.     for(int count = 0; count < N; count++)
  37.     {
  38.         sum += r;
  39.         delay(5);
  40.     }
  41.     return (float)(sum / N);
  42. }
复制代码
很实用~

原文地址:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=3312


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

签到天数: 866 天

[LV.10]以坛为家III

沙发
发表于 2013-10-12 08:26:09 | 只看该作者
feel 发表于 2013-10-10 17:22
程序先不看。。。原理是啥  能说下吗?

将要测量的电阻和电路中的电阻串联,然后读取电压值,经过换算就可以得出,测量电阻的大概值了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-5-17 18:54 , Processed in 0.045130 second(s), 23 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表