SBRDIYables
Published © GPL3+

Working with Shift Register

This project demonstrates the working with Shift Register.

BeginnerProtip17,180
Working with Shift Register

Things used in this project

Story

Read more

Schematics

Breadboard Diagram

Make connections as shown in the breadboard diagram

Code

All LEDs blinking together

Arduino
Code to make all LEDs blink together.
const int DataPin = 2;
const int ClockPin = 3;
const int LatchPin = 4;

void setup()
{
	pinMode (DataPin, OUTPUT);
	pinMode (ClockPin, OUTPUT);
	pinMode (LatchPin, OUTPUT);
}

void loop()
{
digitalWrite (LatchPin, LOW);
shiftOut (DataPin, ClockPin, LSBFIRST, 255);
digitalWrite (LatchPin, HIGH);
delay (1000);
digitalWrite (LatchPin, LOW);
shiftOut (DataPin, ClockPin, LSBFIRST, 0);
digitalWrite (LatchPin, HIGH);
delay (1000);
}

LEDs ON one by one and OFF one by one

Arduino
LEDs will be ON one by one and will be OFF one by one
const int DataPin = 2;
const int ClockPin = 3;
const int LatchPin = 4;

byte Data = 0;

void setup()
{
  pinMode (DataPin, OUTPUT);
  pinMode (ClockPin, OUTPUT);
  pinMode (LatchPin, OUTPUT);
}

void loop()
{
  shiftWrite (0,1);
  delay(1000);
  shiftWrite (1,1);
  delay(1000);
  shiftWrite (2,1);
  delay(1000);
  shiftWrite (3,1);
  delay(1000);
  shiftWrite (4,1);
  delay(1000);
  shiftWrite (5,1);
  delay(1000);
  shiftWrite (6,1);
  delay(1000);
  shiftWrite (7,1);
  delay(1000);
  shiftWrite (0,0);
  delay(1000);
  shiftWrite (1,0);
  delay(1000);
  shiftWrite (2,0);
  delay(1000);
  shiftWrite (3,0);
  delay(1000);
  shiftWrite (4,0);
  delay(1000);
  shiftWrite (5,0);
  delay(1000);
  shiftWrite (6,0);
  delay(1000);
  shiftWrite (7,0);
  delay(1000);
}

void shiftWrite(int Pin, boolean State)
{
  bitWrite (Data, Pin, State);
  digitalWrite (LatchPin, LOW);
  shiftOut (DataPin, ClockPin, MSBFIRST, Data);
  digitalWrite (LatchPin, HIGH);
}

Credits

SBR
37 projects • 52 followers
Mechanical Engineer
DIYables
0 projects • 88 followers
I would like to invite you to join and add your projects to DIYables platform https://www.hackster.io/diyables

Comments