
This is a pretty specialized thing to do - Think of an LED array that might need to be controlled by completely different microcontrollers depending on a specific mode setting built into your project.

You can only set the whole chip together. "3 states" refers to the fact that you can set the output pins as either high, low or " high impedance." Unlike the HIGH and LOW states, you can"t set pins to their high impedance state individually. You can learn to do that from the second example.

This means you can transmit 16 bits in a row (2 bytes) and the first 8 will flow through the first register into the second register and be expressed there.
#CONTOH CODING ARRAY 3 DIMENSI SERIAL#
The "serial output" part of this component comes from its extra pin which can pass the serial information received from the microcontroller out again unchanged. This is the "parallel output" part, having all the pins do what you want them to do all at once. Once the whole byte is transmitted to the register the HIGH or LOW messages held in each bit get parceled out to each of the individual output pins. This is in contrast to using the "asynchronous serial communication" of the Serial.begin() function which relies on the sender and the receiver to be set independently to an agreed upon specified data rate. It's by pulsing second pin, the clock pin, that you delineate between bits. you can pulse one pin up and down thereby communicating a data byte to the register bit by bit. How this all works is through something called "synchronous serial communication," i.e. The STP16C596 for example will drive 16 LED's and eliminates the series resistors with built-in constant current sources.)
#CONTOH CODING ARRAY 3 DIMENSI DRIVER#
(Users may also wish to search for other driver chips with "595" or "596" in their part numbers, there are many. You can link multiple registers together to extend your output even more.

The datasheet refers to the 74HC595 as an "8-bit serial-in, serial or parallel-out shift register with output latches 3-state." In other words, you can use it to control 8 outputs at a time while only taking up a few pins on your microcontroller. At sometime or another you may run out of pins on your Arduino board and need to extend it with shift registers.
