직접 납땜 하기

by 김도현 | 2017-06-29 18:14

재료

  • 캐릭보드 싱글박스 1개

다음 단계로 원래 두 캐릭 보드들이 대화를 하는 프로그램을 작성해보려고 했습니다.

하지만 안타깝게도 납땜이 되어있는 키트가 없었습니다.


그래서 새롭게 납땜을 해보기로 정했습니다!

납땜 매뉴얼 : http://www.makewith.co/page/manual/96



1. PCB 준비

빈 기판(PCB)을 준비합니다.

구멍이 많아서 상당히 두려웠습니다. 없던 환 공포증이 생기려고 하더군요.

사실 오늘 안에 땜질을 끝내지 못해 포스팅을 할 수 없을 줄 알고 걱정이 많았습니다. 하지만 다해서 이렇게 포스트를 쓸 수 있게 되어 정말 기쁩니다.


그리고 이렇게, 점퍼 케이블을 꽂을 수 있는 친구를 준비합니다.

정확한 명칭을 모르겠네요. 짧은 쪽을 납땜할 예정입니다.


매우 당연히 인두와 납도 준비합니다.

저는 책상 위에 있던 스틱형 인두를 사용했는데요, 인두 거치대와 인두를 닦는 팁크리너가 함께 있습니다.



2. 납땜하기

납땜 방법은 매뉴얼을 참고하시면 좋을 것 같습니다.

썸네일 사진만 보고 '인두에 납을 갖다대면 끝이겠지' 생각하시면 나중에 고통받습니다! 

저는 이 영상이 납땜을 하는데 큰 도움이 되었습니다. 꼭 옆에 틀어놓고 납땜을 하시길 바랍니다.


극단적인 예시로 RTC 모듈을 들고왔습니다. RTC 모듈은 Real Time Clock의 약자로, 캐릭 보드가 시간을 관리할 때 필요한 모듈입니다.

오른쪽이 원래 책상에 있던 RTC이고, 왼쪽이 제가 직접 처음으로 땜질을 한 RTC 입니다.

차이가 극명하죠? 왼쪽으로 하면 정상적으로 기능이 작동하지 않을 것이라고 생각이 됩니다.

그 이유는 합선이 일어나게 납이 붙어있기 때문입니다. 따라서 오른쪽처럼 간격을 가질 수 있도록 최대한 인두를 컨트롤해줍니다.


그리고 혹시나 그러시지 않으시겠지만, 납을 책상에 흘리시면 안 됩니다.

아래와 같이 얼룩이 짐을 확인했습니다.

집에서 혼자 인두질을 하는 청소년 여러분들은 부모님께 혼 날 수 있으니 꼭 책상 보호차원에서 신문지를 깔고 하세요!

   

아 참! 화상도 조심하세요!

인두의 열 전도가 빠르게 일어납니다. 저는 침을 손으로 잡고 있다가 뎄습니다.


안타깝게도 저에게 핀을 꽂을 수 있는 저 친구가 없었습니다.

그래서 '그러면 나노 보드를 어떻게 연결하지?' 하고 고민하다가 점퍼 케이블로 PCB와 연결하자는 엉뚱한 생각을 했습니다.그래서 오로지 핀과 PCB 만을 연결하는 납땜을 시작합니다.




언제 땜질이 끝나나 싶었는데 결국에는 다 했습니다.

처음이라 그런지 미숙해서 여기저기 그을음도 보이고 그렇네요.



그렇게 저의 만고의 노력끝에 그로테스크한 캐릭보드가 탄생합니다.

나노보드와 PCB를 케이블로 연결했습니다.

다행스럽게도 작동은 정상적으로 잘 되는 것 같습니다.  테스트를 위해 코드를 넣고 실행해봅니다.



다음은 이전에 작성했던 돌아가는 무지개 코드입니다.

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
 
#define PIN 6
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(5, PIN, NEO_GRB + NEO_KHZ800);
 
int red = 0;
int green = 0;
int blue = 0;
int colors[5][3];
 
void setup() {
  strip.begin();
  Serial.begin(9600);
  red = 255;
  green = 255;
  blue = 255;
  
  //color initializing
  rainbow();
}
 
void rainbow() {
  colors[0][0= 255; colors[0][1= 0; colors[0][2= 0//빨
  colors[1][0= 255; colors[1][1= 255; colors[1][2= 0//노
  colors[2][0= 0; colors[2][1= 255; colors[2][2= 0//초
  colors[3][0= 0; colors[3][1= 0; colors[3][2= 255//파
  colors[4][0= 253; colors[4][1= 0; colors[4][2= 255//보  
}
 
void loop() {
  int tmp[3= {colors[0][0], colors[0][1], colors[0][2]};
  for (int i = 0; i < 4; i++) {
    int idx = i+1;
    for (int j = 0; j < 3; j++)
      colors[i][j] = colors[idx][j];
  }
  for (int j = 0; j < 3; j++)
      colors[4][j] = tmp[j];
      
  for (int i = 0; i < 5; i++) {
    strip.setPixelColor(i, strip.Color(colors[i][0], colors[i][1], colors[i][2]));
    strip.show();
  }
  delay(100);
}






보기에는 쫌 이상하지만 정상적으로 작동도 하고, 이렇게 일으켜 세울 수도 있습니다. 케이블이 마치 치즈같네요.

캐릭보드 스탠드 박스 안에 들어갈 지가 조금 걱정스럽습니다. 그래도 완성!




댓글 0

MADE BY

김도현

프로그래밍