본문 바로가기

아두이노

아두이노 기초, 기본 지식 이해하기

지금 아두이노는 사람들이 가장 많이 다루고 쉽게 다루는 개발보드이다.

관심이 높아지면서 많은 사람들이 아두이노로 소자를 사용하는 방법들에 대해서 설명하고 있지만 전문적인 이해가 필요하거나 반대로 너무 짧거나 간단하게 설명되어 있어서 이해하거나 응용하는데 어려움이 있다.

그래서 아두이노를 다루면서 이해한 내용을 정리해서 올리려고 한다. 

일단 첫번째는 아두이노의 기본 이해이다.

 

아두이노 기본 지식

 

아두이노는 '작은 컴퓨터'라고 생각하고 동작과정을 이해하고 있으면 좀 더 쉽게 받아들일 수 있다. 

 

동작과정을 입력, 처리, 출력 이렇게 세가지로 구분한다.

센서와 같은 입력 기기로 들어온 데이터(값)을 받아서 입력된 프로그램에 의해서 모터 또는 LED 같은 출력 기기로 동작한다. 

 

아두이노는 부품들을 입출력 포트에 연결하고 프로그램으로 동작시킨다. 구체적으로 아두이노는 전기 신호를 이용해 전자 부품 사이에서 통신하거나 전원을 공급하는 역할을 한다. 

 

작은 컴퓨터라고 불릴 수 있는 이유는 'ATmega328' 인데 아래 사진에서 보면 가장 큰 부분을 차지하고 있는 부품이다.

MCU(Micro Controller Uint의 약자)가 컴퓨터의 CPU와 같이 두뇌 역할을 하는 부분이라고 생각하면 된다. 연산, 제어, 기억 등 가장 중요한 역할을 하는 곳이다.

 

출처 : 싸이피아 http://scipia.co.kr/blog/205

 

위,아래로 MCU와 연결될 수 있도록 핀을 꽂을 수 있는 곳이 있는데 목적에 맞게 연결하면 된다. 

 

아날로그 입력 : A0~A5 까지 아날로그 입력 포트 6개가 있는데 여기서 아날로그와 디지털을 구분하자면 디지털은 0 또는 1, 참 또는 거짓, 꺼짐 또는 켜짐 처럼 상황이 2개 밖에 없는 것을 말하고, 아날로그는 디지털과 다르게 0~1023 처럼 범위를 가진 값을 말한다. 아두이노에서 아날로그 입력은 0~1023의 값을 가진다. 디지털 핀으로도 사용가능한데, A0은 14번, A1은 15번, ~~~ A5은 19번으로 사용할 수 있다. 

 

디지털 입출력(I/O) : 디지털0번부터 13번은 디지털 입출력 핀인데 입력과 출력이 가능한 핀이다.  그 중에서 0번과 1번은 시리얼통신을 하는 곳인데 프로그램을 업로드 할 때 시리얼 통신을 하고 있으므로 0번과 1번에 다른 것을 연결하게 되면 오류가 날 수 있다. 따라서 업로드 하는 동안에는 연결된 회로를 뽑았다가 업로드가 완료된 다음에 다시 연결하는 것이 좋다. 

 

5V, 3.3V, GND : 센서나 부품에 전원을 공급해야되면 5V나 3.3V를 이용해서 하면되는데 하나씩 밖에 없으므로 여러개를 사용해야 할 때는 브레드보드를 이용해서 쓴다. GND는 ground의 약자인데, 건전지의 (-) 역할을 하는 곳이라고 생각하면 된다. 반대로 5V와 3.3V는 건전지의 (+)역할을 한다. 전기는 (+)에서 (-)로 흐른다는 개념을 알고 있어야 한다. 쉽게 설명된 글이 있어서 링크를 달아두었다.

https://post.naver.com/viewer/postView.nhn?volumeNo=9702336&memberNo=29381200

 

USB 포트 : 컴퓨터의 USB나 5V 외부 전원을 연결하는 곳이고, 컴퓨터와 연결했을 때 전원 공급과 동시에 USB로 시리얼 통신이 가능하다. 여기서 시리얼 통신이란 유선통신이라고 이해하면 된다. 케이블만 있으면 보조배터리로 연결해도 사용할 수 있다.

 

외부 전원 입력 : 7~12V인 직류 전원을 연결할 수 있는데, 5V에서 동작하기에 힘든 모터 등을 연결했을 때 외부 전원이 들어가야 할 때가 있다.