반응형

아두이노 9

아두이노 바운싱(bouncing) 현상 이해와 해결하기(디바운싱)

앞서 플로팅 현상에 대해서 설명했는데 이와 비슷하지만 원인은 다른 바운싱 현상에 대해 설명하겠다.바운싱 역시 전압이 순간적으로 불규칙하게 들어가는 현상이다. 이 현상의 설명에 앞서 앞에서 공부했던 아주 간단한 회로를 잠시 살펴보자.우리가 앞에서 만든 회로를 보면 하나의 스위치가 있고 이 스위치를 누르면 입력핀으로 전압이 걸리거나(풀다운 저항) 이미 걸리고 있던 전압이 없어진다(풀업 저항). 그리고 누르고 있던 버튼을 때면 다시 원상태로 돌아간다. 이 회로를 업그레이드 해서 버튼을 누르고 있을 때 LED가 켜지고 버튼을 누르지 않을 때 LED가 꺼지도록 회로를 구성해 보겠다.다음은 위 회로의 스케치 코드다. 제어문(if문)을 사용해서 조건 cur(현재 입력핀 2번에 걸린 전압의 상태)가 1(HIGH)일 때..

아두이노 2018.01.23

아두이노 풀다운 저항, 풀업 저항, 플로팅 현상 이해하기

처음에 풀다운 저항, 풀업 저항 이게 뭔가 했다. 원리를 곰곰히 살펴보면 플로팅 현상을 제거를 위해서 저항을 연결해 주는 걸 말하는데 저항을 어느쪽에 연결하느냐에 따라서 풀업 또는 풀 다운 저항이 된다. 컴퓨터 조립을 많이 하신 분들은 컴퓨터 본체를 만졌을 때 전기가 흐름을 느낀 적이 있을 것이다. 이렇게 전기 회로는 주변에 전기적으로 영향을 줄 수 있고 이런 현상이 플로팅 현상과 관련이 있는 것 같다. 일종의 간섭 또는 누전 현상? 이라고 하면 이해하기 쉬울까?이런 현상은 보통 접지라는 것을 해서 해결할 수 있다.그렇다면 풀업이나 풀다운 저항을 연결하는 것을 접지와 비슷한 개념으로 이해하면 편할 듯 싶다.위 회로는 플로팅 현상을 확인하기 위한 회로이며 실험을 위한 코드(스케치)는 다음과 같다.간단히 설..

아두이노 2018.01.14

아두이노 PWM(pulse width modulation) 펄스폭변조란?

아두이노를 처음 공부하는 분들에게는 좀 어려울 수도 있는 주제인 PWM에 대해서 알아보겠다. pulse width modulation 을 해석해보면 아날로그 pulse(파장,파형)를 디지털 신호의 네모파장을 모듈화 해서 흉내낸다는 것이다.쉽게말해 디지털 신호를 가지고 아날로그 신호를 흉내낸다는 뜻이다.잘 모르시는 분도 있겠지만 아날로그 신호화 디지털신호의 그래프를 그리면 아날로그 신호는 sin함수 또는 cos 함수처럼 곡선형태로 연결되어 있는 반면에 디지털 신호는 0 또는 1 두가지 값만 가지므로 y=1, y=0 의 두 함수가 시간(x축)에 따라서 연결된 형태로 설명할 수 있다.아날로그 파형은 높낮이가 변하면서도 곡선 위의 점들이 연속적으로 연결되어 있다. 반면에 디지털 신호는 0 또는 1(꼭대기값) 두..

아두이노 2018.01.10

옴의 법칙에 대한 이해

고등학교 때 물리공부를 꽤 열심히 했던 기억이 난다. F=ma, V=IR 이런 공식은 머리 속에서 지워지지 않는데 사실 그 당시에는 어디 써먹냐? 하는 생각이 많았다. 그래도 옵의 법칙 V=IR은 실생활에서 쉽게 접할 수 있는 공식이다. 우리가 사용하는 모든 전자제품의 내부에는 옵의 법칙 V=IR을 토대로 전기회로가 설계되어 있기 때문이다지금 옵의 법칙에 대한 설명을 하는 이유는 아두이노에 대한 실습을 위해서 필수적으로 이해하고 있어야 하는 법칙이기 때문이다.이 공식에 사용된 약자 V, I, R 각각, 전압, 전류, 저항을 의미한다. 그리고 각각의 단위는 순서대로 볼트(V), 암페아(A), 옴(Ω)이다.이 법칙(V=IR)에 대해 설명할 때는 주로 위치 에너지에 비유해서 설명을 한다.예를들어 보면 가파른 ..

아두이노 2018.01.04

아두이노 코딩 기초 Blink 예제 분석

