Multiple Beaglebone black for SETI@home(Boinc)

우주인과 대화하기

병원에서 당직설 때마다 한번씩 옥상에 올라가 하늘을 봅니다. 서울 하늘이라 그다지 많은 별이 보이지는 않지만, 그래도 몇 개 발견하면 Stellarium같은 앱을 통해서 무슨 별인지 찾아도 보고 한답니다. 그런데… 하늘에 떠 있는 저 많은 별들 중에 외계 생명체가 살 지 모른다고 상상하면 어떨까요…? 물론 가능한 일이므로 많은 사람들이 그 연구를 하고 있습니다.

SETI 프로젝트

seti-image-2

SETI프로젝트는 외계의 지적생명 탐사(Search for Extra-Terrestrial Intelligence; SETI)라고 불리며 외계 행성들에서 오는 전자기파를 찾거나 보내는 연구를 하는 활동이랍니다[2]. 간단히 말하면 이렇습니다.

  • 지구에서 사용하는 모든 무선 통신은 강약의 차이는 있지만 온 우주로 퍼져나가게 되어있어.
  • 결국 우리만큼 문명화된 외계인이 있다면 우리의 신호를 받고 분석하고 있을지도 몰라.
  • 만약 문명화된 외계인이 있다면 라디오(무선신호, 전자기파)를 쓰지 않을까?
  • 좋아! 그럼 커다란 레이다를 설치해 놓고 우주에서 오는 신호를 받아서 분석해보자!

이런 생각으로 현재 푸에르토리코 아레시보 남쪽에 305m짜리 전파망원경을 걸어놓고 신호를 받기 시작했습니다.

Arecibo_Observatory_Aerial_View

문제는 외계 신호를 받기는 하는데 이 데이타를 분석하는 단계에 엄청난 계산 능력의 컴퓨터가 필요하다는 것이었습니다.

이걸 전부 돈 주고 살 수도 없고… 아무리 돈을 주고 사도 실시간으로 들어오는 데이타를 동일한 속도로 분석하기에는 불가능에 가까웠지요.

결국 그리드 컴퓨팅 기술이 추가되어 SETI@Home이라는 프로그램이 나오게 되었습니다.

이 프로그램의 작동 원리는 이렇습니다.

전파 데이타를 작게 쪼개서 프로젝트에 참여하고 있는 컴퓨터들에게 자료를 보내줍니다. 그리고 각각의 컴퓨터는 자신의 할당 부분을 열심히 계산한 후 결과값을 서버에 돌려주는 것이지요. 이런 방식으로 컴퓨터 구입에 막대한 지출을 하지 않고도 충분한 컴퓨팅 파워를 얻을 수 있게 된 것입니다.

현재는 Boinc라는 SETI프로젝트 뿐만 아니라 다양한 연구에 도움을 줄 수 있는 프로그램으로 변신했지요..

아무튼 SETI 프로젝트에서는 엄청난 컴퓨팅 파워가 필요했고, 그걸 지구상의 수많은 컴퓨터 사용자들이, 컴퓨터의 유휴시간동안 계산해서 도움을 줄 수 있게 되었답니다.

그럼… 구구절절 이야기는 여기까지 하고 본격적으로 SETI@Home을 설치해 볼까요?

Prerequisite

SETI@Home을 위해 Boinc를 설치하기 위해서는 다음의 사양이 요구됩니다.

  • 컴퓨터
  • 인터넷 연결
  • 조금의 하드디스크 공간
  • 선택: GPU연산이 잘 되는 비디오 카드(NVIDIA)

그래요.. 그냥 인터넷에 연결되는 컴퓨터가 있으면 된다는 뜻입니다. 물론 아주 연산속도가 빠른 인텔 i7 프로세서를 달고 있는 워크스테이션이면 더 좋겠지만… SETI프로젝트에서 하는 일 자체가 단순 연산뿐이라 실제 CPU속도에는 크게 영향을 받지 않습니다. 되려 최근에는 엄청난 연산속도를 자랑하는 비디오카드가 더 유리하다고 하더군요. 특히 NVIDA카드는 CUDA라는 기술을 이용해서 이런 이득을 확실히 볼 수 있데요. 근데.. ATI Radeon은 아직 지원을 하지 않는다고 하더군요… 윈도우에서는 어떤지 몰라도 우분투에서는 확실히 안됩니다.

그럼 전 집에서 놀고 있는 비글본 블랙(Beaglebone black)으로 BOINC를 돌려보기로 했습니다.

비글보드에 우분투 설치 후 BOINC설치와 작동까지..

Beaglebone Black용 준비물

  • Beaglebone black 보드
  • 5V 2.0A 전원
  • 4GB이상의 MicroSD 한 개
  • USB 키보드
  • 랜 케이블
  • 비디오 출력 케이블(microHDMI)과 모니터
  • 옵션: USB 허브와 USB마우스. 그리고 이더넷 허브

만약, 유무선공유기(게이트웨이)의 접속비밀번호를 알고 계신다면 작업 중간에 비글보드에 고정 IP를 할당하시는게 도움이 됩니다. 그래야 나중에 SSH로 접속해서 요녀석들을 조종할 때 편하거든요.

비글보드에 Ubuntu 이미지 설치하기

우선 ARM 프로세서용 우분투 이미지가 필요하겠지요? 이미 천채들이 다 만들어 놨습니다[4]. ㅋㅋ

eLinux.org에 들어가보면 쉽게 구할 수 있는데요, 이 사이트에 들어가셔서 요걸 클릭하시거나 터미널에서 다운 받으면 됩니다. 걍 아래 링크를 클릭하셔도 되요!

용량은 약 187MB정도이고요.. 4GB microSD에 설치하기 위해 만들어진 이미지입니다.

대부분의 설치 설명해서는 dd명령이라는 터미널 명령을 많이 권하는데, 저같은 무식이들은 이런거 싫어하지요..; dd명령을 현재 진행상태도 알려주지 않고 또 사람들이 두려워하는 암호같은 영어 명령을 많이 쳐야 하니까요.

그냥 다운로드 폴더에서 압축을 푼 다음 .img파일을 찾습니다.

만약 저처럼 우분투를 사용하시는 사용자라면 img파일을 찾아서 마우스 오른쪽 클릭 해보면 제일 위에 ‘이미지를 디스크에 쓰기’ 명령이 보일겁니다. microSD를 넣고 실행시키세요. 반면에 윈도우 사용자라면 Win32 Disk Imager라는 프로그램을 다운받아 실행시키면 됩니다.

다 만들어 졌나요?? 그럼 다음 단계로…

비글보드에 새로운 이미지 설치하기

우선 비글보드의 모든 전선을 다 뽑습니다. 촤악! 그리고 microSD를 삽입합니다.

삽입 후에서는 microSD슬롯 옆의 부트 스위치를 눌러야 합니다. 이때 오래 누르고 있어야 하니 걍 연필 뒤쪽이나 평평한 볼펜 엉덩이로 가볍게 눌러주고 있으면 됩니다. 주의할 것은 전원을 인가하고 나서도 계속 누르고 있어야 한다는 겁니다.

부트 스위치를 누른채로 전원을 인가합니다. 이때 전원은 5V 2A의 어뎁터가 가장 좋습니다. 아니면 USB client쪽으로 전원을 넣어도 되는데 PC와의 연결은 안됩니다.

