
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.
ہدایات
Parts & Introduction
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
Hardware Hookup
Hardware Hookup
Wiring Instructions
Transistor + Relay Coil
- Connect transistor Base through 330Ω resistor to Arduino Digital Pin 2.
- Connect transistor Emitter to GND.
- Connect one side of the relay coil to transistor Collector.
- Connect other side of relay coil to 5V.
- Flyback Diode: Band (cathode) to 5V, anode to Collector.
Relay Contacts + LEDs
- Connect relay COMMON through a 330Ω resistor to 5V.
- Connect relay NC (Normally Closed) to LED 1 positive leg.
- Connect relay NO (Normally Open) to LED 2 positive leg.
- Connect both LED negative legs to GND.
Arduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
/*
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);
}Test & Experiment
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.
مواد
- •SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
- •Arduino Uno R3 - 1 pieceپلیس ہولڈر
- •Breadboard - 1 pieceپلیس ہولڈر
- •SPDT Relay - 1 piece
- •NPN Transistor (P2N2222A) - 1 pieceپلیس ہولڈر
- •Diode (1N4148) - 1 pieceپلیس ہولڈر
- •5mm LED - 2 piecessپلیس ہولڈر
- •330 Ohm Resistor - 2 piecessNOK 24.00
- •Jumper Wires - 14 piecessNOK 39.20
درکار اوزار
- Computer with Arduino IDE
CC0 پبلک ڈومین
یہ بلیو پرنٹ CC0 کے تحت جاری کیا گیا ہے۔ آپ اجازت لیے بغیر اس کام کو نقل، ترمیم، تقسیم اور کسی بھی مقصد کے لیے استعمال کرنے کے لیے آزاد ہیں۔
میکر کی حمایت کریں ان کے بلیو پرنٹ کے ذریعے پروڈکٹس خرید کر جہاں وہ میکر کمیشن وینڈرز کی طرف سے مقرر، کماتے ہیں، یا اس بلیو پرنٹ کی نئی تکرار بنائیں اور آمدنی شیئر کرنے کے لیے اسے اپنے بلیو پرنٹ میں کنکشن کے طور پر شامل کریں۔