안녕하세요. 오늘은 터치 센서의 구동원리에 대하여 간단히 알아보고 아두이노와 활용해보겠습니다.

아두이노에는 다양한 입력기기가 있습니다.

예를들자면 버튼, 조이스틱, 초음파 센서, 물체 감지센서 등이 있습니다.

터치 센서는 스마트폰을 시작으로 다양한 전자기기에서 입력기기로 활용되고 있습니다.

이를 아두이노에 활용한다면 다양한 프로젝트를 만드는데 도움이 될 것 입니다.

차례

1. 정전시 터치 센서의 원리

2. 터치 센서 TTP223

2. 아두이노와 터치 센서

1. 정전식 터치 센서의 원리

터치 센서는 크게 두가지 방식이 있습니다. 정전식과 감압식입니다.

거의 모든 기기에서는 정전식을 사용하고 있습니다.

정전식 터치의 원리는 사람이 가지고있는 정전기를 이용한 방식입니다

스크린에 전류를 흐르게하고 사람이 손을 가져다 되면 정전기에 의해 전자가 끌려가게 되고

전류가 변하게 되어 인식하는 원리입니다.

터치스크린 원리 자세히 알아보기 ! ( 링크입니다. )


2. 터치 센서 TTP223

이번에 사용할 터치 센서 모듈은 TTP223 입니다.

위 그림에서 볼 수 있듯이 터치센서 패드가 있습니다.

VCC와 GND전원을 연결하면 저곳에 전류가 흐로고 위에 설명했듯이 손을 가져다 대면 전류가 변하고 인식을 하게 됩니다.

SIG핀에 데이터를 입력받을 아두이노핀에 연결해주시면 됩니다.


3. 아두이노와 터치 센서

아두이노와 터치 센서를 활용하여 LED밝기를 3단계 조절하는 예제를 해보겠습니다.

다음과 같이 회로를 구성합니다. (회색 판이 터치센서 모듈입니다.)

터치 센서의 SIG핀을 6번핀에 연결했습니다.

그리고 터치 센서가 인식을 했을 때 3번핀으로 전압을 줘서 LED가 밝아지는 방식입니다.

그런데 여기서 터치 1번당 밝기가 1단계씩 올라가서 3단계까지 올라가는 방식으로 코딩해보겠습니다.

sig는 터치센서의 인식 데이터 값을 받을 핀번호 입니다.

마찬가지로 int led = 3; led를 출력할 때 쓸 핀번호를 초기화 시킵니다.

level 은 터치할 때 마다의 단계를 나타내기 위한 정수형 변수입니다.

boolean turnON은 센서가 인식되는 상태인지 아닌지를 구분하기 위한 논리자료형 입니다.

setup()에서 각각 핀모드를 초기화 해줍니다.

먼저 led를 단계별로 인식할 수 있게 만드는 함수 void fuc() 부터 보겠습니다.

void fuc()

state 가 1일 경우는 터치 센서가 인식되고 있는 경우 입니다.

state가 1일 경우 turnON = true 로 초기화 시킵니다.

그리고 turnON이 true고 state = 0 이 된다면 한번 인식되었다가 인식이 끝났다는 것을 뜻하게 됩니다.

그러면 level을 +1 연산 시켜줍니다. 

총 3단계 까지 있으므로 level이 4가되면 0으로 초기화 시켜줍니다.

즉, 계속 터치센서에 인식을 시켜도 시간에 상관없이 단계별로 딱 맞게 구분 지을 수 있습니다.

void loop()

이제 level의 값에 따라서 led의 analogWrite의 출력값을 다르게 설정하면 완성됩니다.

예제 동영상입니다.

감사합니다.

안녕하세요? 오늘은 조이스틱의 원리를 알아보고 아두이노와 함께 활용해보도록 하겠습니다.

조이스틱은 아두이노 프로젝트에서 유용하게 입력기기로써 쓰입니다.

특히 아두이노로 게임을 만들거나 로봇을 움직일 때 자주 쓰입니다.

그러면 조이스틱의 원리가 어떻게 되고 이것을 어떻게 데이터로 받아들이는지 간단하게 알아보겠습니다.

그 후 간단한 예제를 아두이노와 함께 활용해보도록 하겠습니다.


차례

1. 조이스틱의 원리

2. 아두이노와 조이스틱

1. 조이스틱의 원리

조이스틱의 원리는 가변저항을 알고 계신다면 아주 간단해집니다.

가변저항 원리 알아보기 ( 링크입니다. )

변저항은 축을 회전 시키면 내부의 저항물체의 길이가 조절되어 저항이 변하는 방식이였습니다.

조이스틱도 이와 같은 원리를 그대로 가져옵니다.

조이스틱은 x축과 y축에 두개의 회전나사가 있습니다.

여기서 이 두개의 회전나사가 가변저항과 같은 역할을 하게 됩니다.

그래서 움직인 만큼 x축, y축의 저항이 변하게되고 전압이 변하게되어 읽어들이는 데이터 값도 변하게 됩니다.

아날로그 입력 데이터는 외부의 전압 변화를 읽어들이는 방식입니다.

조이스틱을 누르면 버튼처럼 사용할 수도 있습니다.

