Reading analog input with ADS7830 ADC (I2C)


i have ads7830: http://www.ti.com/lit/ds/symlink/ads7830.pdf

for testing made simple circuit:


but 0 or 255.

code:
code: [select]
#include <wire.h>

#define addr 0x4b // ads7830 i2c address

void setup()
{
  // initialise i2c communication master
  wire.begin();
  // initialise serial communication, set baud rate = 9600
  serial.begin(9600);
  delay(300);
}

void loop()
{
  unsigned int data;

  // start i2c transmission
  wire.begintransmission(addr);
  // channel selection
  wire.write(0x08);
  // stop i2c transmission
  wire.endtransmission();
  
  // request 1 byte of data
  wire.requestfrom(addr, 1);
  
  // read 1 byte of data
  if (wire.available() == 1)
  {
    data = wire.read();
  }

  // output data serial monitor
  serial.print("digital value of analog input  : ");
  serial.println(data);
  delay(300);
}

i suggest run i2c scanner program make sure device recognized on bus, , have correct address.

according comment in code, have selected differential inputs on ch0 , ch1, why ch1 left open? circuit shown, single-ended input on ch0 more appropriate.


Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Reading analog input with ADS7830 ADC (I2C)


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor