반응형

아두이노, Arduino 여기저기서 많이 들었을 겁니다. 이걸 해야 된다는 말이 귀에 못이 박히도록 이야기 합니다. 대충 뭔지는 알겠는데 개발자도 아닌 내가 과연 이걸로 뭘 할 수 있을까 싶기도 하죠. 

아두이노에 대해 설명을 해드릴 필요가 있을만큼 인터넷에는 너무나 많은 아두이노에 대한 글들이 널리고 널렸습니다. 게다가 저처럼 적당한 수준의 지식만 가지고 있는 사람이 설명을 할 수 있을 만큼 실제로 단순한 장치도 아니지요.

오늘 저는 이 포스트에서 딱 한가지만 전달 드릴 생각입니다.

아두이노를 갖고 싶다는 마음 말이죠.

 

아두이노를 제가 정의한다면 다음과 같습니다.

"오직 내손에 의해 만들어지는 세상에서 가작 작은 컴퓨팅 프로세서"

아두이노는 정말 사용자가 프로그래밍을 해서 프로세서 칩에 데이터를 넣은뒤 동작을 시켜 주어야 동작하는 장치입니다. 다른 전자제품처럼 모든게 세팅되어 있지도 않고 만들어져 있지도 않습니다. 오직 나에 의해 만들어지는 것이죠.

그런데 어렵냐고요?

어렵다고 말하면 어렵고 쉽다고 말하면 이렇게 쉬운게 없습니다.

인터넷에는 너무나 많은 예제 프로그램들이 돌고 있고 아두이노 개발 환경을 설치하는 것만으로도 기본적으로  자체에서도 엄청난 양의 예제 코드를 제공합니다. 대충 코드의 흐름만 읽을 줄 알아도 개발을 시작할 수 있다는 이야기죠. 심지어 많은 경우에 전체 코드를 짜지 않고 변수나 값을 일부만 바꾸어도 내가 원하는 코드가 완성되는 경우가 대부분이니 코딩을 잘 몰라도 걱정 마시고 시작하셔도 됩니다.

 

 

우선 ARDUINO 를 사라!

 

자 그럼 아두이노를 처음 시작하는 분은 어떤 과정을 거쳐야 할까요?

전자제품(부품) 쇼핑몰에서 아두이노 패키지를 사야 할까요? 저는 비추입니다. 비싸고 불필요한 것들이 많습니다. 우선 아두이노 자체를 구입하세요. 제일 만만한건 아두이노 나노 또는 기본형인 아두이노 우노 입니다. 아두이노 나노와 우노는 생김새에는 차이가 많지만 사실상 차이가 없는 동일한 제품이라 생각하셔도 됩니다. 모든 코드가 호환되며 입출력 핀 수도 같기 때문에 브래드 보드 없이 바로 테스팅을 진행하려면 우노를, 브래드 보드에서 테스트가 끝나면 바로 자신만의 제품에 넣으려면 나노를 구입하시면 됩니다. 알리 같은 해외 쇼핑몰을 이용하시면 배송시간은 좀 걸리지만 3000원도 안되는 금액에 나만의 컴퓨팅 시스템을 만들수 있는 보드를 구입할 수 있답니다.

어짜피 이것 못해서 안달난 것 아니자나요? 주문해놓고 잊을 만할때 똭! 도착하여 마음을 다시 설레게 만들죠. 로또 사놓고 즐거워하는 시간은 길어야 일주일이지만 아두이노를 주문해놓고 몇주 동안 내손으로 만드는 기계장치를 상상하는 맛도 로또 못지 않답니다.

 

땅콩보다 조금 큰 Arduino Nano

둘다 컴퓨터에 USB 로 바로 연결이 가능하고 USB 전원을 이용하여 동작이 가능하며 LED가 달려 있어 기본적인 동작 테스트가 가능하고 모든 연결 핀이 소켓으로 되어 있거나 표준 규격의 핀으로 구성되어 브래드 보드에 바로 장착하여 테스트를 할수 있기 때문입니다.

 

아두이노로 뭔가를 해보겠다면 필요한 것들

만약 제가 처음 시작하는 분께서 구입하셔야 할 것들을 안내 해 드린다면 아래와 같을 겁니다.

  • 아두이노 NANO (필수)
  • 브래드 보드 (NANO 제품을 구입한 경우)
  • 점퍼 케이블 (필수, 하지만 없으면 만들어도 됨)
  • 가변저항 (볼륨)
  • 푸쉬 버튼, 토글 스위치, 슬라이드 스위치
  • 저항 (1.4k, 4.7k, 100)
  • LED (다리 있는것, 없는 것)

아마 이 정도가 기본일 것 같습니다. 추가로 좀더 재미있는 것들을 해보고 싶다면

  • 서보모터 (9g, 3pin)
  • 부저
  • DC 모터 드라이버 (ESC 라고 불리우는 것)
  • 무선 데이터 송수신 보드 (2.4ghz RF 또는 bluetooth) 
  • 조이스틱
  • 스텝모터
  • IR LED (송신 , 수신)
  • 터치패드
  • 초음파 거리 센서

 

요렇게 부품들이 있으시면 정말 할 수 있는것이 많죠. 사실 위의 부품들 전체를 알리에서 다 구입하더라도 1만원~2만원 정도면 구입할 수 있다는 것이 믿어 지시나요? ㅋㅋ 하지만 사실입니다. 물론 잘 구매 해야 겠고 중국에서 구입하면 배송되는 시간도 꽤 걸릴 거라서 시간을 두고 천천히 해나가시면 됩니다.

 

자 아두이노를 구입하셨고 수중에 아두이노가 있다면 다음 단계는 개발 환경을 설치하는 일 입니다. 아두이노 공식 사이트에서 다운 받으시면 되는데 오픈소스 개발환경이다 보니 사실 최신 버전을 꼭 받아야 할 필요는 없습니다. 또 어떤 부품은 이전 버전에서만 테스트 되었으며 특정 버전에서만 동작이 되는 제품도 있습니다. 개인적으로는 1.6.x 버전과 1.0.x 버전중에 자신에게 맞는 (튜토리얼 등을 참고하고 있는) 버전을 설치하시면 될 것 같습니다.

아두이노 예전 버전 받는 링크

 

Arduino - OldSoftwareReleases

Arduino IDE that can be used with any Arduino board, including the Arduino Yún and Arduino DUE. Refer to the Getting Started page for Installation instructions. See the release notes. Windows Installer Windows ZIP file for non admin install Mac OS X 10.8 M

www.arduino.cc

전 별다른 이유는 없지만 1.6.7 버전을 설치하였습니다.

아두이노 1.6.7 버전 설치 직후

 

실제로 최신 버전을 타겟으로 개발되지 않은 라이브러리가 동작하지 않는 문제가 있으므로 반드시 최신 버전을 설치해야 할 필요는 없습니다. 1.0.x 대 버전에서만 동작하는 라이브러리가 있을 수도 있으므로 라이브러리 다운로드시 어떤 버전에서 동작했는지 확인이 필요합니다.

개발하는 순서는 다음과 같습니다.

코딩을 하고 (또는 예제를 열고) 현재 자신의 보드를 선택한 뒤 프로그래머를 선택하고 빌드하시면 됩니다.

참고로 잘못 선택한다고 고장나는 경우는 거의 없으니 두려워 하실 필요 없어요. 뭔가 원하는 데로 동작이 안된다면 처음부터 다시 확인해 보시면 됩니다. 프로그래밍 상의 오류는 아두이노 IDE 에서 컴파일 할때 다 잡아 줍니다. 장비와의 매칭 문제는 컴파일된 소스를 업로드 할때 잡히게 되어 있죠. 클럭 수 등은 보통 구입할때 알수 있지만 일반적인 경우가 대부분이므로 일반적인 값을 선택해 주면 됩니다. 예를 들면 아두이노 나노라면 16Mhz 가 일반 적인 옵션이죠.

 

 

 

아두이노 코딩의 기본 규칙은 아래와 같습니다.

처음에 현재 개발하고 있는 코드에서 사용할 라이브러리를 선언합니다. 그리고 각종 변수를 선언 해 줍니다. 

void setup 이라는 함수가 나오는데 이 함수는 최초 딱 1번 실행이 되는 함수 입니다. 변수들의 초기값을 세팅해 주거나 시작하자마자 동작해야 하는 함수 등을 호출 해줄 수 있습니다.

그다음 void loop() 이라는 함수가 나오는데요. 이 함수가 실제로 아두이노를 동작시키는 함수 입니다.

loop 는 말그대로 반복하는 동작을 말하죠? loop 안의 내용이 계속해서 반복된다고 보시면 됩니다.

유사하고 같은 동작이 반복적으로 사용된다면 함수를 만들어 빼내고 loop 에서는 해당함수를 호출해 주는 방식으로 사용하게 됩니다. 이렇게 필요한 기능들을 잘 생각해서 함수를 아래로 쭉쭉 추가해 나갈 수 있습니다.

 

 

라이브러리 설치는 어떻게 하는 것인가!!!

인터넷에 궁금한 것을 찾다 보면 라이브러리를 설치하라고 나오면서 경로를 링크해놓은 경우가 많습니다. 들어가 보면 github 같은 사이트에 올라온 경우도 있고 직접 라이브러리를 압축 파일로 올려놓는 경우도 많이 있습니다. 일단 기본 예제 외에 무선 통신이나 좀 신기한거를 하려면 대부분 누군가 개발해놓은 라이브러리를 이용해야 하는 경우가 많은데요. 처음 할때는 마냥 햇갈립니다. 어떻게 하라는 건지 말이죠.

최신 버전은 라이브러리를 개발 환경 (개발 툴) 에서 직접 검색하여 설치 할 수 있도록 되어 있는데요. 예전 방식으로 그냥 복사해서 붙여넣는 것도 간단하고 쉽습니다.

제가 설치한 1.6.7 버전 기준으로 설명을 드릴께요

다운로드 받은 압축파일 , github의 경우 download zip 과 같은 버튼이 있습니다. 일단 다운로드 받으신 뒤 압축을 해제하여 주세요.

다운로드 받은 압축 파일을 해제한 상태

이렇게 압축 해제된 폴더들 (압축파일이 아닙니다)을 복사해서 내문서>arduino>library 폴더에 복사해서 붙여 넣으시면 끝! 입니다.

라이브러리 폴더를 내문서>arduino>libraries 폴더에 붙여 넣었다.

 

참쉽죠?

 

요렇게 하신 뒤에 arduino sw 를 재실행 하시면

예제 카테고리 안에 해당 라이브러리에서 제공하는 예제가 보인다.

요렇게 설치된 라이브러리의 예제가 보이는 것을 확인할 수 있답니다.

 

예제 파일을 열어보시면 라이브러리를 불러들이는 방법이나 간단한 사용방법 등이 코드로 설명이 되어 있으니 그냥 복사해서 새로운 ino 창에 붙여 넣고 사용하면 되는 것이죠.

보신것처럼 간단합니다.

 

아두이노는 이렇게 SW 를 구성하는 것으로 끝이 아니라 점퍼 케이블과 브래드 보드 등을 이용하여 원하는 동작이 되는지 확인하는 과정과 최종 제품으로 만들어가는 과정이 모두 완료 되어야 하나의 프로젝트가 마무리 되었다고 볼 수 있습니다. 

원하는 결과대로 잘 동작 할 경우 그 만큼 만족도로 아주 높습니다.

손톱만큼 작은 OELD 에 내가 만들고 있는 프로그램의 화면을 출력할 수도 있죠.

0.96inch OLED 스크린을 이용하여 글자를 출력한 모습

(OELD 스크린을 연동하는 예제는 따로 포스팅 하도록 하겠습니다)

 

대표적으로 저는 아두이노로 RC카 송수신기를 만들어 가지고 놀았습니다. 말하자면 RC 카의 무선 조종 장치를 만들고 차량에 그 신호를 받아 차량을 컨트롤 할 수 있도록 하는 장치를 만들었습니다. 아주 간단(??)하지만 재미있는 작업이었습니다.

직접 제작한 RC 카 송수신기로 동작하는 RC 카 WPL-C24

 

조종기(송신기) 와 차량 (수신기)에 각각 arduino nano 보드를 이용하여 송수신 장치를 만들었다.

 

제가 아두이노로 그동안 만들었거나 만들수 있는 재미있는 것들은 아래와 같습니다.

위의 것들 중 제가 직접 만든 것들은 링크를 할테니 한번 둘러보시는 것도 좋겠네요 ^^

 

 

자 수중에 아두이노가 이미 있다면 망설일게 무엇이 있겠습니까? 

아두이노를 이용하여 단순한 조명을 만들수도, 장난감을 만들수도, 어쩌면 좀 복잡한 기계 장치를 만들수도 있겠으며 홈 네트워크 같은 미래기술도 내손으로 직접 만들어 볼 수 있답니다. 

 

누구나 창조자, MAKER 가 될 수 있습니다. 하루하루 지루해진 일상에 단물 같은 취미를 한번 선물해 보시는건 어떨까요?

돈 몇푼이면 토니스타크 같은 멋진 컴퓨팅 시스템 개발자가 될 수 있답니다.

자 ~ 바로 시작해 보실까요?

반응형

+ Recent posts