아두이노 코딩을 위해서 프로그래밍 언어(예를들어 C언어)를 처음부터 공부하려고 할 필요는 없다. 프로그래밍의 문법적인 기초를 익히는 것보다 아두이노의 예제를 따라서 코딩해가면서 전자회로가 동작하는 모습에 흥미를 갖게 되면 자연스럽게 코딩의 기초를 익힐 수 있기 때문이다. 전자회로가 동작하는 모습이 바로 눈에 보이기 때문에 단순히 컴퓨터로 코딩 공부를 하는 것 보다 더 효과적으로 프로그래밍에 대한 감각을 익힐 수 있다고 생각한다.그래도 우선 아두이노 코딩을 위한 기본적인 구조(structure)는 알아두어야 한다. 이 구조는 아두이노 코딩을 쉽게하기 위해서 만들어진 구조로 우리는 규칙에 맞게 이전에 설치해 놓은 IDE에 코딩을 하면 된다.또한 api라는 것이 있는데 일종의 함수(function)라고 생각하..

아두이노 2018.01.02

아두이노 브레드 보드/빵판 사용법

아두이노로 회로 실습을 편리하게 하려면 브레드보드, 일명 빵판을 하나 가지고 있는 것이 좋다.(선택이 아닌 필수) 브레드 보드는 여러 가지 사이즈와 모양의 제품이 있는데 복잡한 회로일 수록 더 큰 빵판이 필요할 것이다.빵판의 주된 목적은 납땝없이 간편하게 회로를 구성해 보는 프로토타입(prototype) 용도이므로 아두이노를 배우는 초보자들부터 회로를 설계하는 전문가들 모두 유용하게 사용할 수 있다.브레드 보드는 마치 빵판에 빵을 규칙적으로 올려놓은 듯한 모습이라 브레드보드라고 한다는데 이 홈들에 전선을 꼽아 기판 대용으로 사용할 수 있다. 브레드 보드는 다음과 같은 모양이다.빵판의 내부구조는 단순한 규칙에 따라서 부분적으로 전기가 흐를 수 있도록 연결된 구조이며 내부적으로 다음과 같은 모습을 하고 있다..

아두이노 2018.01.01

아두이노 스케치와 개발환경(IDE) 설치하기

아두이노 스케치(sketch)란 아두이노에 업로드 시키는 소스 코드를 일컫는다. 이 소스코드는 C언어 문법과 비슷한 문법으로 작성해서 아두이노에 업로드 시키는데 이를 도와주는 IDE를 다운로드 받아서 설치하면 된다. 예를들어 LED를 켜지게하는 스케치를 아두이노에 업로드시키면 아두이노는 LED를 밝히는 동작을 하게된다.그 전에 아두이노를 컴퓨터에 연결해서 인식시켜야 하는데 아두이노 정품 보드를 구입했다면 아두이노 사이트에가서 드라이버를 다운받아 설치하면 된다. 하지만 싸구려 호환보드는 경우에 따라서는 컴퓨터에서 인식하지 못할 수 있으면 따로 호환보드에 맞는 드라이버를 설치해야할 수 있다. 필자역시 중국산 짝퉁 싸구려 아두이노 호환보드를 사용하는데 호환보드는 보조 MCU 대신 싸구려 CH340 모듈(USB..

아두이노 2017.12.28

아두이노 보드 종류와 스펙 정리

아두이노는 오픈소스 하드웨어 플랫폼이다. 오픈되어 있으므로 어떤 누구라도 아두이노와 동일한 스펙 또는 개조하여 만들 수도 있고 판매할 수도 있다. 이런 이유로 정식 아두이노 외에 다양한 호환보드가 존재하며 판매되고 있다.그래도 기본적인 아두이노의 구조는 대동소이하기 때문에 처음 아두이노에 입문한다면 여러 측면에서 가장 무난한 아두이노 우노를 사용하면 되겠다.원래 아두이노는 학생이나 초보자교육용으로 시작된 프로젝트였다. 하지만 이 프로젝트가 진행되고 발전되가는 과정에서 교육 뿐만아니라 다양한 분야에서 활용할 수 있는 가능성이 생겨 현재에 이르게 되었다.아두이노의 두뇌 역할을 하는 MCU(Micro Controller Unit)의 종류는 아두이노의 종류를 나누는 기준이 된다. 또한 MCU에 따라서 제조 가격..

아두이노 2017.12.27

아두이노 라즈베리파이 어떤 걸 선택해야 할까?

사실 개인적으로 아두이노보다는 라즈베리파이에 관심이 있었다. 뭔가 기능적으로도 더 많은 것을 할 수 있어 보이고, 미니 컴퓨터로 사용할 수 있으니 말이다. 그런데 난 이미 컴퓨터를 가지고 있는데 사실 이걸 어따 써먹지? 하는 생각이 들다보니 좀더 가격이 싼 아두이노를 먼저 가지고 놀다가 나중에 넘어가도 될 듯 싶었다.우선 아두이노와 라즈베리파이가 어떤 차이점이 있을지 간단히 알아보자.아두이노와 라즈베리파이는 공통적으로 전기적 신호를 제어하여 외부의 센서나, LED 등을 제어하는 데 사용할 수 있다. 예를들어 크리스마스 트리에서 규칙적으로 반짝이는 LDE를 제어하거나 다양한 센서들을 부착해서 다양한 외부환경 변화에 반응해서 동작하는 전자제품을 만들 수도 있다. 그런데 이 둘은 근본적으로 차이점을 가지고 태..

아두이노 2017.12.21
반응형