Arduino 测电子电容-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4818|回复: 4

Arduino 测电子电容

[复制链接]
发表于 2019-4-7 22:41 | 显示全部楼层 |阅读模式
                                             用 Arduino 测电容
由于最近的课程需要做一个测电子电子电容的装备 ,奈何没有时间制作一个传统电子电路的测量版,于是就上来社区抄了一下博哥的帖子,哈哈
材料 arduino uno3
       lcd 一个
      装逼格纸盒一个
    需要用到arduino 一个测量电容的库。感谢这个库。
  直接上代码
[mw_shl_code=arduino,true]
#include <Capacitor.h>
#include <LiquidCrystal_I2C.h>//库文件
LiquidCrystal_I2C lcd(0x27,16,2);  //lcd27or36/// 要不要在用一个lcd屏呢
// Capacitor under test.
// Note that for electrolytics the first pin (in this case A0)
// should be positive, the second (in this case A3) negative.
Capacitor cap1(A0, A3);

float cpa;
void setup()
{
        Serial.begin(9600);

        // Discard first test
        lcd.init();                      // initialize the lcd //lcd 还有对比度,调后面的电阻
  lcd.init();                      //两行
  lcd.backlight();
       
        cap1.Measure();
        delay(1000);
}

void loop()
{
        // Measure the capacitance (in pF)
        float cv= cap1.Measure();
       
        // Print to Serial Monitor, with pF/nF/uF
        if(cv<1000)
        {
                Serial.print(cv);
                Serial.println(" pF");
    lcd.setCursor(10,0);
   lcd.print("pF");
    cpa=cv+16;
        }
        else if(cv<100000)
        {
                Serial.print(cv/1000);
                Serial.println(" nF");
    lcd.setCursor(10,0);
   lcd.print("nF");
    cpa=(cv/1000)+16;
        }
        else
        {
                Serial.print(cv/100000);
                Serial.println(" uF");
     lcd.setCursor(10,0);
   lcd.print("uF");
    cpa=(cv/100000)+16;
        }
       
         delay(1000);


   lcd.setCursor(0,0);
   lcd.print("Cap: ");
   lcd.setCursor(5,0);
   lcd.print(cpa,2);
   
  
}[/mw_shl_code]代码很简单。
纸盒用来包住Arduino 以免被老师骂。
文饼 写
发表于 2019-4-8 08:01 | 显示全部楼层
来个 作品图呀
发表于 2019-8-7 08:47 | 显示全部楼层
库可以分享下吗
发表于 2020-6-22 10:33 | 显示全部楼层
<LiquidCrystal_I2C.h>这个库文件楼主可以分享一下吗
发表于 2020-6-22 12:35 | 显示全部楼层
瞅这代码眼熟,再一看这 capacitor 库刚好是我分享的。

不过代码并没有移植对:uF 换算我写的是 1e6,被换成了 100000 (LZ位代码里这个出现了不少次),
想来 nF ,uF 显示是要有问题的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 05:27 , Processed in 0.074545 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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