Ive got a project which makes use of the sparkfun wifi chip and requires 3 shift registers. I started out using pins 0,1,2 to control shift register one, 3,4,5 to control shift register two and 6,7,8 shift register three. I was under the impression that the wifly shield only used pins 9-13 but since writing my sketch pins 0,1 (tx and rx) have not responded as expected.
To overcome this can I use the analogue pins to control my shift register?
Is there a special way to declare these pins, or is it simply a case of using pins 14,15, and 16.
You connect ALL of the latches to one pin, and ALL of the clocks to one pin... Then you put the serial into register 1. The serial out on shift 1 goes to the serial in on shift register 2.
3 pins for an unlimited amount of shift registers.
Speed might be one reason to have independent shift registers. But if speed and a high amount of I/O pins are important, Arduino might not be the platform of choice.
Speed might be one reason to have independent shift registers. But if speed and a high amount of I/O pins are important, Arduino might not be the platform of choice.
I suspect not as any interfacing with shift registers is a bit bang operation in software so I can't see any realistic speed improvement of driving independent shift registers Vs a series string of shift registers. The use of external shift registers is a basic trade-off of speed Vs I/O pin count design decision, or if one has to utilize external IC devices that only communicate via serial I/O.