Programming/Raspberry Pi

[라즈베리 파이] 외부 전원제어(LAMP On/Off) C언어

DevMonster 2018. 11. 5. 00:42

라즈베리 파이로 LAMP(캔들 워머) 제어하기


[준비물] 라즈베리 파이, 멀티탭, 니퍼, 커터칼, 커넥터(male - female), 릴레이, 드라이버


1) 커터칼로 내측 전선이 손상되지 않도록 멀티탭의 피복을 분리한다.

멀티탭에는 3개의 선이 존재 하는데, 교류 전원 선 2개와 접지선 3개이다.

접지선을 제외한 선 하나를 아래와 같이 분리한다.


2) 분리한 전선을 아래와 같이 릴레이에 물려준다. 

220V 전압이므로 반드시 안전에 유의하자! 수축튜브나 절연테이프로 마감을 추천한다.


3) 릴레이 위쪽 단자와 라즈베리 파이를 연결한다.

 색상

 역할

 릴레이 단자

 라즈베리 파이 단자

 흰색

전원

VCC

5V

 노랑

 사용안함

사용안함

사용안함

 빨강

제어

IN1

GPIO20

 검정

접지

GND 

GND

반드시 GPIO20번에 할 필요는 없다. 원하는 GPIO port를 정해서 해보자.


GPIO Extension Board가 없다면 핀 배열은 아래의 방향과 동일하다.

같은 위치에 커넥터를 연결하자. 왼쪽 위가 1번 오른쪽 위가 2번이다.

검은선은 2번, 흰선은 6번, 빨간선은 오른쪽 아래에서 한 칸 위이다.


[C언어 소스코드]

- GPIO 패키지 설치: apt-get install wiringpi

- C 파일 Build: gcc -o lamp lamp.c -lwiringPi

- 실행: sudo ./lamp

- 종료: [Ctrl] + [c]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// apt-get install wiringpi
// gcc -o lamp lamp.c -lwiringPi
// sudo ./lamp
 
#include <stdio.h>
#include <wiringPi.h>
 
#define LAMP 20 // Enter your GPIO port
 
int main(void)
{
    wiringPiSetupGpio();
    pinMode(LAMP, OUTPUT);
 
    printf("********** LAMP Control **********\n");
    printf("*** STOP: [Ctrl] + [c]");
 
    while(1)
    {
        digitalWrite(LAMP, 0);
        delay(3000);
        digitalWrite(LAMP, 1);
        delay(3000);
    }
 
    return 0;
}
cs


[시연 동영상]

3초 간격으로 캔들 워머가 On / Off 된다.


728x90
반응형