Arduino开发ESP8266之ADS1115模数转换

ADS1115的Arduino库:

Adafruit_ADS1X15

说明:

ESP8266使用iic通信时需要先配置SDA和SCL引脚,其任意 “可用” 的gpio均可配置为iic通信的SDA和SCL,即软iic。在ESP8266的Arduino库Wire示例中,使用的是4脚和5脚作为iic通信接口,如下

#define SDA_PIN 4
#define SCL_PIN 5

在Nodemcu中对应的是D1和D2脚。
因此,在调用

Wire.begin(SDA_PIN,SCL_PIN)

之后,8266的iic通信就跟普通的Arduino板子一样了。
但在Adafruit_ADS1X15库给出的示例中并没有配置iic引脚的相关代码,应该是该库默认使用板子的iic接口配置了,比如UNO、mega2560、Node32等都有默认的iic引脚配置。而ESP8266并没有默认的iic引脚配置,因此ESP8266在使用该库时也应先配置SDA和SCL引脚。代码如下:

#include <Adafruit_ADS1X15.h>
#include <Wire.h>
Adafruit_ADS1115 ads;  /* Use this for the 16-bit version */
//Adafruit_ADS1015 ads;     /* Use this for the 12-bit version */

void setup(void) 
{
  Serial.begin(9600);
  Serial.println("Hello!");
  
  Serial.println("Getting single-ended readings from AIN0..3");
  Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");

  Wire.begin(SDA_PIN, SCL_PIN);	//这句为ESP8266添加,必须先配置iic通信接口
  ads.begin();
}

void loop(void) 
{
  int16_t adc0, adc1, adc2, adc3;
  float volts0, volts1, volts2, volts3;

  adc0 = ads.readADC_SingleEnded(0);
  adc1 = ads.readADC_SingleEnded(1);
  adc2 = ads.readADC_SingleEnded(2);
  adc3 = ads.readADC_SingleEnded(3);

  volts0 = ads.computeVolts(adc0);
  volts1 = ads.computeVolts(adc1);
  volts2 = ads.computeVolts(adc2);
  volts3 = ads.computeVolts(adc3);

  Serial.println("-----------------------------------------------------------");
  Serial.print("AIN0: "); Serial.print(adc0); Serial.print("  "); Serial.print(volts0); Serial.println("V");
  Serial.print("AIN1: "); Serial.print(adc1); Serial.print("  "); Serial.print(volts1); Serial.println("V");
  Serial.print("AIN2: "); Serial.print(adc2); Serial.print("  "); Serial.print(volts2); Serial.println("V");
  Serial.print("AIN3: "); Serial.print(adc3); Serial.print("  "); Serial.print(volts3); Serial.println("V");

  delay(1000);
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值