I'm using an AD5175 digital Rheostat with i2c interface and 50-TP Memory. The rheostat is stuck in protection mode or stuck at the midpoint resistance because of the protection bit (Bit C1) which is set to 0 by default. Does anyone know how to write to this chip to change C1 to a 1 instead of a 0? Thank you
WRITE PROTECTION
On power-up, serial data input register write commands for
both the RDAC register and the 50-TP memory registers are
disabled. The RDAC write protect bit (Bit C1) of the control
register (see Table 9 and Table 10), is set to 0 by default. This
disables any change of the RDAC register content regardless
of the software commands, except that the RDAC register can
be refreshed from the 50-TP memory using the software reset,
Command 4, or through the hardware by the RESET pin. To
enable programming of the variable resistor wiper position
(programming the RDAC register), the write protect bit
(Bit C1) of the control register must first be programmed.
This is accomplished by loading the serial data input register
with Command 7 (see table 7).
Have you tried doing this per datasheet?
I belive that's 0x1C 0x02 to set the C1 bit...
Honestly i’m just a beginner at this stuff, so i really don’t have a clue on how to set the C1 bit, here is what i have so far.
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin (115200);
int val;
}
int val = 0;
void loop()
{
Wire.beginTransmission(44); // transmit to device #44 (0x2c)
// device address is specified in datasheet
Wire.write(byte(0xC0)); // sends instruction byte
Wire.write(val); // sends potentiometer value byte
Wire.endTransmission(); // stop transmitting
val++; // increment value
if(val == 1024) // if reached 1024th position (max)
{
Serial.print ("DONE"); // start over from lowest value
val=0; //start over from lowest value
}
if (val < 1024)
{
Serial.print (val);
}
delay(100);
}