CONN_REVA5A
전원을 넣으면 잠시 심박동 스타일의 LED가 깜박이다가 몇 초 지나면 4개의 LED가 순서대로 주루룩~ 주루룩~ 불이 켜졌다 꺼집니다. “아 이런, 새로운 이미지를 복사하시겠다구요?” 라는 뜻으로 이해하시면 되고, 이제 부트 스위치에서 손을 떼셔도 됩니다.
한참동안 혼자 깜박이며 뭔가를 합니다. 모니터에 연결도 안되어 있으니 무슨 일을 하는지도 모르겠고, 불안한 마음을 달래며 5~25분을 기다립니다. LED 4개가 동시에 켜집니다. 다 되었다는 뜻입니다!
몇 초 후, 자동으로 꺼집니다.
sdbootsuccess-300x200
다 되면 이렇게 불 4개가 동시에 켜집니다.
(사진출처: http://derekmolloy.ie/write-a-new-image-to-the-beaglebone-black/)
이제 기쁜 마음으로 전원을 뽑고 microSD를 제거 한 후 다시 이런 저런 선들을 연결하면 됩니다.
전원을 다시 넣으면 화면이 켜집니다… ㅠㅠ
2016-09-10 11.13.59
켜자 마자 업데이트를 시작했네요. ㅎㅎ
초기 비밀번호는 ID: ubuntu PW: temppwd 입니다. 그리고 켜지면서 이더넷 IP주소를 같이 보여줍니다.
여러분도.. 여기까지 하셨으면 다음의 명령을 칩니다.
sudo apt-get update
sudo apt-get upgrade
업데이트가 다 끝나면 다시 껐다 켜주시고 (sudo shutdown -r now)…

Boinc-client설치

ARM 프로세서용 boinc는 이런저런 내용들을 읽어보니 조금 다른것 같습니다. 무슨 서버 관련 프로그램이 빠져있데요. 아무튼… 아래의 명령을 칩니다.

sudo apt-get install boinc-client

우분투이긴 해도 우리가 사용한 이미지는 텍스트 환경으로 작동하기 때문에 다소 어색할 수는 있습니다. 아무튼 위 명령을 쳤으면 설치가 완료된 것이랍니다. 만약 저처럼 많은 수의 비글보드를 한번에 연결하실 거라면 몇가지 수정해야 할 것이 있습니다.

## 비글보드 한대만 사용하시는 거라면 안하셔도 됩니다 ##
   sudo nano /etc/hostname
arm이라고 적혀있는 것을 원하는 이름으로 바꿉니다.
   sudo nano /etc/hosts
127.0.0.1 localhost.localdomain arm
127.0.1.1 my-machine
이 두 줄 중에 위쪽 끝에 arm이라고 되어 있는 것을 바꿔줍니다.
Ctrl + x 로 저장한 후 리부팅 해 줍니다.
############################################

boinc-client설치가 완료되었으면 터미널에서 아래와 같이 쳐봅니다.

boinccmd –get_status 

현재 boinc서비스의 상태가 보여집니다. 하지만 아직 서버와 연결이 되지 않았으니 제대로 된 내용은 없습니다. boinc 서버와 연결하기 위한 방법은 아래의 세 가지가 존재합니다.

  1. 계정이 없는 경우
    아래의 명령은 계정을 새로 생성하게 됩니다.
    boinccmd –create_account http://setiathome.berkeley.edu 메일주소 암호 사용자명
  2. 계정이 있고 이메일과 암호로 로그인하기
    boinccmd –lookup_account http://setiathome.berkeley.edu 메일주소 암호
  3. 계정도 있는데 그냥 계정키로 로그인하기
    이건.. SETI@Home의 계정화면에 있는 ‘계정키’라는 것으로 연결하는 방법입니다.
    boinccmd –project_attach http://setiathome.berkeley.edu 계정키
어느 것으로 연결해도 상관은 없습니다. 연결한다고 해서 특별한 메시지는 나타나지 않으며 약 5분 정도 지나고 나서 SETI@Home사이트에 들어가서 계정-컴퓨터 목록에 들어가 보시면 등록이 되어있는 것을 알 수 있습니다.
tasks_view

실제 boinc가 잘 작동하고 있는지 알고 싶으면 아래의 명령을 사용하면 됩니다.

boinccmd –get_tasks

음… 끝났냐구요? 네. 끝났습니다. 이제 멍 때리며 기다리면 우리의 비글보드가 열심히 일해서 결과를 올려줄 겁니다. ^^*

Appendix

1. boinccmd의 명령중에 몇 가지 설정만 정리해 놓겠습니다. 
  • boinccmd –set_run_mode {always / auto / never}
    CPU의 작동 방식에 대한 모드입니다. 비글보드의 경우 always를 사용하시면 됩니다.
  • boinccmd –set_gpu_mode {always / auto /never}
    GPU의 작동 방식에 대한 모드이며, 비글보드의 경우 auto로 설정하시면 됩니다 (gpu 없다시피함)
  • boinccmd –set_network_mode {always / auto /never }
    네트워크 사용 방식에 대한 것인데요, always로 한다고 문제가 생기진 않습니다.
  • boinccmd –benchmarks
    CPU의 벤치마크를 하는 명령입니다.
  • boincmd –quit
    boinc를 종료하는 멍령입니다.
2. 생각보다 느린 컴퓨팅 속도
사실 처음에 비글보드로 이 작업을 시작했을때는 ‘우와 엄청난 속도로 SETI에 기여하겠구나’하고 생각했는데 사실 전혀 그렇지 않습니다. 한 테스크를 받으면 그거 처리하는데 만 3일이 걸립니다. 그게… 복잡한 이유가 있지만 간단히 설명하면 CPU는 단순 계산이 GPU보다 상대적으로 느릴 수밖에 없어서 그렇습니다. 요즘 SETI의 데이타는 잠재적으로 GPU가 있을거라는 생각으로 돌아가는 것 같구요.
결국, 비글보드 만으로 제가 바랬던 ‘엄청난 연산 처리’는 바랄 수 없을 것 같습니다. ㅠㅠ
3. 엄청난 발열
ARM 프로세서는 저전력 설계로 유명한데.. 비글보드에 들어간 Cortex A8인가 하는 프로세서도 boinc의 계산명령을 받으면 무시무시한 발열을 자랑하며 작동하게 됩니다..; 손으로 만져보면 조금 뜨겁더군요. 뭐 시스템이 고장날 정도는 아니지만 전자기기의 발열은 수명을 단축시키죠. 전 그래서 이런 짓을 했습니다..;
2016-09-11 17.27.43.jpg
머리통에다 히트싱크를 박아주고… 거기에 냉각 팬까지 설치했습니다. 120mm로요…;
2016-09-11 23.29.46
아… 방금 미친놈이라고 하셨죠? ㅋㅋ 괜찮아요. 저도 이거 만들며 제가 제 정신이 아니라 생각했으니까요. ㅎ

크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

IRF-540을 이용한 햄스터 온풍기

제가 자주가는 ‘재미있는 전자공작소’에 올렸던 햄스터 온풍기 입니다.

여기서도 변명을 풀어보자면.. 햄스터가 생각보다 활동가능한 온도가 제한적이라는 사실을 발견했지요. 그래서 겨울에도 햄스터가 따뜻하고 신선한 공기를 제공받을 수 있도록 120mm 팬과 발열소자를 사용해 온풍기를 만들기로 했습니다.

냉각용으로 사용하는 120mm팬들이 소리가 좀 커서.. 지난번에 펠티어 냉풍기를 만들때 썼던 Kraft팬을 사용했습니다. PWM으로 팬의 회전속도를 조절하는 능력이 있으면 좋겠지만.. 불행이도 그렇지가 않아서 조용하고 저속회전을 보여주는 이 팬이 좋더군요. (냉각 목적이 아니니까요)

255156_550

그리고… 발열 모듈은 이것을 사용했습니다. 사진을 보시믄 알겠지만 납작한 판때기처럼 생겼는데 AC든 DC든 전기만 가하면 240도까지 발열하는 재미있는 제품입니다. 실제 내부구조가 조금 궁금하긴 하지만.. 아무튼 그렇습니다. ㅎㅎ

032016008000000030

사실… 이 부품 두개가 전부지요.;;; 이것 말고 꼭 필요한 제품이라고 한다면..
MOSFET일겁니다. 전 IRF540을 사용했어요. 쉽게 설명하면 MOSFET이란 전압을 걸어주면 전류가 흐를 수 있도록 스위치를 올려주는 회로라고 생각하시면 되요. 다리두.. 달랑 세개 달려 있어 Gate, Drain, Source이렇게 세군데를 이어주면 작동하게 됩니다. 저같은 경우 펠티어 냉풍기를 만들때 사용할 목적으로 구입하다보니 상온에서 25A까지 흐를 수 있는 대용량을 쓰게되었습니다. 하지만… 폴리스위치가 4A까지 용인하다보니 큰 의미가 없어졌지요. ^^;
사실 폴리스위치가 햄스터 온풍기에서 하는 역할이라고 한다면… 효율을 떨어뜨리는 것 말고는 없습니다. 훨씬 고출력으로 발열모듈을 사용할 수 있는데 일정 출력이상 작동할 수 없게 만드니까요. 그럼에도 불구하고 제가 폴리스위치를 사용한 것은 아무래도 화재의 위험성때문일겁니다. 발열모듈이라니..;; 무섭거든요. ㅎㅎ;

어쨌거나 저쨌거나 기판을 얼렁뚱땅 조립했습니다.

2014-09-23 14.10.17.jpg

아두이노의 2파이 잭에도 전원을 공급받을 수 있게 했구요, 오른쪽 위에 보이는 6핀 PCIe 커넥터로 전원공급을 받게 했습니다. 그리고… 오른쪽 아래에 있는 두개의 거대한 커패시터. 이건 쿨링팬을 위한 겁니다(의외였죠?). 이것도 안전을위한 저만의 고민이었는데요, 고온으로 발열모듈이 작동하다 갑자기 쿨링팬이 꺼져버리면 위험할 것 같아서요. 그래서 쿨링팬에 2200uF의 커패시터를 써서 전원이 꺼져도 약간의 시간차를 두고 멈추게 했습니다.

2014-09-23 21.43.16

이건 아까보신 발열모듈입니다. 발열모듈에 40x40mm 히트싱크 두개를 앞뒤로 붙이고 간극은 전부 써멀 그리스로 매꿨습니다. 그리고… 와이어로 다시 고정을 했지요. 열을 뿜어내는 발열체다 보니 조금 무섭기도 해서 공중에 매달아 두고 쿨링팬으로 이 발열체에 바람을 불어주기로 했습니다.

2014-09-23 22.16.09

이건 온습도 센서입니다. 엘레파츠에서 특가로 팔때 잽싸게 샀지요. ㅎㅎ 기본적으로 이 온습도 센서의 온도 데이터를 이용해 발열모듈과 팬을 작동시키기로 했습니다.

회로가 복잡하지도 않고… 머리가 좋지도 않아 뚝딱뚝딱 금방 만들었습니다 ㅎㅎ;

2014-09-25 00.22.27.jpg

MDF라고 파티클보드 비슷한 나무판에 올려놨습니다. 생각보다 이 나무판에 구멍내는데에 더 오랜시간이 걸렸던 같습니다. ㅎㅎ

약간의 코딩을 하고나니 별 문제없이 작동을 시작했습니다. ㅎㅎ

2014-09-25 00.22.27-1

사진이 뿌연것은… 햄스터들이 살고있는 리빙박스가 반투명이라..;;
아무튼 사진에 보시면 왼쪽 위에 작은 온습도센서를 걸어놨고요… 팬의 아래쪽에 발열모듈이 대롱대롱 달려있습니다. 음.. 원래 두개를 달 생각이었는데 히트싱크가 모자라 하나는 아직 못 달았어요. ㅎㅎ;;;
원래는 작동상태를 알아보기 쉽게 LED를 몇개 더 달아서 현재 온도와 발열모듈의 작동여부를 알수있도록 할까 생각했었는데…. ‘귀찮아서’ 걍 시리얼 출력으로 알 수 있게 만들었습니다. 물론 LED에 대한 욕구를 참지 못해 디지털 13번 핀을 이용해 아두이노 기판에서 발열모듈의 작동여부는 알수있게 만들었어요. ㅎㅎ;
이건 시리얼모니터에서 보여주는 현재 측정값입니다.

RetrievingData

가운데 것을 잘 보시면 총 네가지 데이터가 나오는데요, Temperature는 온습도 센서에서 출력되는 값입니다. 28.1도라… 좀 이상하죠? 아무튼. 두번째 RH%는 상대습도 입니다. 현재 56.7%라네요. 그리고 TMP Temperature는 아까 이야기 하지 않았는데 TMP36GZ에서 나오는 값입니다. 이 제품은 온도가 어떻게 나오는지 궁금해서 추가로 달아봤는데 마지막에 보여주듯이 2.8도 정도 센서끼리 차이가 납니다. ㅠㅠ

아무튼… 뭐든지 적당히 넘어가는 곰닥터이므로… 그냥 살기로 했습니다. ㅋ
조금 웅웅거리는 소리가 나서 걱정이긴 하지만 어쨌든 햄스터들이 겨울에 춥지는 않을것 같아요.

아참… 데이터 쉬트는 아래와 같습니다.

1. 발열모듈 :     HP05-1/22-24
2. MOSFET :    IRF-540
3. 온습도센서 : HT-01DV

마지막으로 말씀드리고 싶은건, 여기까지 제가 만든것은 ‘그냥 재미로’한 것입니다. 온라인쇼핑몰 가시믄 만 이삼천원에 애완동물용 온돌방석을 팔고 있어요. ㅋ 그냥 그거 사세요. ^^;
크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

LM317T를 이용한 USB충전기

음… 요즘 스위칭 레귤레이터를 이용한 대용량 USB충전기를 만들고 있는데 잘 되질 않아서 우울합니다. 그래서 어제 당직 서면서 LM317을 이용한 USB충전기를 만들었어요.

복잡한 전자제품의 특성 같은건 제가 설명할 범위는 넘어서는 것 같고… 그냥 제품의 데이터쉬트에 있는 회로를 그대로 따라 만들었습니다. LM317T는 5V 1.5A까지의 출력을 만들어 줄 수 있어서 아이폰이나 아이패드의 충전이 가능할거라고 생각했어요. 대신 발열이 심해서 히트싱크가 꼭 필요하답니다.

전원은… 12VDC SMPS를 사용했어요. SMPS가 정확히 뭐의 약자인지는 잘 모르겠지만 그냥 느낌대로 말씀드리면 간판이나 광고판 같은데 사용하는 전원공급장치 같아요. 220V로 12VDC를 360W까지 내는 녀석을 지난번에 사놓은게 있어서 그걸 사용했지요.

기본 회로도는 다음과 같습니다.

LM317T

여기에… 추가로 청색 LED를 사용했고, 12V에서 바로 강압을 시켜 연결했습니다. 제가 가진 저항이 그리 다양하진 않아서, 220Ω짜리를 두개 사용했어요.
그리고… 아이폰이나 아이패드까지 충전을 하기 위해서는 USB의 가운데 D+ D- 커넥터를 반드시 풀업해줘야 한다고 해서 다음의 회로도를 사용했습니다.

usb4res

공간이 널찍한.. 조금은 편안한 모습의 회로가 완성되었어요. 회로를 자세히 보시면 위 회로도에 있는 USB용 저항이 보이지 않을텐데… 제가 이리저리 복잡한 생각을 하다가 걍 칩저항을 사버려서 기판 뒷면에 전부 붙어있습니다..; 진짜… 표준 인두팁으로 납땜하다 눈빠지는 줄 알았어요.
ㅠㅠ

2014-09-19 23.50.47

전원을 넣으면 파란 불이 켜집니다.

2014-09-19 23.51.22.jpg

USB커넥터를 연결하니 “다행이도!” 충전이 시작되었습니다. ^^

2014-09-19 23.51.59

다음번 포스트까지.. 꼭 대용량 USB충전기를 완성시켜 올려보겠습니다. ㅎㅎ

 

크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

PCI express카드용 6핀 전원커넥터

전자회로를 만들고 이것저것 조립하다보면 제일 고민스러울때가 ‘주전원’인 것 같습니다.

개인적으로 220Vac에서 트랜스포머를 이용해 조립하는것이 여간 신경쓰이는 일이 아닌데다가 왠지 터질지도 모른다는 불안감 때문에 220V교류전압은 함부로 못 건드리겠더라구요.. 그렇다고 SMPS를 쓰기에는 출력에 비해 가격도 비싸고 이쁘지도 않아서 제가 주로 사용하는 직류전압 공급장치는 PC의 ATX PSU입니다.

보통 500W정도 출력을 가진 장비도 38,000원이면 구매할 수 있으니까 직접 만드는 것보다 1/3가격 정도밖에 되지 않구요, 저보다 백만배쯤 전문가들이 설계한거라 안정적이기도 하구요. 더군다나 수십에서 수백까지 올라가는 고가의 컴퓨터에 전원을 공급하기 위해 만들어진 장비라 안정도도 높은 것 같습니다(이건 제 생각).

지금까지 이것저것 만들며 가장 많이 쓰는 제품은 잘만의 ZM500-LW 입니다.

ZM400-LE_01

이 제품이 다른 제품보다 ‘좋은점’은 잘 모르겠지만, 개인적으론 가격도 적당하고 출력도 안정적이고, 거기다 저전력 설계라니 좋은것 같습니다 ㅋㅋㅋㅋ
다 농담이고, 그냥 잘만 제품은 왠지 믿음이 가는 노땅이라 그래요. ^^ 옛날엔 잘만에서 멋진 쿨러들이 많이 나왔으니까요. 어쨌든.. 조용하긴 합니다 ㅎ

아무튼! 이 제품의 설명서를 읽어보면 12VDC에서 최대 20A까지 출력을 제공할 수 있기 때문에 일반적인 전자부품의 조립이나 사용에 딱 알맞은 것 같습니다.
근데 문제는, 아시다시피 PCIe 용 파워커넥터라는 거죠. 처음에는 이 문제를 해결하지 못해서 전선을 몽창 잘라버리고 그냥 납땜했었는데요, 오늘 몰렉스 홈페이지에서 이 6pin 커넥터의 모델명을 발견했습니다.

e14_1402068229c330efaae6375429

Male 커넥터와 2종의 Female 커넥터가 있는것 같은데 현재 90도 접합식 Female 커넥터는 나오지 않는 것 같습니다.
제품 번호는 아래와 같습니다.

  Molex 45559-0002
  Molex 45558-0002
  Molex 45718-0002
  Molex 5556 series or 0039000038 (Header crimp terminal)

 

 

크리에이티브 커먼즈 라이선스
Arduino Projects Book은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다. arduino LCC의 저작물에 기반

아두이노와 통신하기

자아 이제 Arduino IDE를 설치했으면 컴퓨터로 아두이노 보드와 통신이 가능합니다. 작동여부를 보기 위해 프로그램을 업로드할 시간이에요!

1. 아두이노 응응프로그램을 더블클릭해서 소프트웨어를 실행시킵니다. 만약 프로그램의 언어 설정이  이상하면 응용프로그램 설정부분에서 언어를 변경해 줍니다.
다국어 지원에 대한 자세한 설명은 arduino.cc/ide 에서 찾을 수 있어요.

2. 스케치 – 아두이노 프로그램을 스케치라고 불러요 – 에서 LED Blink 예시를 선택하세요.

LED Blink예시는 FILE > EXAMPLES > 01. BASICS > BLINK 에 있어요.

img004

3. 아참, 제대로 작동하게 하기위해서는 여러분이 사용하고 있는 보드를 미리 선택해 주셔야
해요.
 TOOLS > BOARD

img0041

4. 아두이노가 연결되어 있는 직렬포트를 선택해줘야 해요.
TOOLS > SERIAL PORT

– Windows : 보통 가장 큰 숫자의 COM포트에 아두이노가 연결되어 있어요. 물론 잘못
선택해도 문제가 생기진 않아요. 단지 에러가 뜰 것이고 그럼 다음 번호를 선택해 보면
되지요.
– Mac : /dev/tty.usbmodem 안에 있을거에요. 보통 두개중에 하나니까 아무꺼나 하나를
선택해보고 안되면 다른걸 해보면 되요.

5. Arduino IDE에서 Blink 예시에 관한 스케치를 업로드할 시간이 되었네요. 스케치의
왼쪽 위에 두번째 버튼(UPLOAD)를 눌러 아두이노로 스케치 파일을 업로드 하세요.

img0042

6. 업로드 버튼을 누르면 아두이노 프로그램의 하단에 진행상태가 보여집니다. 우선 컴파일
한다는 말이 나오고 그 다음에 업로드한다고 메시지가 보이지요. 업로드를 시작하면
아두이노 보드에 TX/RX LED가 반짝반짝 거리는 것을 볼 수 있어요. 업로드가 문제없이
끝났다면 DONE UPLOADING이라는 메시지가 스케치에 보일거에요.

7. 업로드가 끝나고 몇초가 지나면 TX/RX위에 L이라고 적혀있는 노란색 LED가 깜박이는
것을 볼 수 있을거에요. 단순해 보이지만….. 성공적으로 아두이노 보드에 프로그램을
업로드 한거에요!

L_LED

기본적으로 이 LED Blink예시는 코딩이 다 되어있지만, 여러분이 delay(100)이런 식으로 적혀있는 코드를 바꿈으로써 깜박이는 시간을 얼마든지 조절해 볼 수 있어요. 아직 처음이니까 이정도만 바꿔도 신기한 경험을 해볼 수 있답니다.
오늘은 여기까지 할까요? 아두이노 프로젝트북을 번역하면서 스캔하고 설명 붙이자니 멍청한 저로선 가랭이가 찢어지는 기분이에요. ㅠㅠ
그렇지만… 계속 따라가다 보면 점점 내가 원하는 전자장비를 만들 수 있다는 자신감을 가질 수 있으니 천천히 따라해보길 바래요. ^^)b

