|
发表于 2013-5-24 19:32:44
|
显示全部楼层
本帖最后由 hdragon627 于 2013-5-24 22:14 编辑
交作业嘻嘻,我补充个用外部基准的方法 - #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2); //用的是转成i2c的lcd1602
- float temp = 5.5; //赋个值,analog口都加了10k下拉电阻,防止lcd不显示
- void setup()
- {
- lcd.init();
- lcd.backlight();
- }
- void loop()
- {
- int vf = analogRead(A0); //连接外部基准
- int va = analogRead(A3);
- float volf = vf*(4.6 / 1023.0); //4.6是用万用表测的电源电压,不影响计算被测电压,只是显示当前基准电压
- float vola = va*(2.56 / vf); //2.56就是外部基准的标定的电压,影响计算
- if (vola == temp)
- {
- ;
- }
- else
- {
- lcd.clear();
- lcd.print("vf=");
- lcd.print(volf, 3);
- lcd.print(" rf=2.56");
- lcd.setCursor(0, 1);
- lcd.print("v=");
- lcd.print(vola, 3);
- lcd.print("V");
- temp = vola;
- delay(300);
- }
- }
复制代码 |
|