Hello. Ive done a bit of searching and can't seem to find an answer. I am trying to understand exactly how to program for these digital potentiometers. Here is a link to the datasheet. www.onsemi.com/pub/Collateral/CAT5113-D.PDF . I've read through the data sheet, but I am still confused on how exactly to program for it. I dont even know what questions to ask really. I am trying to understand the timing diagram I guess. How do I program to go up or down, or to store a position?
From the Arduino, besides power and ground, you need to hook up 3 pins to digital outputs on the Arduino: CS (chip select) INC (increment control) U/D (up/down control)
I'll let the electrical guru's chime in, but I'm pretty sure you'd want a resistor between all three Arduino pins and the pins on the potentiometer.
To increment the slider: 1a. Make sure U/D is pulled HIGH (digitalWrite(UD_PIN, HIGH)) 1b. Make sure INC is pulled HIGH (digitalWrite(INC_PIN, HIGH)) 1c. Make sure CS is pulled HIGH (digitalWrite(CS_PIN, HIGH)) 2. Pull CS LOW (digitalWrite(CS_PIN, LOW)) 3. Wait at least "tCI" (100ns) 4. Pull INC pin LOW (digitalWrite(INC_PIN_LOW))
You have now incremented the value!
To store the result:
- Wait at least "tIL" (250ns)
- Return INC to HIGH (digitalWrite(INC_PIN, HIGH))
- Wait at least "tIC" (1us; I'd probably wait longer :) )
- Return CS to HIGH (digitalWrite(CS_PIN, HIGH))
If you don't want to store the value, skip step 6. & 7.
Hope this helps....