다음 챕터는 ‘여러분의 도구에 대해 이해하기’입니다.

 

 

크리에이티브 커먼즈 라이선스

Arduino Projects Book은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
arduino LCC의 저작물에 기반

챕터0 – 준비하기

아두이노를 작동시키기 전에 우선 아두이노를 위한 IDE를 다운받아야합니다.
아두이노 IDE의 최신버전은 아래의 주소에서 언제나 받을 수 있습니다.

http://arduino.cc/download

WINDOWS INSTALLATION

1. 프로그램을 다운받았다면 “Install Arduino”를 더블클릭하세요. 윈도우에서 보안경고창이 뜨면 ‘실행’을 누르시면 됩니다. 곧 사용권 계약 화면이 나올것이고 다음(Next)을 눌러 폴더를 지정한 후 설치(“Install”)를 하면 됩니다.

2. USB케이블로 컴퓨터와 아두이노를 연결합니다. USB를 연결하면 보드에 전원이 인가되고 “ON”이라고 되어있는 LED에 녹색불이 들어오는 것을 보실 수 있어요!

2014-07-13 15.29.45

3. 윈도우즈에서는 아두이노 보드를 연결하면 디바이스 드라이버 설치를 해줘야 인식이
됩니다.

Windows XP: 만약 윈도우가 업데이트 위치를 찾을건지 물어보면 “네, 이번에만”을
선택한 후 “특정 지점에서 설치”를 선택하시면 됩니다.
Vista나 Windows 7: 윈도우즈7에서는 자동으로 설치위치를 찾아가며, Vista의 경우
메시지를 따라가면 자동 설치가 됩니다.

