Mems 가속도계는 간단하고 휴대 가능하며 적용 가능한데 어떻게 시작해야 할까요? 다음 아두이노 프로젝트에 가장 적합한 가속도계는 무엇일까요? 이 블로그에서는 3축 가속도계로 시작하는 방법을 알려드리겠습니다: ADXL356. 비교; ADXL345와 ADXL335도 다룰 예정입니다!
여기 Seeed에서는 Arduino 보드와 연결할 수 있는 다양한 3축 가속도계를 제공하고 있지만 적합한 제품을 선택하는 방법이 궁금하거나 구매 가이드가 필요한 경우 관련 기사를 확인할 수 있습니다.
ADXL356

ADXL356은 산업용 등급의 높은 안정성, 정밀도, 저전력 ADI ADXL 계열 3축 가속도계입니다.
아날로그 출력 ADXL356은 낮은 잡음 밀도, 낮은 0g 오프셋 드리프트, 측정 범위를 선택할 수 있는 저전력 3축 가속도계입니다. ADXL356은 업계 최고의 잡음, 온도에 따른 최소 오프셋 드리프트, 장기적인 안정성을 제공하여 최소한의 보정으로 정밀 애플리케이션을 구현할 수 있습니다. ADXL356은
±10g 및 ±20g 범위를 지원하는 ADXL356B
와
±10g 및 ±40g 범위를 지원하는 ADXL356C 두 가지 버전이 있습니다.
위에 표시된 가속도계 센서는 Grove - 3축 아날로그 가속도계 ±40g로 ADXL356C 버전에서 실행됩니다. 산업용 등급 기술로 보정 작업이 거의 필요하지 않고 비교적 정확한 결과를 얻을 수 있습니다.
ADXL356C를 통합하면 Grove 3축 아날로그 가속도계에서 성능 이점을 얻을 수 있습니다. 이 제품이 우수한 이유는 다음과 같습니다.
업계 최고의 기술 업계 최고의 소음, 온도에 따른 오프셋 드리프트 최소화 및 장기적인 안정성으로 최소한의 보정으로 정밀 애플리케이션을 구현할 수 있습니다. 장기적인 온도 안정성 밀폐형 패키지로 뛰어난 장기 안정성 온도 대비 0g 오프셋(모든 축)을 제공합니다: 최대 0.75mg/°C 무선 상태 모니터링에 이상적 고주파수에서 ADXL356의 낮은 노이즈는 무선 상태 모니터링에 이상적 초저전력 소비 일반 작동 모드 - 150 μA, 대기 모드는 21 μA에 불과
Grove- 3축 아날로그 가속도계 ±40g(ADXL356C)의 특별한 점은 무엇일까요?
이 가속도계의 통합 Grove 포트는 4핀 Grove 인터페이스를 활용하여 플러그 앤 플레이 방식으로 사용할 수 있으므로 기존의 복잡하고 지저분한 점퍼 와이어 대신 표준 Arduino 장치 또는 Seeeduino(Seeed의 Arduino 버전)와 쉽게 연결할 수 있습니다.
제품 애플리케이션:
- 관성 측정 장치(IMU)/고도 및 방위 기준 시스템(ADHR)
- 플랫폼 안정화 시스템
- 상태 모니터링
- 지진 영상
- 기울기 감지
- 로봇 공학
ADXL 시리즈 비교: ADXL356 vs ADXL345 vs ADXL335 주요 차이점

