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:
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.
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
Post a Comment