자이로센서의 움직임을 시각적으로 보여주는 processing이라는 툴을 사용해 보도록 하겠습니다.

아두이노, 자이로센서의 연결은 다음과 같습니다.

여기에서 실행할 프로그램은 arduino의 인터럽트 핀을 이용합니다. 그러므로 arduino의 디지털 핀 2 (인터럽트 핀 0)를 MPU 6050에서 INT로 표시된 핀에 연결합니다. 다음으로 I2C 라인을 설정해야합니다. 이를 위해 MPU 6050에서 SDA로 표시된 핀을 arduino의 아날로그 핀 4 (SDA)에 연결합니다. 그리고 MPU 6050에서 SCL로 표시된 핀은 arduino의 아날로그 핀 5 (SCL)에 연결됩니다.

Arduino MPU 6050을 테스트하려면 Jeff Rowberg가 개발 한 MPU 6050 용 arduino 라이브러리를 먼저 다운로드(MPU6050.zip)합니다.

MPU6050.zip
0.06MB

다음으로 이 라이브러리를 압축 해제 후 "MPU6050"폴더를 arduino의 "library"폴더 안에 붙여 넣습니다.

I2Cdev 라이브러리(I2Cdev.zip)도 동일하게 압축 해제 후 "library"폴더 안에 넣습니다.

I2Cdev.zip
0.02MB

 

IDE를 재실행하면 아래와 같은 메뉴가 보입니다.

위 코드를 arduino에 업로드합니다. 코드를 업로드 한 후 시리얼 모니터를 열고 보드레이트를 115200으로 설정합니다.

시리얼 모니터창에 아래와 같은 메시지가 뜰 것입니다.

--------------------------------------------------------------------------------------

Initializing I2C devices...

Testing device connections...

MPU6050 connection successful

Send any character to begin DMP programming and demo:

--------------------------------------------------------------------------------------

이 상태에서 문자를 하나 보냅니다.(가령 a)

그러면, 시리얼 모니터에서 아래와 같이 요(yaw), 피치(pitch ) 그리고 롤(roll) 값을 볼 수 있습니다.

MPU 6050에서 정확한 값을 얻기까지 약 10 초 정도 기다려야합니다. 그 후에 값이 안정된 값입니다.

MPU 6050에서 데이터의 3D 표현을 보려면 "processing"소프트웨어를 설치해야합니다.

processing IDE는 아래의 사이트에서 다운로드 받을 수 있습니다.

https://processing.org/download/?processing

processing은 두 가지 기능을 제외하고 arduino와 거의 비슷합니다.

processing은 주로 데이터를 시각화하고 2D / 3D 모델로 렌더링하는 데 사용됩니다.

processing IDE를 설치 후 “Toxi”라는 library를 다운로드해야 합니다.

아래의 사이트에서 가장 최근 버전의 library를 다운로드합니다.

https://bitbucket.org/postspectacular/toxiclibs/downloads/

다운로드 받은 파일을 압축을 풀고, "toxiclibs-complete-0020"폴더를 processing 라이브러리 디렉토리에 붙여 넣습니다.

예) C:\Users\hp\Documents\Processing\libraries

processing에서 3D 모델을 시각화하려면 먼저 MPU 6050 (MPU6050_DMP6)의 arduino 코드를 아래와 같이 수정후 업로드해야합니다..

---------------------------------------------------------

#define OUTPUT_READABLE_YAWPITCHROLL

// # OUTPUT_TEAPOT

//#define OUTPUT_READABLE_YAWPITCHROLL

# OUTPUT_TEAPOT

---------------------------------------------------------

다음으로 processing을 실행시키고, MPU6050 라이브러리를 설치 한 폴더로 이동합니다.

예) C:\Program Files (x86)\Arduino\libraries\MPU6050\Examples\MPU6050_DMP6\Processing\MPUTeapot

MPUTeapot.pde 파일을 열고, 윈도우에 대하여 아래와 같이 수정합니다.

-----------------------------------------------------------------------------------

// get the first available port (use EITHER this OR the specific port code below)

//String portName = "/dev/ttyUSB1";

 

// get a specific serial port (use EITHER this OR the first-available code above)

String portName = "COM8";

-----------------------------------------------------------------------------------

실행 버튼을 누르면, MPUTeapot창이 나타납니다.

MPU 6050 모듈을 움직이면, 요(yaw), 피치(pitch ) 그리고 롤(roll) 값에 따라서 같이 움직이는 비행기를 볼 수 있습니다.

Posted by bella1130
,