초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

릴레이-LED 깜빡이기

2015-01-22 08:49:51

개요

1) 릴레이 (Relay)란 무엇인가?

전류가 흐르면 주변에 자기장이 형성됩니다. 코일을 원통에 감게되면 자기장이 중첩되면서, 코일의 중앙에 한 방향으로 작용하는 자기장이 형성됩니다. 코일안에 철심을 넣으면 자기장이 강해지면서 자석과 같은 힘이 발생하게 됩니다.

 

 

 

 

이와 같은 원리를 이용하여 만든 스위치를 릴레이라고 합니다. 다음 그림과 같이 전류가 흐르면 자력이 발생하여 스위치가 닫힌 상태로 되며, 전류가 흐르지 않을 때에는 자력이 없어져 스위치가 열린 상태로 됩니다. 

 



 

 

 

 

 

릴레이는 전기적으로 독립된 회로를 연동시켜 제어할 수 있다는 장점이 있습니다. 따라서, 적은 전력으로 큰전력을 제어하거나, 하나의 신호로 다수의 전원을 제어하는 등의 목적으로 사용되고 있습니다.

 

 

그러나, 릴레이는 기계적으로 접점을 닫거나 열기 때문에 고속동작이 어려우며, 소음도 발생시키는 단점이 있어,  최근에는 반도체를 활용한 릴레이가 많이 사용되고 있습니다. 
 

 

2) 릴레이 사용방법

이 예제에서 사용된 5핀 릴레이구조는 아래와 같습니다. 코일제어선은 1번과 2번으로 연결되어 있으며, 4번과 5번 두개의 접점이 있습니다.
코일에 전류가 흐르면 3번과 4번이 연결되며, 전류가 흐르지 않으면 3번과 5번이 연결됩니다. 실제로는 전자석(코일)의 위치가 위에 있어, 위아래로 동작합니다. 
 

 

부품 목록

NO 부품명 수량 상세설명
1 오렌지 보드 1  
2 릴레이 1 ALQ105
3 트랜지스터 1 2N2222
4 다이오드 1  
5 LED 2 LED(Red) x 1, LED(green) x 1
6 브레드 보드 1  
7 점퍼케이블 13  

 

 

부품명 오렌지 보드 릴레이 트랜지스터
파트

 

 

 

 

부품명 다이오드 LED 브레드 보드 점퍼케이블
파트

 

 

 

하드웨어 making

브레드 보드

1. 오렌지보드의  5V핀을 브레드보드의 +버스에 연결합니다.

2. 오렌지보드의 GND핀을 브레드보드의 -버스에 연결합니다.

3. 릴레이를 그림과 같이 핀의 개수를 확인 후, 양쪽 IC영역에 걸치도록 세로로 꽂습니다.

4. 트랜지스터의 평평한 면이 오렌지보드를 향하게하여 세로로 꽂습니다.

5. 다이오드의 띠가 오렌지보드를 향하게하여 IC영역에 걸치게 가로로 꽂습니다.

6. 빨간색 LED와 녹색 LED를 애노드(긴 단자)가 아래쪽으로 향하게하여 꽂습니다.

7. 각각 LED의 애노드에 330Ω 저항을 연결합니다.

 



8. 트랜지스터의 상단 단자 (Emitter)를 -버스에 연결합니다.

9. 트랜지스터의 가운데 단자 (Base)를 오렌지보드 5번핀에 연결합니다.

10. 트랜지스터의 하단 단자 (Collector)를 다이오드 애노드에 연결합니다.

11. 릴레이의 왼쪽 상단 핀을 다이오드의 캐소드에 연결합니다.

12. 릴레이의 오른쪽 상단 핀을 트랜지스터 하단 단자에 연결합니다.

13. 릴레이의 왼쪽 상단 핀을 +버스에 연결합니다.

14. 릴레이의 왼쪽 가운데 핀을 +버스에 연결합니다.

15. 릴레이의 오른쪽 하단 핀을 빨간색 LED의 애노드에 연결합니다.

16. 릴레이의 왼쪽 하단 핀을 녹색 LED의 애노드에 연결합니다.

17. 각각 LED의 캐소드(짧은)를 -버스에 연결합니다.


 

 

전자회로도


 

 

소프트웨어 moding

/*
 제목		: 릴레이로 LED 깜빡이기
 내용		: 릴레이가 연결되면 초록색 LED를 켜고, 끊겼을 때에는 빨간색 LED가 켜지도록 하여, 두 개의 LED가 번갈아가며 깜빡이도록 만들어 봅니다.
 */

// 릴레이를 5번 핀으로 설정합니다.
int relay = 5;

// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
// 변수를 선언하거나 초기화를 위한 코드를 포함합니다.
void setup() {
	// 릴레이가 연결된 핀을 OUTPUT으로 설정합니다.
	pinMode(relay, OUTPUT);
}

// setup() 함수가 호출된 이후, loop() 함수가 호출되며,
// 블록 안의 코드를 무한히 반복 실행됩니다.
void loop() {
	// 릴레이가 연결된 핀의 로직레벨을 HIGH (5V)로 설정하여, 릴레이의 접점이 붙도록 합니다.
	digitalWrite(relay, HIGH);
	// 0.5초 동안 대기합니다.
	delay(500);
	// LED가 연결된 핀의 로직레벨을 LOW (0V)로 설정하여, 릴레이의 접점이 떨어지도록 합니다.
	digitalWrite(relay, LOW);
	// 0.5초 동안 대기합니다.
	delay(500);
}

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

릴레이, 아두이노, 오렌지보드