Yea, that's what I thought when I looked the data sheet up. I don't know why they suggested the negative voltage on the Arduino forums.
I'm going to use a I2C backpack to drive it. I think that's a shift register? Also, if you don't mind, could you explain what shift register is to me? I've read about it but I'm still not very clear about it. I know it takes the signal from the Arduino and processes it someway making it possible to use less pins to power the LCD or other stuff but that's about it.
Also, if it's 0-1V it should be fine. I didn't know that, thanks!
In its simplest form a shift register is a cascade of D type flip flops that share the same clock , D is data input and Q is the flip flops data output .
they allow data to be shifted in as binary by serial and then output the data all in one go on its outputs .
Example using the 74HC595 8 Bit shift register ( very common PDIP sift register ) .
There are 8 outputs and 3 inputs that we care about ( there are others but ill skip them )
Latch - When this is pulled high data in the flip flops is transferred to the outputs .
Clock - Master clock for the flip flops
Data - input to the first flip flops D input .
Q0 - Q7 - Outputs from each register
We want to shift out the byte to the register - 10011001 . Each pin is represent by the single number with a 1 been output ON and 0 been output OFF -
Starting in order of how the Arduino controls them .
1 . Latch pin is pulled low .
2 . Data pin is pulled HIGH ( this represent a 1 )
3. Clock transitions from LOW to HIGH
Now when this happens the HIGH ( 1 ) is transferred to the Q0 on the first shift register .
Next we have a 0 so ,
4. Clock transitions from HIGH to LOW
5. Data pin is pulled LOW ( this represents a 0 )
6. Clock transitions from LOW to HIGH .
Now remember that we have a 1 in the first register and they all share the same clock so when step 4 - 6 happen the 1 in Q0 moves over the Q1 and the 0 moves to Q0
Steps 1 - 3
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
1 0 0 0 0 0 0 0
Steps 4 - 6
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
0 1 0 0 0 0 0 0
Next 0
7. Clock transitions from HIGH to LOW
8. Data pin is pulled LOW ( this represents a 0 )
9. Clock transitions from LOW to HIGH .
Steps 7 - 9
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
0 0 1 0 0 0 0 0
Next 1
10. Clock transitions from HIGH to LOW
11. Data pin is pulled HIGH ( this represents a 1)
12. Clock transitions from LOW to HIGH .
Steps 10 - 12
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
1 0 0 1 0 0 0 0
Now this happens for the next 4 bits and when that is done the latch pin is pulled high and then data we have just shifted in will turn on the appropriate outputs
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
1 0 0 1 1 0 0 1
That's my attempt to explain it xD , I use them a lot in my numitron clocks to control 7 segment displays