སྒྱུ་རྩལ
མཛེས་སྡུག་དང་བདེ་ཐང
བཟོ་རིག
རིག་གནས་དང་ལོ་རྒྱུས
དགའ་སྟོན
ཁོར་ཡུག
ཟས་དང་བཏུང་རྫས
ལྗང་མ་འཇོར་ལུགས
ཕྱིར་འཕྲུལ་རིག
ཚན་རིག
རྩེད་འགྲན
རིག་རྩལ
གྱོན་རུང
Using Relays — SIK Circuit 13
Ed

Created by

Ed

17. March 2026

Using Relays — SIK Circuit 13

Control a relay with a transistor to switch between two LEDs. Learn about electromechanical switching, SPDT relays, Normally Open vs Normally Closed contacts, and flyback protection.

Instructions

1

Parts & Introduction

A relay is an electrically-operated mechanical switch. A small current energizes a coil that physically moves a contact arm, switching a separate circuit. Relays can control high-power devices (motors, lights, appliances) from low-power Arduino signals. This experiment uses an SPDT (Single Pole Double Throw) relay to alternate between two LEDs.

Parts Needed

  • 1x Arduino Uno + USB cable
  • 1x Breadboard
  • 1x SPDT Relay
  • 1x NPN Transistor (P2N2222A)
  • 1x Diode (1N4148)
  • 2x LEDs (different colors)
  • 2x 330Ω Resistors
  • 14x Jumper Wires
2

Hardware Hookup

Wiring Instructions

Transistor + Relay Coil
  1. Connect transistor Base through 330Ω resistor to Arduino Digital Pin 2.
  2. Connect transistor Emitter to GND.
  3. Connect one side of the relay coil to transistor Collector.
  4. Connect other side of relay coil to 5V.
  5. Flyback Diode: Band (cathode) to 5V, anode to Collector.
Relay Contacts + LEDs
  1. Connect relay COMMON through a 330Ω resistor to 5V.
  2. Connect relay NC (Normally Closed) to LED 1 positive leg.
  3. Connect relay NO (Normally Open) to LED 2 positive leg.
  4. Connect both LED negative legs to GND.
3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

relay.inoarduino
/*
SparkFun Inventor's Kit
Example sketch 13 — RELAYS

Use a transistor to drive a relay, alternating two LEDs.

Hardware connections:
  Transistor BASE through 330 ohm resistor to digital pin 2
  Transistor EMITTER to GND
  Relay coil: one side to COLLECTOR, other to 5V
  Flyback diode: band to 5V, anode to COLLECTOR
  Relay COMMON through 330 ohm to 5V
  Relay NC to LED 1 positive, Relay NO to LED 2 positive
  Both LED negatives to GND

This code is completely free for any use.
*/

const int relayPin = 2;
const int timeDelay = 1000;

void setup()
{
  pinMode(relayPin, OUTPUT);
}

void loop()
{
  digitalWrite(relayPin, HIGH);  // Relay on (COM connects to NO)
  delay(timeDelay);

  digitalWrite(relayPin, LOW);   // Relay off (COM connects to NC)
  delay(timeDelay);
}
4

Test & Experiment

What You Should See

You should hear the relay clicking, and see the two LEDs alternating — one on, one off — switching every second.

Troubleshooting

  • LEDs not lighting: Check LED polarity — longer leg is positive.
  • No clicking sound: The transistor or coil circuit isn't working. Verify transistor orientation and coil connections.
  • Relay not making good contact: The SIK relay is designed for soldering, not breadboarding. Press it firmly to ensure all pins contact.
  • Confusion: Don't mix up the TMP36 temperature sensor with the transistor!

Experiments to Try

  • Replace the LEDs with a motor on the NO contact — use the relay as a motor on/off switch.
  • Use a button to control when the relay toggles.
  • Add variable delay to create morse code patterns.

Materials

  • SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
    View
  • Arduino Uno R3 - 1 piecePlaceholder
    View
  • Breadboard - 1 piecePlaceholder
    View
  • SPDT Relay - 1 piece
  • NPN Transistor (P2N2222A) - 1 piecePlaceholder
    View
  • Diode (1N4148) - 1 piecePlaceholder
    View
  • 5mm LED - 2 piecessPlaceholder
    View
  • 330 Ohm Resistor - 2 piecessNOK 24.00
    View
  • Jumper Wires - 14 piecessNOK 39.20
    View

Tools Required

  • Computer with Arduino IDE

CC0 Public Domain

This blueprint is released under CC0. You are free to copy, modify, distribute, and use this work for any purpose, without asking permission.

Support the Maker by purchasing products through their Blueprint where they earn a Maker Commission set by Vendors, or create a new iteration of this Blueprint and include it as a connection in your own Blueprint to share revenue.

Discussion

(0)

Log in to join the discussion

Loading comments...