Step 13.:Larger Loads:. (Relays) - CIRC11
What We're Doing:
The final circuit is a bit of a test. We combine what we learned about using transistors in CIRC03 to control a relay. A relay is an electrically controlled mechanical switch. Inside the little plastic box is an electromagnet that, when energized, causes a switch to trip (often with a very satisfying clicking sound). You can buy relays that vary in size from a quarter of the size of the one in this kit up to as big as a fridge, each capable of switching a certain amount of current. They are immensely fun because there is an element of the physical to them. While all the silicon we've played with to this point is fun sometimes you just want to wire up a hundred switches to control something magnificent. Relays give you the ability to dream it up then control it with your Arduino. Now to using todays technology to control the past. (The 1N4001 diode is acting as a flyback diode for details on why its there visit: http://tinyurl.com/b559mx)
(you can also download the breadboard layout sheet from the bottom of this step)
The Parts:
- CIRC-11 Breadboard Sheet
- 2 Pin Header (x4)
- Transistor (P2N2222AG) (x1)
- Relay (DPDT) (x1)
- 2.2k ohm Resistor (red-red-red) (x1)
- 560 ohm Resistor (red-red-red) (x2)
- 5mm Red LED (x1)
- 5mm Green LED (x1)
- Diode (1n4001) (x1)
The Circuit and Plugging Everything In:
A Small Video of Everything Being Plugged in
The Code: - File > Sketchbook > Examples > Digital > Blink
/* * Blink * * The basic Arduino example. Turns on an LED on for one second, * then off for one second, and so on... We use pin 13 because, * depending on your Arduino board, it has either a built-in LED * or a built-in resistor so that you need only an LED. * * http://www.arduino.cc/en/Tutorial/Blink */int ledPin = 2; // *********** CHANGE TO PIN 2 ************void setup() // run once, when the sketch starts{ pinMode(ledPin, OUTPUT); // sets the digital pin as output}void loop() // run over and over again{ digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second}Not Working?
- Nothing Happens - The example code uses pin 13 and we have the relay connected to pin 2. Make sure you made this change in the code.
- No Clicking Sound - The transistor or coil portion of the circuit isn't quite working. Check the transistor is plugged in the right way.
- Not Quite Working - The included relays are designed to be soldered rather than used in a breadboard. As such you may need to press it in to ensure it works. (and it may pop out occasionally)
Making it Better:
Controlling a Motor
In CIRC-03 we controlled a motor using a transistor. However if you want to control a larger motor a relay is a good option. To do this simply remove the red LED, and connect the motor in its place (remember to bypass the 560 Ohm resistor)
Controlling Motor Direction
A bit of a complicated improvement to finish. To control the direction of spin of a DC motor we must be able to reverse the direction of current flow through it. To do this manually we reverse the leads. To do it electrically we require something called an h-bridge. This can be done using a DPDT relay to control the motor's direction, wire up the circuit below (DPDT Relay H-Bridge).
It looks complicated but can be accomplished using only a few extra wires. Give it a try.
CIRC11-sheet.pdf(630x810) 48 KB| « Previous Step | Download PDFView All Steps | Next Step » |
3
comments
|
Add Comment
|
achollowell
says:
![]() |
Add Comment
|























































