수리수리공방 모듈 · 디바이스 개발

온도 알림등을
만듭니다

디바이스 개발 M1 「켜고 읽는다」 — 재고, 정하고, 알리는 물건 하나

이 모듈이 끝나면 물건 하나가 손에 남습니다. 브레드보드breadboard 위에 개발보드 하나, 온도센서 하나, LED 하나. 평소에는 꺼져 있다가 정해 둔 온도를 넘으면 불이 켜집니다. 온실이 더워지는 것도, 창고가 얼어붙는 것도 같은 물건으로 봅니다. 아두이노를 배우는 게 아니라 이 물건을 만드는 것이 목표입니다. 아직 못 하는 것은 9절에 정직하게 적어 둡니다.

무엇을 하는 물건인가 온도센서 모듈 재는 것 = 감각 개발보드 정하는 것 = 판단 LED 알리는 것 = 행동 이 셋이 한 판 위에 올라가면 물건입니다. 하나라도 빠지면 실습입니다. 오늘 만드는 것 — 브레드보드 한 판 개발보드 USB 전원 + 레일 − 레일 온도센서 LED 220V는 이 판 위에 올라오지 않습니다 — 3절에서 이유를 봅니다.
만들기의 최소 단위는 세 덩어리입니다. 무엇을 만들든 이 셋이 들어갑니다.
M1 · 저전압만 다룹니다
USB 또는 어댑터 전원으로만 작업합니다
오늘 220V 배선 0회
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

완성품 하나

숫자 하나를 정하면, 그때부터 물건이 됩니다

센서는 온도를 알려주지 않습니다. 숫자를 보내 줄 뿐입니다. 그 숫자 어디에 선을 그을지 정하는 것은 사람입니다. 그 선이 이 물건의 전부입니다.

사람덥다고 느끼고, 참을지 정하고, 창문을 엽니다.
온도 알림등숫자를 읽고, 기준과 견주고, 불을 켭니다.
비유가 깨지는 곳 — 사람은 애매하게 판단하지만 이 물건은 선 하나로 자릅니다. 그래서 온도가 기준에 딱 걸치면 불이 깜빡깜빡 오락가락합니다. 고장이 아닙니다. 기준이 하나뿐이라 생기는 일입니다.
온도 기준 — 내가 정하는 숫자 꺼짐 켜짐 기준 아래 기준 위
같은 회로, 같은 코드입니다. 달라지는 것은 센서가 보내는 숫자 하나뿐입니다.

어디에 쓰나

기준을 낮게 잡으면 서리 경보가 됩니다. 온실이나 창고가 얼기 전에 알려 줍니다. 기준을 높게 잡으면 과열 경보가 됩니다. 비닐하우스가 한낮에 달아오를 때 켜집니다. 같은 물건을 숫자만 바꿔 두 가지로 씁니다.

이 물건이 하지 않는 것

온도를 숫자로 보여주지 않습니다. 화면이 없습니다. 알려 주는 것은 켜짐과 꺼짐뿐입니다. 기록하지 않습니다. 어제 몇 도였는지는 남지 않습니다. 멀리 알리지 않습니다. 그 자리에 가서 봐야 합니다.

셋 다 M2에서 붙이는 것입니다. 화면과 기록과 통신은 부품이 늘고 전원이 커지는 일이라, 먼저 선이 안 빠지는 물건이 되어야 얹을 수 있습니다.

수리수리공방 · 놀일2
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

이 계열의 안전은 성격이 다릅니다

남이 만든 220V가 아니라, 내가 만든 배선이 탑니다

5V는 사람을 감전시키지 않습니다. 손으로 만져도 아무 느낌이 없습니다. 대신 잘못 꽂은 선 하나가 부품을 태웁니다. 위험의 방향이 반대입니다. 감전과 응급 대응은 『해부학 교실』 0장과 부록을 그대로 씁니다.

타는 경우는 셋입니다

