| I2C Digital Potentiometer by Nicholas Zambetti <http://www.zambetti.com> and Shawn Bonkowski <http://people.interaction-ivrea.it/s.bonkowski/> Demonstrates use of the Wire library Controls AD5171 digital potentiometer via I2C/TWI Created 31 March 2006 Revised 30 August 2007 |

    // I2C Digital Potentiometer
    // by Nicholas Zambetti <http://www.zambetti.com>
    // and Shawn Bonkowski <http://people.interaction-ivrea.it/s.bonkowski/>

    #include <TwoWire.h>

    void setup()
    {
      Wire.begin(); // join i2c bus (address optional for master)
    }

    byte val = 0;

    void loop()
    {
      Wire.beginTransmission(44); // transmit to device #44 (0x2c)
                                  // device address is specified in datasheet
      Wire.send(0x00);            // sends instruction byte
      Wire.send(val);             // sends potentiometer value byte
      Wire.endTransmission();     // stop transmitting

      val++;        // increment value
      if(val == 64) // if reached 64th position (max)
      {
        val = 0;    // start over from lowest value
      }
      delay(500);
    }