Introduction
To put it simply, 74HC595 is a combination of 8-digit shifting register, memorizer and equipped with tri-state output. Here, we use it to control 8 LEDs. You may wonder why use a 74HC595 to control LED? Well, think about how many I/O it takes for an Arduino to control 8 LEDs? Yes, 8. For an Arduino 168, it has only 20 I/O including analog ports. To save port resources, we use 74HC595 to reduce the number of ports it needs. Using 74HC595 enables us to use 3 digital I/O port to control 8 LEDs!

Hardware Required
- 74HC595 chip*1
- REV4 board *1
- Red M5 LED*4
- Green M5 LED*4
- 220Ω resistor*8
- Breadboard*1
- USB cable *1
- Breadboard jumper wires*several
Note: for pin 13 OE port of 74HC595, it should be connected to GND
Video Tutorial
Connection
Connection for REV4:
Connection for 2560 R3:
The circuit may seem complicated, but soon you will find it easy!
Sample Code:
int data = 2;// set pin 14 of 74HC595as data input pin SI int clock = 5;// set pin 11 of 74hc595 as clock pin SCK int latch = 4;// set pin 12 of 74hc595 as output latch RCK int ledState = 0; const int ON = HIGH; const int OFF = LOW; void setup() { pinMode(data, OUTPUT); pinMode(clock, OUTPUT); pinMode(latch, OUTPUT); } void loop() { for(int i = 0; i < 256; i++) { updateLEDs(i); delay(500); } } void updateLEDs(int value) { digitalWrite(latch, LOW);// shiftOut(data, clock, MSBFIRST, ~value);// serial data “output”, high level first digitalWrite(latch, HIGH);// latch }
Result
After downloading the program, you can see 8 LEDs display 8-bit binary number.
All Tutorial
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 1: Hello World
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project Project 2: LED Blinking
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 3: PWM
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 4: Traffic Light
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 5: LED Chasing Effect
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 6: Button-controlled LED
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 7: Active Buzzer
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 8: Passive Buzzer
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 9: RGB LED
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 10: Photo Resistor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 11: Flame Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 12: LM35 Temperature Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 13: Tilt Switch
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 14: IR Remote Control
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 15: Analog Value Reading
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 16: 74HC595 driving LEDs
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 17: 1-digit LED Segment Display
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 18: 4-digit LED Segment Display
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 19: 8*8 LED Matrix
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 20: 1602 LCD
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 21: Servo Control
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 22: 5V Stepper Motor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 23: PIR Motion Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 24: Analog Gas Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 25: ADXL345 Three Axis Acceleration Module
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 26: HC-SR04 Ultrasonic Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 27: Joystick Module
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 28: 5V Relay Module
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 29: DS3231 Clock Module
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 30: DHT11 Temperature and Humidity Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 31: Soil Humidity Sensor
- Arduino UNO R3/MEGA 2560 R3 Starter Kit Project 32: RC522 RFID Module
Buy