극성을 반대로 꽂았을 때, 플러스와 마이너스가 맞닿았을 때(쇼트short circuit), 부품이 견디는 것보다 큰 전기를 흘렸을 때입니다. 셋 다 전원을 넣는 순간 일어납니다. 그래서 전원은 마지막에 넣습니다.

금지220V는 이 모듈에 들어오지 않습니다

릴레이로 콘센트 기기를 켜는 프로젝트가 흔하지만, 그 순간 이 자료의 범위를 벗어납니다. 온도에 따라 히터나 팬을 켜고 싶으면 시판 스마트플러그를 쓰십시오. 이미 인증받아 나온 물건이 훨씬 안전하고 쌉니다.

금지리튬 배터리를 쓰지 않습니다

M1의 전원은 USB나 어댑터뿐입니다. 보호회로 없는 리튬 셀을 직결하는 것은 만들기에서 가장 흔한 화재 원인입니다.

이 모듈 안 USB 5V · 어댑터 · 저전압 직류만 이 모듈 밖 220V 배선 · 릴레이로 콘센트 기기 · 리튬 셀 직결 하고 싶으면 시판 스마트플러그를 쓰거나, 숙련자 입회 하에
선 위쪽만 오늘 다룹니다. 아래쪽은 M2에서도 다루지 않습니다.
수리수리공방 · 놀일3
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

부품이 아니라 모듈

이미 만들어진 판때기를 사서 잇습니다

낱개 부품이 무엇이고 어떻게 죽는지는 『해부학 교실』 도감에 있습니다. 만들기에서 손에 잡는 것은 대부분 이미 조립되어 나온 작은 판입니다. 회로를 설계하는 게 아니라 판과 판을 잇는 것이 M1의 일입니다.

개발보드

아두이노 우노 호환보드

판단을 맡는 판입니다. 안에 마이크로컨트롤러MCU · microcontroller가 들어 있고, 가장자리에 꽂을 구멍이 줄지어 있습니다.

이 물건에서 하는 일
센서 숫자를 읽고, 기준과 견주고, LED 핀을 켭니다. USB로 전원과 코드를 함께 받습니다.
여기서 틀린다
구멍마다 이름이 다릅니다. 5V·3.3V·GND·A0~A5·D0~D13. 이름을 안 보고 꽂으면 그날 끝납니다.
브레드보드

브레드보드

납땜 없이 꽂았다 뺐다 하는 판입니다. 속이 이미 이어져 있어서, 꽂는 게 아니라 이어진 줄 위에 올려놓는 것입니다.

이 물건에서 하는 일
보드와 센서와 LED를 만나게 해 줍니다. 어느 줄이 이어져 있는지는 5절에서 봅니다.
여기서 틀린다
오래 쓴 보드는 구멍이 늘어나 접촉이 나갑니다. 「되다 안 되다」의 주범입니다.
센서 모듈

온도센서 모듈

재는 일을 맡는 판입니다. 센서 알맹이에 필요한 부품이 이미 붙어 나와서, 선 세 가닥만 꽂으면 됩니다.

이 물건에서 하는 일
전원 두 가닥(+·−)을 받고, 신호 한 가닥으로 값을 내보냅니다.
여기서 틀린다
같은 이름의 모듈이 여러 종류입니다. 전압으로 내주는 것숫자로 내주는 것이 다릅니다. 사기 전에 확인합니다.
점퍼선

점퍼선jumper wire

판과 판을 잇는 선입니다. 양 끝이 핀인 것, 한쪽이 구멍인 것, 양쪽이 구멍인 것 세 종류가 있습니다.

이 물건에서 하는 일
보드 핀 ↔ 브레드보드, 센서 ↔ 브레드보드를 잇습니다. 양쪽이 핀인 것이 가장 많이 쓰입니다.
여기서 틀린다
여러 가닥이 꼬인 선은 브레드보드 구멍에 제대로 안 들어갑니다. 속이 한 가닥인 선을 씁니다.
LED