4. 만약 설치가 자동으로 시작되지 않는다면 ‘시작’메뉴에서 ‘제어판’을 선택한 후 장치관리자
를 엽니다.

Windows XP : 클래식 보기로 전환 -> 시스템 -> 하드웨어 -> 장치관리자
Windows Vista : 클래식 보기 -> 장치관리자
Windows 7: 시스템 및 보안 -> 시스템 -> 장치관리자

5. “기타 장치”나 “알수없는 장치”에서 아두이노 장치를 찾습니다. 장치를 찾으면 마우스
오른쪽 클릭으로 “드라이버 업데이트’나 “드라이버 소프트웨어 설치”를 선택합니다.

6. “찾기”를 클릭한 후 아두이노 폴더의 “Drivers”폴더를 선택한 후 “OK”를 클릭합니다. 만약
윈도우즈 보안경고가 뜨면 “계속 진행”을 선택합니다.

7. “장치관리자”의 포트(COM&LPT)에서 “Arduino UNO (COM4)”이런 식으로 표시되어 있는지
확인합니다.

 

MAC OS X INSTALLATION

1. 만약 10.8 (Mountain Lion)이상의 버전을 사용하고 있다면 제어판(Preferences)에 가셔서
“Security & Privacy”패널을 엽니다. 여기서 “일반” 탭을 열어 앱스토어 이외에서 받은
프로그램의 실행을 허가해 줍니다.

