참고자료

아두이노, 오렌지보드 등의 오픈소스하드웨어를 사용하는데 필요한 것들을 알아봅니다.

아두이노 시작하기

2015-01-16 10:41:19

전기의 이해

모든 물질은 매우 작은 원자의 집합으로 되어 있으며, 이들 원자는 양전기를 가진 원자핵(atomic nucleus)과 음전기를 가진 전자(electron)로 구성되고, 그 개수가 동일하여 전기적으로 평형상태를 유지하고 있습니다.



 
원자핵을 돌고 있는 전자 중에서 가장 바깥쪽 궤도에 있는 전자는 원자핵으로부터의 구속력이 가장 약하여,
적은 에너지로도 쉽게 이탈하므로 자유로운 운동을 할 수 있습니다. 이를 자유전자라 합니다. 
자유전자가 이동을 하게되면 전기적 평형상태가 깨져, 전기적 성질을 띄게 되는데, 이를 전하라 하며, 이 전하가 이동하는 것을 전류라 합니다.
물질 중 자유전하가 많아 전하를 잘 이동시키는 것을 전기전도체라하며, 줄여 도체라고 부릅니다. 
 


 
전기의 성질은 물과 같아, 다음과 같이 설명할 수 있습니다. 전압은 수압과 같아, 물이 높은 곳에서 낮은 곳으로 흐르는 것처럼 전류도 전압이 높은 곳에서 낮은 곳으로 흐릅니다.
 

 

 

 

전기는 전류의 세기와 방향이 변화에 따라 다음과 같이 두 가지로 분류됩니다. 

 

 

 

 
직류 (DC: Direct Current)
시간에 관계없이 크기와 방향이 일정하게 유지되는 전류의 흐름을 말합니다. 건전지, 축전지 등이 대표적이며, 이들에 저항을 연결해서 회로를 만들면 이 회로를 흐르는 전류는 항상 크기가 일정하며 흐르는 방향도 변하지 않습니다. 
 
교류 (AC: Alternating Current)
시간에 따라 주기적으로 전류의 방향과 세기가 변하는 전류의 흐름을 말합니다. 우리가 가정에서 사용하는 전기가 대표적이며, 교류는 전류나 전압이 주기적으로 변화합니다. 
 

 

 

 

이 학습 가이드에서는 직류(DC)회로만을 사용합니다.
 
전압, 전류와 저항은 다음과 같은 상관관계가 있습니다.
 
 
옴의 법칙
Georg Ohm이 발표한 이론으로 전압이 커질수록 전류의 세기는 세지고, 일정한 전압일 때 전기 저항이 클수록 전류가 약해진다는 법칙입니다.
 
전압 (V = Voltage)
전류가 흐를때의 압력으로 단위는 V (볼트) 입니다. 
 
전류 (I = Current)
전하가 이동하는 현상으로 단위는 A (암페어) 입니다. 
 
저항 (R = Resistance)
전기의 흐름을 방해하는 성질으로, 단위는 Ω (옴) 입니다. 
 
전류의 세기(I) = 전압(V) / 전기 저항(R)
 

 

 

 

 

 

 

5V의 전압을 걸어주었을 경우, 저항이 1Ω 이라면 옴의 법칙에 따라 전류의 세기는 5/1이 되어 5A가 됩니다. 

 

 

 

 

아날로그와 디지털

아날로그 (Analogue)는 외부적인 원인에 의하여 연속적으로 변하는 물리량을 나타내는 것으로, 온도계의 수은주나 시계의 바늘 위치, 빛이나 소리 등을 들 수 있습니다. 즉, 아날로그는 특정 상태에 대하여 무한한 실수 값을 가질 수 있지만, 이와 반대로 디지털 (Digital)은 불연속적인 제한된 값 만을 가집니다. 
 
 
 
디지털을 사용하는 이유는 아닐로그에 비하여 잡음이나 외부요인에 강하고, 작게 만들 수 있으며 비용도 저렴하기 때문입니다. 
 
디지털은 On과 Off, 두 가지의 상태만을 갖고 있고, 이 두가지의 상태 로 데이터를 전송하거나 조작 등을 할 수 있습니다. 전기 회로에서 이 두 상태를 로직레벨이라 합니다. 
 
로직레벨 (Logic Level)은 디지털 회로에서 특정 전압 또는 신호가 존재할 수 있는 상태를 말합니다. 디지털 회로에서는 On과 Off 두가지 상태만을 가지고 있으므로, 로직레벨은 둘 중의 하나를 의미합니다. 
 
오렌지보드에 사용된 ATmega328 마이크로 컨트롤러에서는 On는 1과 같으며 HIGH 신호로 표현하고, Off는 0과 같으며 LOW 신호로 표현합니다. 이들 신호(로직레벨)는 일반적으로 전압의 크기에 의해 결정됩니다. 5V 전원을 사용하는 오렌지보드의 로직레벨에 대한 전압 크기는 다음과 같습니다.
 
HIGH 신호 출력: 4.2 ~ 5V
HIGH 신호 입력: 3 ~ 5V
LOW 신호 출력:  0 ~ 0.9V
LOW 신호 입력: 0 ~1.5V
 