발광 다이오드diode

알리는 일을 맡습니다. 극성이 있습니다. 거꾸로 꽂으면 타지는 않지만 그냥 안 켜집니다.

이 물건에서 하는 일
긴 다리가 보드의 신호 핀 쪽, 짧은 다리가 저항을 거쳐 접지 쪽입니다.
여기서 틀린다
다리를 잘라 놓으면 길이를 못 봅니다. 그때는 몸통 한쪽이 평평한 쪽이 짧은 다리입니다.
저항

저항resistor

LED와 짝으로 씁니다. 전기가 몰려 들어가는 것을 막아 LED를 살려 둡니다.

이 물건에서 하는 일
LED의 짧은 다리와 접지 사이에 끼웁니다. 극성은 없어서 방향은 아무래도 됩니다.
여기서 틀린다
없이 꽂으면 LED가 죽습니다. 값은 수백 옴대를 쓰는 것이 보통입니다. 값을 고르는 계산은 『해부학 교실』 2장을 씁니다.

부품 이름과 값은 파는 곳마다 다르게 적혀 있습니다. 무엇을 사야 하는지는 10절의 질문으로 넘깁니다. 여기서 지어내지 않습니다.

수리수리공방 · 놀일4
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

배선의 절반은 브레드보드 속입니다

구멍에 꽂는 게 아니라, 이미 이어진 줄에 올려놓습니다

브레드보드는 겉보기에 구멍이 고르게 뚫려 있지만 속은 줄로 묶여 있습니다. 어느 줄이 어디까지 이어지는지 모르면 배선이 아니라 추측이 됩니다.

전원 레일 — 가로로 길게 + 이 줄 전체가 한 점 − 이 줄 전체가 한 점 중앙 골 위아래는 이어져 있지 않습니다 색칠한 덩어리 하나가 「이어진 한 점」입니다 가운데는 세로 다섯 칸씩만 묶입니다. 여섯 번째 구멍은 이미 다른 점입니다.
전원 레일은 가로로 길게, 가운데는 세로 다섯 칸씩. 부품의 두 다리를 같은 덩어리에 꽂으면 이어 놓은 게 아니라 다리끼리 맞닿게 한 것입니다.
+ 레일 − 레일 · 접지 개발보드 USB 전원 5V GND A0 D8 OUT 온도센서 모듈 VCC GND 긴 다리 짧은 다리 저항
전원은 보드에서 나와 레일로 모이고, 센서와 LED는 레일에서 받아 씁니다. 점이 찍힌 곳만 이어진 자리입니다.
무엇을어디에 꽂나틀리면
보드 5V브레드보드 + 레일센서가 아예 안 깨어납니다
보드 GND브레드보드 − 레일값이 널뛰거나 아무것도 안 읽힙니다
센서 VCC+ 레일같은 위
센서 GND− 레일같은 위
센서 OUT보드 A0숫자가 늘 같은 값으로 굳습니다
LED 긴 다리보드 D8거꾸로면 타지 않고 그냥 안 켜집니다
LED 짧은 다리저항을 거쳐 − 레일저항을 빼면 LED가 죽습니다
수리수리공방 · 놀일5
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

만드는 순서 ①

먼저 LED 하나만 켭니다. 센서는 아직 꽂지 않습니다

한꺼번에 다 붙이면 안 될 때 어디가 문제인지 알 수 없습니다. 하나 붙이고 확인, 하나 붙이고 확인입니다. 이 습관이 7절의 절반을 미리 막아 줍니다.

