Arduino Uno ADS1115 数模转换

数模转换

其实现在我还是没有搞得太懂数模转换,先记录一下吧。

大概一个作用是放大,提高精度,把模拟量转换成数字,以便进行数据分析

本次实验使用ADS1115,其特点是16位数据,可以表达0~65535的十进制数,

Arduino Uno 模拟输入口(例如A0)可以表达0-1023的十进制


ADS1115





实验效果

AIN0:读取的是ADS模块上A0引脚的原始数据

Voltage:通过计算得出的电压值(AIN0 * 0.1875)/1000




BOM表

Arduino Uno                    *1

ADS1115 模数转换器    *1

跳线若干


接线图




程序


需要下载库:https://github.com/adafruit/Adafruit_ADS1X15


#include <Wire.h>
#include <Adafruit_ADS1015.h>  //加载ADS1015/ADS1115库

Adafruit_ADS1115 ads(0x48);    //声明一个ads对象,设置模块地址
float Voltage = 0.0;          //声明一个变量 用于存储检测到的电压值

void setup(void) 
{
  Serial.begin(9600);     //波特率
  ads.begin();             //ads对象开始
}

void loop(void) 
{
  int16_t adc0;  // 16位整数

  adc0 = ads.readADC_SingleEnded(0);  //读取ADS1115模块的A1引脚的数值
  Voltage = (adc0 * 0.1875)/1000;    //把数值转换成电压值,0.1875是电压因数

  //串口显示数据
  Serial.print("AIN0: ");   
  Serial.print(adc0);
  Serial.print("\tVoltage: ");
  Serial.println(Voltage, 7);  
  Serial.println();
  
  delay(1000);
}


程序思路讲解

1,先加载两个库

#include <Wire.h>
#include <Adafruit_ADS1015.h>  //加载ADS1015/ADS1115库


2,定义ADS对象并设置地址

Adafruit_ADS1115 ads(0x48);    //声明一个ads对象,设置模块地址


3,在setup()里,开始ADS对象

ads.begin();             //ads对象开始


4,读取对应模块上模拟口的数值

 adc0 = ads.readADC_SingleEnded(1);  //读取ADS1115模块的A1引脚的数值 ,如果读取A0则参数里填写0


还有ads.readADC_Differential_0_1();函数,作用是读取模拟引脚0和1的电压值 

  • 9
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值