참고로, 이후의 회로도 등에 나오는 Vcc, Vdd 는 +전원, Vss, Vee는 -전원(GND)를 말합니다
 

펄스폭변조(PWM)

디지털 신호로 아날로그 회로를 제어하는 방법입니다. 아날로그 신호는 시간에 따라 연속적인 값의 변화를 보이는 반면, 디저털 신호는 제한된 신호(0 또는 1)의 값만을 갖습니다. 5V의 신호를 출력한다고 가정한다면, 아날로그는 정확히 5V가 아니라 시간에 따라 0~5V 범위 내 임의의 실수 값을 가지며, 디지털의 경우 0 (off) 또는 5V (on) 값 만을 가집니다. 
 
펄스폭변조 (PWM)방식을 사용하여 아날로그 신호와 같이 다양한 값을 표현해 줄 수 있습니다. 일정 주기로 On과 Off를 반복하여 사각파를 만들고, On으로 설정된 시간의 비율 (duty cycle)을 조정함으로써 출력 전압에 변화를 주는 것입니다. 
 
예로, 0.05초 (50ms) 동안 5V 전원을 공급하고 다음 0.05초 (50ms) 동안, 전원을 공급하지 않는다면, 0.1초 (100ms)동안 50%는 5V, 나머지 50%는 0V로, 아래의 가운데 그림 같은 형태가 되며 1초 동안 반복을 하면 10회의 변화가 생기게 됩니다. 즉 1초 동안에 5V의 절반인 2.5V가 공급되는 것과 같습니다. 만일 전구를 연결했다면, 2.5V 전원에 연결된 것과 같이 불이 켜질 것입니다.
 

저항의 용도

앞으로 본 학습가이드의 따라하기 과정를 통하여 전기회로를 직접 구성하다보면, 저항을 많이 사용하게 됩니다. 저항은 어떠한 목적으로 사용되는지에 대하여 좀 더 살펴보고 가도록 합니다.
 
저항은 전류의 흐름을 방해하는 성질로 저항의 크기는 물질의 종류와 형태에 따라 달라집니다. 일반적은 저항의 내부구조는 다음과 같습니다.
 

 
저항의 크기는 띠의 개수와 색깔로 구분을합니다. 본 학습가이드에서 가장 많이 사용되는 330Ω 저항의 띠는 주황색-주황색-갈색-금색으로 칠해져 있으며, 10KΩ 저항의 띠는 갈색-검정색-주황색-금색으로 칠해져 있습니다.  
 

 

 

전기회로를 구성하는데에 있어 저항은 다음과 같은 목적으로 사용됩니다. 

 

 

 
 
1) 과전류 방지 (전류 제한)
 
전위치가 있는 두 지점이 직접 접촉했을때, 이 접점의 저항은 0에 가까워짐에 따라 일시에 많은 양의 전류가 흐르게 되며. 접점에서 소비되는 전력의 증가로 많은 열을 발생시키게 됩니다. 이로 인해 회로를 태우거나 손상을 줄 수 있는데, 이를 쇼트(단락)라고 합니다. 
 
예로 건전지의 (+)와 (-) 사이에 도선만을 연결하고 저항이나 전구 등을 연결하지 않으면, 저항이 0이되어 단번에 많은 전류가 흐르며 과열이되어 위험합니다. 
 
이와 같이 과전류를 방지하기 위하여 저항을 달아주며, 오렌지보드를 사용할 때에도 각핀을 저항 없이 직접 도선으로 연결하게 되면 오렌지보드의 수명을 단축시키거나 손상을 줄 수 있으므로 주의해야 합니다. 또한 각 전자부품의 경우에도 허용전류가 있으므로 그에 맞게 저항을 달아줘야 됩니다. 
 
 
2) 전압 분배
 
(a)와 같이 회로에 저항 하나를 연결하게되면 전압은 옴의 법칙 (I= V/R)에 따라, 저항에 걸리는 전압은 전체 전압과 동일합니다
 
그러나 (b)와 같이 저항 두 개를 연결하면, 전체 저항(R)은 R1 + R2가 되며, 전체 회로에서 전류(I)는 일정 세기로 흐르게 됩니다. 즉, R1과 R2에 흐르는 전류가 같습니다. 
 
전체 저항은 5Ω = 2Ω + 3Ω 이며, 전류의 세기는 5V / 5Ω = 1A 가 됩니다. 따라서 R1에 걸리는 전압은 2Ω x 1A = 2V 가 되며, R2에 걸리는 전압은 3Ω x 1A = 3V 가 됩니다. 저항이 클수록 전압도 비례하여 커지게 됩니다. 또한 각 저항에 걸리는 전압의 합은 전체 전압과 같습니다. (5V = 2V + 3V) 
 
저항을 이용한 전압 분배는 회로에서 제대로 전압이 출력 (또는 입력)되는지 확인이 필요할 경우에 활용 할 수 있습니다.  (V In/Out)


 
 
3) 로직레벨 설정 (풀업 저항 / 풀다운 저항)
 