개발보드 D8 GND 긴 다리 짧은 다리 저항 부품 셋, 선 셋. 이게 오늘의 첫 회로 전부입니다.
D8에서 나간 전기가 LED와 저항을 지나 접지로 돌아옵니다. 길이 닫혀야 켜집니다.
보드를 USB로 컴퓨터에 연결한다
여기서 확인 — 보드 위 전원 표시등이 켜집니다. 안 켜지면 케이블부터 봅니다. 충전 전용 케이블은 데이터 선이 없어 아무 일도 일어나지 않습니다.
개발 도구에서 보드 종류와 포트를 고른다
여기서 확인 — 포트 목록에 보드가 나타납니다. 안 나타나면 여기서 멈춥니다. 다음 단계로 가도 소용없습니다.
기본 예제인 깜빡이를 그대로 올린다
여기서 확인 — 보드에 붙어 있는 작은 LED가 1초 간격으로 깜빡입니다. 배선은 아직 하나도 안 했습니다. 컴퓨터에서 보드까지 길이 뚫렸다는 증거만 얻는 단계입니다.
전원을 뽑고 LED와 저항을 꽂는다
긴 다리는 D8 쪽, 짧은 다리는 저항을 거쳐 − 레일로. 여기서 확인 — 아직 아무 일도 안 일어나는 게 정상입니다.
깜빡이 예제의 핀 번호를 8로 바꿔 다시 올린다
여기서 확인 — 브레드보드의 LED가 깜빡입니다. 여기까지 되면 출력이 완성된 것입니다. 절반 왔습니다.
수리수리공방 · 놀일6
디바이스 개발 · M1 켜고 읽는다 수리수리공방 모듈

만드는 순서 ②

다음은 센서입니다. 불은 잠시 잊고 숫자만 봅니다

센서를 붙이자마자 불까지 이으면, 안 켜졌을 때 센서 탓인지 불 탓인지 모릅니다. 먼저 숫자만 화면으로 불러냅니다.

온도센서 모듈 VCC GND OUT + 레일 − 레일 A0 핀 인쇄된 글자가 진실입니다. 선 색깔은 참고일 뿐입니다.
모듈마다 글자가 조금씩 다릅니다. +는 VCC·5V, −는 GND·G, 신호는 OUT·S·AO로 적힙니다.
USB를 뽑는다
배선은 전원이 없을 때만 바꿉니다. 3절의 그 이유입니다.
모듈에 인쇄된 핀 글자를 읽는다
사진이나 남의 배선도를 따라 하지 않습니다. 내 손에 있는 판의 글자를 봅니다.
세 가닥을 꽂는다
VCC는 + 레일, GND는 − 레일, 신호는 A0로. 여기서 확인 — 꽂고 나서 손으로 살짝 당겨 봅니다. 빠지면 아직 안 꽂힌 것입니다.
숫자를 화면으로 보내는 코드를 올린다
읽은 값을 컴퓨터로 흘려보내기만 하는 코드입니다. 8절에 나옵니다.
시리얼 모니터를 열고 손으로 센서를 감싼다
여기서 확인 — 숫자가 흐르고, 손을 대면 한쪽 방향으로 움직입니다. 안 움직이면 센서가 아니라 배선을 먼저 의심합니다.

센서는 크게 두 종류입니다

하나는 전압으로 알려주는 것입니다. 온도가 오르면 내보내는 전압이 함께 움직입니다. 보드는 그 전압을 숫자로 바꿔 읽습니다. M1에서는 이쪽을 씁니다. 따로 준비할 것이 없고, 숫자가 바로 흐릅니다.

다른 하나는 숫자로 알려주는 것입니다. 이미 계산된 값을 정해진 약속대로 보내옵니다. 더 정확하지만 그 약속을 풀어 주는 코드를 따로 얹어야 합니다. 사기 전에 어느 쪽인지 확인합니다. 파는 곳 설명에 아날로그·디지털로 적혀 있습니다.

수리수리공방 · 놀일7

여기까지가 미리보기입니다

나머지 6쪽은
회원에게 열려 있습니다

무료로 가입하시면 이 자료의 전체 내용을 이어서 보실 수 있습니다.

회원가입하고 이어 보기

이미 회원이시면 로그인