2. Arduino IDE를 다운받았다면 더블클릭해서 .zip파일을 풀어줍니다.

3. 아두이노 응용프로그램을 “Applications”폴더로 복사해줍니다.

4. 아두이노를 USB로 Mac과 연결합니다. 보드에 자동으로 전원이 들어오며 녹색 LED
(ON이라고 되어있는)에 불이 들어올 겁니다.

5. Mac OS에서는 디바이스 드라이버의 설치가 필요없습니다.

6. OS X의 버전에 따라 System Preference창을 열기를 원하는지 물어볼 겁니다. 그럼 그냥 ‘네’
해주세요.

7. UNO가 아마 “설정되지 않음”으로 뜰 것이지만 이미 정상작동 하고 있기 때문에 그냥 제어판
을 끄시면 됩니다.

 

LINUX INSTALLATION

다음의 사이트를 참조하세요. arduino.cc/linux
(제가 게을러서 그래요. ㅠㅠ)

자아~ 가장 기본적인 설치를 방금 끝냈네요. 다음번에는 ‘아두이노와 통신하기’를 해볼까요?

 

크리에이티브 커먼즈 라이선스

Arduino Projects Book은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다. arduino LCC의 저작물에 기반

아두이노 스타터 키트

저도…. 전자공학이나 컴퓨터 기판에 대해 아는 것이 없어 초보자용 스타터 키트를 구입했습니다.

예쁜 디자인의 종이상자가 도착했지요.

2014-06-21 21.00.21.jpg

기판 그림과 스타터 키트의 예제를 풀어갈때 필요한 다양한 부품들이 그려져 있습니다.
뚜껑을 열어보면..

2014-06-21 21.59.28

책과 안내문구가 적혀있지요.

2014-06-21 21.59.42.jpg

책을 꺼내고 안쪽 상자를 열면…

2014-06-21 21.59.53

작은 박스들이 마치 퍼즐처럼 정리되어 있습니다. 그리고 그 밑에는 아두이노와 브레드보드를 고정하기 위한 나무판, 그리고 다양한 것들을 시도해볼 수 있도록 각종 종이판이 있습니다.

2014-06-21 22.00.22

2014-06-21 22.01.41

우리의 이야기의 시작은 이 작은 기판에서….
이제 시작해 볼까요? ^^