-

2. 아두이노와 조이스틱

회로는 다음과 같이 연결해주시면 됩니다.

Vcc와 GND는 각각 5V, GND 연결하고 VER은 x축, HOR y축을 뜻합니다.

이 두가지는 아날로그 데이터이므로 A0,A1에 각각 연결합니다. 그리고 스위치는 디지털핀에 연결해주시면 됩니다.

그러면 조이스틱을 움직이면 값이 어떻게 변하는지 출력하는 간단한 예제를 해보겠습니다.

코드는 다음과 같습니다.

값을 입력받기 위해서 3개의 정수형 변수를 선언합니다.

그리고 xpos, ypos에 아날로그 데이터를 입력받을 핀을 초기화 해줍니다.

select는 디지털 값이므로 디지털핀에 초기화합니다.

그리고 각각의 변수를 출력해주는 코드를 적으면 됩니다.

조이스틱을 움직이면 다음과 같이 데이터값이 변하는 출력됩니다.

조이스틱은 훌륭한 입력기기로 사용하실 수 있습니다.

서보모터를 제어하는데도 사용할 수 있고, 게임을 만드는데도 이용가능합니다.

기본예제를 잘 숙지하시면 다양한 곳에 활용하기 수월하실 것 입니다.

감사합니다.

안녕하세요! 공대남 입니다. 오늘은 아두이노를 활용한 다양한 프로젝트 사례들을 소개해보겠습니다.

아두이노에 대해서 알고계십니까? 아두이노는 간단히 말하자면 다양한 센서들과 제어를 할 수 있는 컨트롤러와

코딩을 할 수 있는 소프트웨어 모든 것을 갖추고 있는 하드웨어 + 소프트웨어 입니다.

이것을 이용하면 생각하는 것 무엇이든지 만들 수 있습니다. 저도 이번에 아두이노 프로젝트를 하게되었습니다. 

아두이노에 대하여 간단하게 알아보고 다양한 프로젝트 사례들을 알아보겠습니다.

차례

1. 아두이노란 ?

2. 아두이노 활용 사례

1. 아두이노란 ?

아두이노는 마이크로컨트롤러 입니다. 즉, 어떤 값을 인식하고 판단하여 

제어하고 원하는 출력(동작)을 수행할 수 있는 임베디드 시스템을 갖추고 있습니다.

그래서 아두이노에너느 다양한 센서나 부품들이 포함되어 있고 이를 직접 연결할 수 있습니다.

그리고 직접 코딩하여 원하는 프로그램을 코딩하고 오픈소스를 이용하여

많은 사람들이 손쉽게 코딩정보를 교환할 수 있도록 했습니다.

그렇게하여 공학도도 접근이 쉽지 않은 마이크로 컨트롤러를 일반인들에게도 쉽게 다가갈 수 있었습니다.

가격이 저렴하고 배우기 쉬워 교육용, 또 취미용으로도 많이 쓰이고 있습니다.

-

2. 아두이노 활용 사례

(1) 아두이노 드론

아두이노를 이용하여 만든 드론입니다.

실제로도 난이도가 그렇게 어렵지 않아서 아두이노로 드론 만드는 분들이 많습니다.

구글에 아두이노 드론만 검색해봐도 엄청나게 많이 보실 수 있습니다.

또, 아두이노를 제어할 수 있는 어플리케이션을 만드는 툴도 따로있기 때문에

제어할 수 있는 어플을 만드는 것도 편리합니다.


(2) 모션 카피 로봇

이분은 기울기 센서와 같은 것들을 이용해서 사람의 움직임을 카피하는 로봇 팔을 만들었습니다.

저도 되게 관심있게 봤습니다. 정말 활용 분야가 넓다고도 생각이 들었습니다.

또 아두이노와 그 외에 부품들을 결합해서도 만들 수 있습니다.


(3) 아두이노 도형기

아두이노를 활용해서 plotter 머신을 만든 분 입니다.

이것도 많은 분들이 만들었습니다. 입력한 값대로 글이나 그림을 프린팅하는 프로세스입니다.


(4) 3D 프린터

이건 정말 대단한 것 같습니다. 아두이노를 이용해서 홈 메이드 3d 프린터를 만들었습니다.

3d 프린터를 만드는 것 자체도 힘들지만 아두이노로 만들어 보겠다는 생각도 대단한 것 같습니다.

이렇게 보면 아두이노의 한계가 어디인지 정말 궁금합니다.


(5) 지능 로봇

이분은 거미 로봇을 만들었습니다. 아두이노를 많이 해보신 분들은 로봇이나 4륜 구동기가 같은 것들을 만들어 보셨을 겁니다.

좀 더 나아가 균형로봇이라 던지 많은 분야에 적용한 로봇들이 아두이노로 만들어 지고 있습니다.

-

오늘은 아두이노가 뭔지 간단히 알아보고, 다양한 프로젝트 사례들을 알아 보았습니다.

저도 아두이노 프로젝트를 준비하고 있는 입장으로써 많은 도움이 됐습니다.

다음에는 좀더 유용하고 좋은글로 찾아오겠습니다. 감사합니다!

+ Recent posts