본문 바로가기

아두이노(arduino)

아두이노 가속도센서 사용방법 / 예제코드 /

가속도 센서란?

 

가속도 센서는 움직임과 진동을 측정할 수 있어, 운동 추적, 충돌 감지 등에 사용됩니다. MPU-6050 같은 센서를 아두이노와 연결하여 사용할 수 있습니다.

 

다만 몇가지 센서를 사용해야할때 유의할 점이 있습니다.

1. 센서의 정밀도와 측정 범위를 고려해야 합니다.
2. 전원 및 그라운드 연결이 잘 되어야 정확한 데이터를 얻을 수 있습니다.
3. 가속도 센서의 방향과 위치를 고려해야 정확한 측정이 가능합니다.

 

 

 

가속도 센서의 제조사별 종류

 

ADXL345:

아날로그 디바이시즈(Analog Devices)에서 제조
3축 가속도 센서
I2C 및 SPI 통신 지원
±2g, ±4g, ±8g, ±16g 측정 범위 선택 가능
MPU-6050:

인벤센스(Invensense)에서 제조
3축 가속도 센서 및 3축 자이로스코프 센서 내장 (6축)
I2C 통신 지원
±2g, ±4g, ±8g, ±16g 가속도 측정 범위 선택 가능
자이로스코프 기능을 활용할 수 있어 자세 추정에도 사용됨
LIS3DH:

STMicroelectronics에서 제조
3축 가속도 센서
I2C 및 SPI 통신 지원
±2g, ±4g, ±8g, ±16g 측정 범위 선택 가능
낮은 전력 소모 및 고성능 모드 지원
MMA8452Q:

프리스케일(Freescale)에서 제조
3축 가속도 센서
I2C 통신 지원
±2g, ±4g, ±8g 측정 범위 선택 가능
다양한 동작 및 자세 감지 기능 탑재

 

 

 

 

 

 

가속도 센서 회로도

 

 

 

가속도 센서를 잘 보시면  scl sda 핀이 있는걸 볼 수 있습니다. 아두이노 보드별 scl  sda핀이 조금씩은 다르니 참고하셔서 연결하시면 됩니다. 나머지 vcc 는 5v로 gnd는 gnd로 연결하시면 됩니다.

 

Arduino Uno, Nano, Mini, Pro Mini, Duemilanove:
SDA: A4
SCL: A5


Arduino Mega 2560, Mega ADK:
SDA: 20
SCL: 21


Arduino Leonardo, Micro:
SDA: 2
SCL: 3


Arduino Due:
SDA: 20
SCL: 21


Arduino Zero, M0:
SDA: PA22 (SDA핀으로 표시)
SCL: PA23 (SCL핀으로 표시)


Arduino MKR 시리즈 (예: MKR1000, MKR WiFi 1010):
SDA: 11
SCL: 12

 

 

 

 

가속도 센서 예제 코드

 

 

 

#include <Wire.h>
const int MPU = 0x68; // MPU-6050의 I2C 주소
int16_t AccX, AccY, AccZ;

void setup() {
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B);
  Wire.write(0);
  Wire.endTransmission(true);
  Serial.begin(9600);
}

void loop() {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B); // 가속도 데이터 시작 주소
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 6, true);

  AccX = Wire.read() << 8 | Wire.read();
  AccY = Wire.read() << 8 | Wire.read();
  AccZ = Wire.read() << 8 | Wire.read();

  Serial.print("AccX: "); Serial.print(AccX);
  Serial.print(" AccY: "); Serial.print(AccY);
  Serial.print(" AccZ: "); Serial.println(AccZ);
  delay(100);
}

 

아래 필요할 수도 있어 라이브러리를 첨부해뒀습니다.

 

 

 

 

 

가속도 센서 아이디어

 

 

경사 감지 알람

가속도 센서를 이용해 특정 기울기를 넘으면 알람을 울리는 시스템

 

 

 

충격 감지 알람

가속도 센서를 이용해 차량 충돌이나 도난 시 충격을 감지하고 알람을 발생시키는 시스템

 

 

스마트 스포츠 트래커

가속도 센서를 통해 운동 동작을 추적하고 분석하여 운동 효과를 측정하고 개선할 수 있는 기기

 

 

자세 교정 밴드

가속도 센서를 이용하여 사용자의 자세를 실시간으로 모니터링하고, 자세 교정을 도와주는 웨어러블 기기

 

 

가상 현실(VR) 및 증강 현실(AR) 장치

가속도 센서와 자이로스코프를 결합하여 사용자의 머리 위치 및 움직임을 추적하는 HMD(Head-Mounted Display) 장치

 

 

로봇 및 드론 자세 제어

가속도 센서와 자이로스코프를 결합하여 로봇이나 드론의 자세와 움직임을 제어하는 데 사용

 

 

스마트 팔찌 및 시계

가속도 센서를 활용하여 사용자의 활동량 추적, 운동량 측정, 수면 패턴 분석 등의 기능을 제공하는 웨어러블 기기

 

 

지진 감지 시스템

가속도 센서를 사용하여 지진의 진동을 감지하고, 초기 경고 시스템으로 활용

 

 

 

 

 

가속도센서 (mpu-6050)라이브러리 첨부

MPU6050.zip
0.07MB
I2Cdev.zip
0.01MB