디지털 회로에서  스위치 등을 사용할 경우, 스위치가 열려진 초기 상태에서는 입력이 없기 때문에 디지털 회로에서 정확히 어떠한 전압 값 (신호)이 들어오는지 모릅니다. 따라서 디지털 회로는 초기의 로직레벨 (HIGH 또는 LOW)을 결정하지 못하는 상태가 되어 시스템이 제대로 동작하지 않을 수 있습니다. 이러한 상태를 플로팅되었다고 합니다.
 
이때 저항을 달아주어 디지털 회로의 초기 로직레벨을 설정하고 일정하게 유지할 수 있습니다. 일반적으로 10KΩ 에서 100KΩ 까지 정도의 저항을 사용합니다. 
 
저항을 달아주는 위치에 따라 로직레벨이 달라집니다. 다음 그림의 (b)와 같이 전원쪽에 저항을 달아주는 것을 풀업(Pullup) 저항이라하며, 초기 전압 입력을 5V, 즉 로직레벨을 HIGH로 설정합니다. 따라서 스위치를 누르면 전류가 GND(0V) 쪽으로 흐르게 되어, 입력전압이 0V가 되며, 로직레벨이 LOW인 상태가 됩니다.
 

 
이와는 반대로 스위치에 대한 초기 로직레벨을 LOW로 설정하려 한다면, 아래와 같이 GND쪽에 저항을 달아주면 됩니다. 따라서 스위치를 누르면 디지털 회로로의 입력 전압이 5V가 되어 로직레벨이 HIGH상태로 전환됩니다. 
 

 

오렌지보드(OrangeBoard)

오렌지보드는 아두이노 우노를 기반으로 제작되어, 아두이노 우노와 동일하게 동작합니다. 
 
전원, 아날로그 와 디지털 등 총 31개의 핀으로 구성되어 있습니다. A0-A5까지는 아날로그 핀으로 각종 센서에서의 값을 읽어올 수 있으며, 0-13번까지는 디지털 핀으로 입출력 기능을 하는 부품을 연결할 수 있습니다. 
 
디지털핀 14개 중, 빈 번호 옆에 ‘-’가 붙은 6개의 핀들은 디지털 신호로 아날로그 신호와 같은 PWM Pulse-Width Modulation 출력을 하기 위한 핀으로, 아날로그 회로를 제어할 때 사용합니다. 
 

 

오렌지보드 BLE를 사용할 경우 보드 내 블루투스 모듈이 오렌지보드의 D4, D5번 핀에 연결되어 있기 때문에 블루투스를 사용할 경우 D4, D5번 핀의 사용이 불가하며, 오렌지보드 가운데 위치한 토글스위치를 통해 블루투스를 ON/OFF할 수 있다.

 

 

브레드보드(BreadBoard)

속칭 “빵판”(Bread=빵, Board=판)으로도 불리며, 납땜을 하지 않고도 전자 부품 등을 쉽게 꽂아 전자회로를 구성할 수 있는 보드입니다. 재사용이나 수정이 쉬워, 프로토타입(시제품)을 만드는데 매우 유용하게 사용됩니다.
 
브레드보드의 내부는 아래 그림의 녹색 선과 같이 가로와 세로로 금속 조각이 각각 배치되어 있으며, 이웃하는 녹색선과는 연결되어있지 않습니다. 
 
+와 -기호가 붙은 가로선 부분은 버스영역으로 전원의 +,-를 각각 연결하고, 가운데의 세로 5칸씩으로 구분된 부분은 IC영역으로 부품을 연결하는데 사용합니다. 예로, +버스에 전원을 연결한 후, +버스와 IC영역 (2,a)을 연결하면, 2열의 a,b,c,d,e 모두에 전원이 공급됩니다. 
 

 

 

 

 

집적회로(Integrated Circuit: IC)
작은 판위에 여러 전자부품을 특수 목적에 맞게 아주 작은 크기로 만들어 놓은 회로를 말합니다.
 

 

 

 

버스(bus)

동일한 기능을 수행하는 많은 신호선들의 집합을 말하는 것으로, 브레드보드에서는 긴 가로선에 전원을 공급함으로써, IC영역에서 가까이에 있는 전원을 쉽게 사용하도록 하기 위한 목적으로 사용되고 있습니다.  

 
 

환경설정

오렌지보드를 사용하기 위한 고정작업이 끝났다면 이제는 컴퓨터와 오렌지보드를 연결하여 사용하기 위한 소프트웨어 작업이 필요합니다.
 

1) USB 드라이버 설치
 
FTDI 홈페이지 (http://www.ftdichip.com/Drivers/VCP.htm) 에 접속하여, 아래에 표시된 것 중 PC에 맞는 드라이버를 다운로드 받아 설치합니다.



 
2) 아두이노 IDE 설치하기
 
1. Windows 버전
아래의 링크를 참조하세요.
Windows버전 아두이노IDE 설치하기
 
2. MAC OSX
아래의 링크를 참조하세요.
MAX OSX버전 아두이노IDE 설치하기
 
 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

시작, 아두이노, 오렌지보드