홍창민정보·인공지능 교사

기초 · 난이도 보통

릴레이와 220V 학생 프로젝트에서 지켜야 할 선과 안전한 대안

릴레이 모듈은 피코의 작은 신호로 큰 전기를 켜고 끄는 스위치예요. 제어 쪽과 부하 쪽 배선, 3.3V 신호로 켜지지 않거나 꺼지지 않는 모듈 문제, 학생이 다뤄도 되는 부하의 기준, 220V가 필요할 때 쓰는 인증 IoT 릴레이 콘센트를 정리했어요.

글 홍창민 · 갱신 2026-10-31 · 읽는 데 약 5분 · 가상 실행 확인 (실물 미확인)

릴레이는 무엇을 하나

릴레이는 전기로 움직이는 스위치예요. 안에 작은 전자석(코일)이 있어서, 코일에 전류가 흐르면 쇳조각이 당겨져 다른 회로의 접점이 붙거나 떨어져요. 코일 쪽 회로(제어 쪽)와 접점 쪽 회로(부하 쪽)는 전기로 이어져 있지 않아요. 그래서 피코의 3.3V 신호로, 피코와 따로 전원을 쓰는 모터나 LED 스트립을 켜고 끌 수 있어요.

수업에서 쓰는 "1채널 릴레이 모듈"에는 릴레이, 코일을 켜는 트랜지스터, 역전압 다이오드, 표시 LED가 함께 붙어 있어요. 제품에 따라 옵토커플러(빛으로 신호를 건네는 부품)가 하나 더 들어 있기도 해요.

제어 쪽 배선

모듈 핀 이을 곳 비고
VCC 피코 VBUS(40번, 5V) 5V 릴레이 코일 전원. 코일이 켜지면 70mA 안팎을 써요
GND 피코 GND 공통 접지
IN 피코 GP 핀(예: GP15) 켜고 끄는 신호

릴레이 코일을 피코 핀에 바로 연결하면 안 돼요. 코일은 피코 핀이 낼 수 있는 전류보다 훨씬 많이 쓰고, 끌 때 높은 역전압이 생겨요. 반드시 트랜지스터와 다이오드가 들어 있는 모듈을 써요.

3.3V 신호 문제

많이 파는 5V 릴레이 모듈은 아두이노(5V)에 맞춰 만들어졌어요. 그중 Low 트리거 모듈은 IN이 0V일 때 켜지고 5V일 때 꺼지는데, 피코의 1(3.3V)로는 완전히 꺼지지 않을 수 있어요. 코드에서 껐는데도 릴레이가 붙어 있거나 표시 LED가 흐리게 켜져 있다면 이 문제예요. 해결 방법은 이래요.

  • 3.3V 신호용이라고 적힌 모듈이나 High/Low를 고르는 점퍼가 있는 모듈을 사서 High 트리거로 써요.
  • 옵토커플러 모듈의 JD-VCC 점퍼를 쓰는 방법도 있지만 배선이 헷갈리니, 처음에는 3.3V용 모듈을 권해요.

부하 쪽 배선과 학생이 다뤄도 되는 기준

부하 쪽에는 나사 단자 세 개가 있어요. COM(공통), NO(평소 열림: 릴레이가 켜지면 붙음), NC(평소 닫힘: 켜지면 떨어짐)예요. 보통은 COM과 NO를 써서 "켜면 부하가 켜지게" 해요.

이 자료실과 시나브로 PICO 작업대는 학생 실습 부하를 이렇게 정해 두었어요.

부하 학생 실습 이유
5V 직류 모터·팬(보조 배터리·5V 어댑터) 해도 돼요 감전 위험이 없는 낮은 전압
12V 직류 LED 스트립·작은 펌프(12V 어댑터) 해도 돼요, 극성 확인 낮은 전압, 어댑터가 따로 전원을 줘요
220V 전등·선풍기·멀티탭(콘센트) 하지 않아요 감전·화재 위험

