Shift Register on TinkerCad

by zswain26 in Circuits > Arduino

40 Views, 1 Favorites, 0 Comments

Shift Register on TinkerCad

Screenshot 2025-12-09 160506.png
Screenshot 2025-12-07 184709.PNG

đŸšĻ Shift Register Wiring: Safe & Simple Control

This guide shows you how to safely wire the 74HC595 shift register to an Arduino Uno on a virtual breadboard. We will set up the circuit to control the data flow with a slide switch and use only Digital Pin 13 for timing. Crucially, we use 470 ohm resistors to protect the chip from overcurrent.

In the preceding videos, I go over a shift register in CircuitVerse, TinkerCAD, and finally a physical version. However, this written guide is only for the TinkerCAD version.

🛑 Safety Disclaimer

Warning: Working with electronics and electricity can be dangerous if performed incorrectly.

By following these instructions, you acknowledge that you are working with electrical components and assume all risks associated with the assembly and use of this circuit.

  1. Always ensure your Arduino is unplugged from power (computer or wall adapter) before making any wiring changes.
  2. Do not substitute the resistor values: Using resistors smaller than 470 ohms may cause the 74HC595 shift register to overheat and fail.
  3. If you smell burning or feel a component getting hot, immediately unplug the Arduino and double-check your wiring against the instructions.

Proceed with caution and only if you are comfortable working with electronics.

Supplies

Screenshot 2025-12-09 161033.png
Screenshot 2025-12-09 161024.png
Screenshot 2025-12-09 161042.png

1x 8-Bit Shift Register (74HC595)

1x Arduino Uno

1x Slideswitch

8x 470 â„Ļ Resistors

8x Red LED

🔌 Part 1: Power and Constant Connections

We set up the constant power, ground, and pins that must be held ON or OFF.

Screenshot 2025-12-09 152248.png

Power the Breadboard

  1. Connect the 5V pin on the Arduino to the red (+) power rail.
  2. Connect the GND pin on the Arduino to the black (-) ground rail.

Screenshot 2025-12-09 152454.png

Power the Shift Register

  1. Connect the pin labelled POWER on the shift register to the red (+) power rail.
  2. Connect the pin labelled GROUND on the shift register to the black (-) ground rail.


Screenshot 2025-12-09 154503.png

Set Essential Control Pins

These pins must be tied to a permanent state for the chip to run correctly.

  1. Connect the pin labeled SHIFT REGISTER CLEAR to the red (+) power rail (5V). (This permanently disables the chip's reset function.)
  2. Connect the pin labeled OUTPUT ENABLE to the black (-) ground rail (GND). (This permanently turns the LED outputs ON.)

đŸ•šī¸ Part 2: Arduino and Switch Connections

We'll connect the three pins that control the shifting action: Clock, Latch, and Data.

Screenshot 2025-12-09 155225.png

Combine Clock and Latch on Pin 13

  1. Connect the pin labelled SHIFT REGISTER CLOCK to Arduino Digital Pin 13.
  2. Connect the pin labelled OUTPUT REGISTER CLOCK to the same wire or breadboard row as the SHIFT REGISTER CLOCK wire, connecting it to Arduino Digital Pin 13.

Screenshot 2025-12-09 155305.png

Wire the Data Switch

  1. Connect the center pin of the slide switch to the shift register pin labelled INPUT.
  2. Connect one outer pin of the switch to the red (+) power rail (5V). (Sets input to HIGH/1.)
  3. Connect the other outer pin of the switch to the black (-) ground rail (GND). (Sets input to LOW/0.)

💡 Part 3: Safe LED Output Connections

This configuration is safe because the 470 ohm resistors limit the current to about 6.4 mA per LED, keeping the entire chip's current draw well below the 70 mA safety limit.

Screenshot 2025-12-09 155931.png

Connect LEDs and Resistors

  1. Connect the anode (long, positive leg) of the first LED to the shift register pin labelled OUTPUT 1.
  2. Repeat this for the remaining seven LEDs, connecting their anodes to OUTPUT 2 through OUTPUT 8.
  3. Connect the cathode (short, negative leg) of each LED to one side of a 470 ohm resistor.
  4. Connect the other side of all eight resistors to the black (-) ground rail (GND).


Screenshot 2025-12-09 163043.png

đŸ’ģ Part 4: Arduino Code

This is the simplest code you can use. Since the Clock and Latch pins of your shift register are both wired to Arduino Digital Pin 13, this program automatically generates the timing needed to shift the data.

The Code

  1. Copy this code and upload it to your Arduino Uno:


// C++ code

//

void setup()

{

pinMode(LED_BUILTIN, OUTPUT);

}

void loop()

{

digitalWrite(LED_BUILTIN, HIGH);

delay(1000); // Wait for 1000 millisecond(s)

digitalWrite(LED_BUILTIN, LOW);

delay(1000); // Wait for 1000 millisecond(s)

}

Screenshot 2025-12-09 160425.png

🚀 Part 5: How to Use the Circuit

Now that the circuit is wired and the simple blink code is uploaded, you can manually control the data that shifts across your line of eight LEDs.

Screenshot 2025-12-09 161033.png

Observe the Automatic Clock

  1. Click the start simulation button in the upper right hand corner of the screen.
  2. The onboard LED on the Arduino (connected to Pin 13) will immediately start blinking ON for 1 second and OFF for 1 second. This blinking is the Clock Pulse that is driving your shift register.


Screenshot 2025-12-09 160506.png

Set your slide switch to HIGH (5V). Every two seconds, the shift register will load a '1', and you will see the LEDs turn on one by one, forming a traveling light.

Set your slide switch to LOW (GND). Every two seconds, the shift register will load a '0', and you will see the LEDs turn off one by one.