[#19 WEKIT 아두이노 종합키트 공략] 3축 가속 모듈 공략하기(가속도 센서)

 


안녕하세요 디바이스마트 입니다


이번 시간엔 3축 가속 모듈 !!

가속도 센서에 대해 알아보도록 하겠습니다



"

가속도 센서란?

"

가속도 센서는 말 그대로 가속도를 측정하는 센서로,

X, Y, Z축에 대해 각각의 가속도를 측정해주는 센서입니다.


따라서 가속도 센서를 이용하면 움직임, 기울기 등 여러가지

측정이 가능하며, 그 예시로 스마트폰 화면 회전이 있습니다



따라서 이번 시간엔 3축 가속 모듈을 통해

  기울기를 감지하는 방법에 대해 포스팅 해보겠습니다 ~





WK ADXL345 3축 가속도 센서 모듈
[WK-ADB-K07-25]

▼스펙▼

정격전압 : 5V


인터페이스 : IC2

칩셋 : ADXL345


크기 : 30 * 23mm






아두이노 우노와 쉴드 사용법을 모를 경우 !

[아두이노 우노와 센서 쉴드 사용법]

🔼클릭🔼




1. 회로도 & 배선도





2. 코드 예제


(가속도 센서 예제 코드 링크)


#include <Wire.h>

#define I2C_Address 0x53
#define POWER_CTL 0x2D
#define DATA_FORMAT 0x31
#define X_axis 0x32
#define Y_axis 0x34
#define Z_axis 0x36
#define Range_2g 0
#define Range_4g 1
#define Range_8g 2
#define Range_16g 3
void setup() {
Wire.begin();
Serial.begin(9600);
Init_ADXL345(Range_2g);
}
void loop() {
if(Read_Axis(Z_axis)< -100){
Serial.print("뒤집어짐");
}
else if(Read_Axis(Y_axis) < -50){
Serial.print("우로 기울어짐");
}
else if(Read_Axis(Y_axis) > 50){
Serial.print("좌로 기울어짐");
}
else if(Read_Axis(X_axis) > 50){
Serial.print("앞으로 기울어짐");
}
else if(Read_Axis(X_axis) < -51){
Serial.print("뒤로 기울어짐");
}
else if(Read_Axis(X_axis) > -50 && Read_Axis(Y_axis) > -20 && Read_Axis(Y_axis) < 20 && Read_Axis(Z_axis) > 200){
Serial.print("정상입니다.");
}
Serial.print(" ");
Serial.print("X: ");
Serial.print(Read_Axis(X_axis));
Serial.print(" Y: ");
Serial.print(Read_Axis(Y_axis));
Serial.print(" Z: ");
Serial.print(Read_Axis(Z_axis));
Serial.println();
delay(1000);
}
int Read_Axis(byte a){ //IC2 통신으로 값 받아오기
int data;
Wire.beginTransmission(I2C_Address);
Wire.write(a);
Wire.endTransmission();
Wire.beginTransmission(I2C_Address);
Wire.requestFrom(I2C_Address, 2);
if(Wire.available()){
data=(int)Wire.read();
data=data|(Wire.read()<<8);
}
else{
data=0;
}
Wire.endTransmission();
return data;
}
void Init_ADXL345(byte r){
Wire.beginTransmission(I2C_Address);
Wire.write(DATA_FORMAT);
Wire.write(r);
Wire.endTransmission();
Wire.beginTransmission(I2C_Address);
Wire.write(POWER_CTL);
Wire.write(0x08);
Wire.endTransmission();


}

위 예제는 가속도 센서를 통해 기울기를 감지 하는 예제입니다


IC2 통신으로 각각 X,Y,Z 가속도를 측정하고,

조건문을 통해 기울기를 방지하는 방식입니다

ㅑㅊ




지금까지 3축 가속 모듈에 대해 실습 해 보았습니다

위 예제를 참고해서 여러가지 방식으로

작동해보시길 바랍니다

그럼 저는 다음 센서/모듈 포스팅으로 돌아오겠습니다 !!

🔽상품정보🔽

WK 3축 가속 모듈 [바로가기]

WK 아두이노 우노 호환보드 (USB-C타입) ​[바로가기]

WK 아두이노 호환 센서 쉴드 V5.0 [바로가기]

WK Piranha LED 모듈 [바로가기]


[아두이노 우노 스페셜 센서 종합키트]


ㅔㅏ






댓글 쓰기

0 댓글