ADXL356: 사양 왕
ADXL356은 가속도계 스펙트럼의 고급형에 속하기 때문에 전반적으로 더 나은 사양을 갖춘 사양 왕이라고 결론을 내릴 수 있습니다. 따라서 다른 두 모델과 직접 비교하는 것은 가장 공정하지 않으므로 더 자세히 설명하지 않겠습니다.
ADXL335 vs ADXL345
ADXL335는 측정 모드에서 150μA의 낮은 전력을 소비하는 3축 MEMS 가속도계입니다!이 아날로그 가속도계는 최소 풀스케일 범위가 ±3g인 낮은 가속도계로, 기울기 감지 애플리케이션에서 중력의 정적 가속도뿐만 아니라 동작, 충격 또는 진동으로 인한 동적 가속도도 측정할 수 있습니다. 온보드 Grove 커넥터를 사용하여 Arduino 보드에 쉽게 플러그 앤 플레이할 수 있습니다.
ADXL345는 모바일 디바이스 애플리케이션에 매우 적합합니다. 기울기 감지 애플리케이션에서 정적 중력 가속도뿐만 아니라 움직임이나 충격으로 인한 동적 가속도도 측정합니다. 높은 분해능(3.9 mg/LSB)으로 1.0° 미만의 경사 변화도 측정할 수 있습니다. Grove - ADXL345는 측정 모드에서 23μA, 대기 모드에서 0.1μA의 극도로 낮은 전력을 소비합니다. 저전력 모드에서는 매우 낮은 전력 소모로 임계값 감지 및 능동 가속도 측정을 통해 지능형 모션 기반 전력 관리가 가능합니다.4핀 Grove 인터페이스(3-5VDC)가 온보드되어 있어 Arduino 보드 및 Seeeduino 보드와 쉽게 연결할 수 있습니다.
애플리케이션: ADXL345는 모바일 애플리케이션에 더 적합하며 디지털 인터페이스로 인해 더 많은 잠재적 프로젝트가 가능합니다.
사용 편의성: ADXL335는 SPI/I2C가 아닌 아날로그 인터페이스로 인해 사용하기가 더 쉬울 수 있습니다.
전반적인 비교: 전반적으로 ADXL335는 구형 버전의 가속도계로, ADXL345의 장점인 더 넓은 범위 더 나은 감도 다음과 같은 보너스 기능: 비활성 감지 자유낙하 감지 활동 1° 미만의 각도 측정 낮은 전력 소비 이러한 장점으로 인해 ADXL345가 더 비용 효율적인 옵션이 되지만 사용 편의성, SPI/I2C 통신 프로토콜로 인해 사용하기가 복잡하다는 점은 염두에 두어야 할 사항 중 하나입니다.
권장 가속도계 비교
우위 등에도 불구하고 프로젝트의 목적을 파악하고 가장 적합한 가속도계를 선택해야 합니다. 각 가속도계를 다음과 같이 추천합니다:
가장 비용 효율적인 옵션: ADXL345
초보자/최초 사용자 옵션: ADXL335
최고의 성능과 가장 광범위한 사용 애플리케이션: ADXL356
*주: 모든 가속도계는 아두이노와 호환 가능 선호하는 가속도계가 없다면 개인적으로 ADXL356을 추천합니다. 가격이 비싸지만 장기적인 투자로 생각하면 좋습니다. 사용이 간편하고 응용 범위가 넓어 초보자도 쉽게 시작할 수 있고 고급 사용자도 유용하게 사용할 수 있습니다.
소프트웨어 구성 아두이노를 처음 사용하는 경우 계속 진행하기 전에 아두이노 시작하기를 참조하는 것이 좋습니다.
1단계: Github에서 Seeed_ADXL_356.ino를 다운로드하거나 다음 코드를 복사합니다:
#include <Arduino.h>
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#define SYS_VOL 3.3
#else
#define SERIAL Serial
#define SYS_VOL 5
#endif
float cali_data_xy;
float cali_data_z;
int16_t scale;
#define MODUEL_RANGE 40
#define MODULE_VOL 1.8
#define CALI_BUF_LEN 15
#define CALI_INTERVAL_TIME 250
float cali_buf_xy[CALI_BUF_LEN];
float cali_buf_z[CALI_BUF_LEN];
#define XY_PIN A0
#define Z_PIN A1
float deal_cali_buf(float *buf)
{
float cali_val = 0;
for(int i = 0;i < CALI_BUF_LEN;i++)
{
cali_val += buf[i];
}
cali_val = cali_val/CALI_BUF_LEN;
return (float)cali_val;
}
void calibration(void)
{
SERIAL.println("Please Place the module horizontally!");
delay(1000);
SERIAL.println("Start calibration........");
for(int i=0;i<CALI_BUF_LEN;i++)
{
cali_buf_xy[i] = analogRead(XY_PIN);;
cali_buf_z[i] = analogRead(Z_PIN);
delay(CALI_INTERVAL_TIME);
}
cali_data_xy = deal_cali_buf(cali_buf_xy);
cali_data_z = (float)deal_cali_buf(cali_buf_z);
SERIAL.println("Calibration OK!!");
scale = (float)1000 / (cali_data_z - cali_data_xy);
cali_data_z -= (float)980 / scale;
SERIAL.println(cali_data_xy);
SERIAL.println(cali_data_z);
SERIAL.println(scale);
}
void AccMeasurement(void)
{
int16_t val_xy = 0;
int16_t val_z = 0;
val_xy = analogRead(XY_PIN);
val_z = analogRead(Z_PIN);
SERIAL.print("Raw data xy = ");
SERIAL.println(val_xy);
SERIAL.print("Raw data z = ");
SERIAL.println(val_z);
SERIAL.println(" ");
val_xy -= cali_data_xy;
val_z -= cali_data_z;
SERIAL.print("x or y position acc is ");
SERIAL.print(val_xy * scale / 1000.0);
SERIAL.println(" g ");
SERIAL.print("z position acc is ");
SERIAL.print(val_z * scale / 1000.0);
SERIAL.println(" g ");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
delay(1000);
}
void setup()
{
SERIAL.begin(115200);
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
analogReadResolution(12);
#endif
calibration();
SERIAL.print("Scale = ");
SERIAL.println(scale);
}
void loop()
{
AccMeasurement();
}
2단계: 데모를 업로드합니다. 코드를 업로드하는 방법을 잘 모르는 경우 코드 업로드 방법을 참조하세요.
3단계: 도구-> 직렬 모니터를 클릭하여 Arduino IDE의 직렬 모니터를 엽니다. 또는 Ctrl+Shift+M 키를 동시에 누릅니다. 전송 속도를 115200으로 설정합니다
4단계: 보정. 직렬 모니터의 보정 팁을 따릅니다. 몇 단계만 거치면 완료됩니다.
5단계: 이제 센서를 사용할 수 있으며, 출력은 다음과 같이 표시됩니다.
Please Place the module horizontally!
Start calibration........
Calibration OK!!
184.93
185.03
121
Scale = 121
Raw data xy = 185
Raw data z = 193
x or y position acc is 0.00 g
z position acc is 0.85 g
Raw data xy = 188
Raw data z = 196
x or y position acc is 0.36 g
z position acc is 1.21 g
참고:
'아두이노우노 R4' 카테고리의 다른 글
| UNO R4 WiFi BLE ④ 기압 센서 BME280을 연결 (3) | 2024.10.11 |
|---|---|
| UNO R4 WiFi BLE ③ LPS22의 BLE 주변기기와 연결되는 센트럴 (2) | 2024.10.11 |
| Arduino를 사용한 스마트 주차 시스템 (7) | 2024.10.04 |
| ADXL345 가속도계와 아두이노 UNO 연동하기 (5) | 2024.09.11 |
| Arduino Uno, DFPlayer Mini 및 푸시 버튼 사용 오디오 재생 (7) | 2024.09.10 |
| 손가락 수를 이용한 아두이노 LED 제어 (1) | 2024.09.10 |
| 아두이노 온도 표시 문자 표현 (1) | 2024.09.05 |
| 아두이노 SH1106 OLED 동작 (4) | 2024.09.04 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