모듈에 "10A 250VAC"라고 적혀 있어도, 그 숫자는 접점이 견디는 한계일 뿐 학생이 220V를 배선해도 된다는 뜻이 아니에요. 값싼 릴레이 모듈은 기판 아래 납땜과 나사 단자에 220V가 그대로 드러나고, 손이나 금속 점퍼선이 닿으면 감전돼요. 전선 굵기와 피복, 차단기, 덮개까지 갖춰야 하는 일이라 교실 실습 범위를 넘어요.

220V를 꼭 켜야 할 때

전등이나 가전을 켜는 작품이 꼭 필요하다면, 선생님과 함께 인증받은 IoT 릴레이 콘센트를 써요. 콘센트 모양의 밀폐된 제품으로, 220V는 제품 안에서만 흐르고 바깥에는 낮은 전압 제어 단자(+, −)만 나와 있어요. 제어 단자가 받는 전압 범위가 3.3V를 포함하는 제품이면 피코의 GP 핀과 GND만 이으면 돼요. 학생은 220V 쪽을 열거나 고치지 않아요. 제품 설명서의 제어 전압·제어 전류와 정격을 선생님이 먼저 확인해요. 제어 단자가 GP 핀이 낼 수 있는 것보다 큰 전류를 요구하면 GP 핀에 바로 잇지 않아요(전원 계산).

시나브로 PICO 작업대에서 릴레이 부하를 "220V"로 고르면 빨간 정지 카드가 뜨고 가상 실행도 막혀요. [IoT 릴레이 콘센트로] 단추를 누르면 제어선 두 개(+·−)만 잇는 배선으로 바뀌어요.

코드: 켜고 끄는 간격

from machine import Pin
import time

relay = Pin(15, Pin.OUT)       # GP15 → 릴레이 모듈 IN (High 트리거 모듈 기준)
relay.off()

for i in range(3):
    relay.on()                  # 부하 켜기
    print(f"DATA: relay=1, round={i + 1}")
    time.sleep(3)
    relay.off()                 # 부하 끄기
    print(f"DATA: relay=0, round={i + 1}")
    time.sleep(3)
print("끝: 릴레이를 껐어요")

릴레이는 기계 부품이라 붙었다 떨어질 때마다 접점이 조금씩 닳아요. 큰 부하를 끊을 때는 접점에 작은 불꽃도 튀어요. 0.1초마다 켜고 끄는 코드는 릴레이를 금방 망가뜨리니, 켜고 끄는 사이를 1초 이상 두어요. 시나브로 PICO는 가상 실행에서 릴레이를 1초에 여러 번 켜고 끄면 실행 결과 창에 경고를 띄워요. 밝기를 빠르게 바꾸고 싶다면 릴레이가 아니라 MOSFET이나 모터 드라이버를 써요.

모터를 켤 때

직류 모터는 끌 때 코일에서 높은 역전압이 생겨요. 모터 양 끝에 역전압 다이오드(예: 1N4007, 띠가 있는 쪽을 +에)를 달면 접점과 주변 부품을 보호할 수 있어요. 모터 전원(배터리·어댑터)과 피코 전원은 따로 쓰고, 릴레이 접점만 모터 회로 중간에 넣어요.

자주 하는 실수

  1. NO와 NC를 바꿔 잇기. 피코가 꺼져 있을 때 부하가 켜져 있다면 NC에 이은 거예요.
  2. Low 트리거 모듈을 3.3V 신호로 끄려고 하기. 위의 3.3V 신호 문제를 확인해요.
  3. 부하 전원을 피코 5V에서 가져오기. 모터는 순간 전류가 커서 피코가 재부팅돼요. 부하 전원은 따로 써요.
  4. 전원이 들어간 채로 나사 단자를 조이기. 배선은 모든 전원을 끄고 바꿔요.
  5. 220V 멀티탭 선을 잘라 릴레이에 잇기. 하지 않아요. 인증 IoT 릴레이 콘센트를 써요.

더 알아보기

글쓴이

홍창민 · 울산 학성고등학교 정보·인공지능 교사. 수업에 쓰는 도구(시나브로 PICO 웹 IDE, 학교 AI 서버 등)를 직접 만들어 운영해요. 소개 보기 · 고칠 곳 알려 주기