LSM9DS1로 가속도 값을 직렬로 인쇄

SWITCH SCIENCE사의 마이크로컴퓨터 ESPr Developer 32에 9 자유도의 관성 계측 장치(IMU)의 LSM9DS1을 접속해, Arduino IDE를 이용해 3축 가속도를 시리얼에 출력하는 방법입니다.

먼저 Arduino 공식 사이트 에서 Arduino IDE를 절차에 따라 설치합니다.
1. "Download"로 이동
2. 각종 PC에 맞춘 인스톨러를 다운로드
3. 설치 프로그램 실행
4. 설정은 기본값에서 특별히 변경할 필요 없음
5. 바탕 화면에 Arduino 아이콘이 있으면 완료

그런 다음 ESP32 보드를 사용하도록 설정합니다.
1. "File"→ "Preference"열기
2. 아래의 "Additional Boards Manager URLs"에 "htps // dl. 예 sp. f. m / dl / Pac 게이지 _ sp32_ 어서 x. j 그런"을 복사하십시오.
3. "OK"를 클릭하여 "Preference"를 닫습니다.
4. "Tools"→ "Board"→ "Board Manager"열기
5. "esp32 by Espressif Systems"찾기(검색 가능)
6. 커서를 누르면 오른쪽 하단에 "Install"이 나오므로 클릭
7. 설치가 끝나면 "close"
8. "Tools"→ "Board"로 스크롤하면 "ESP32 Dev Module"이 있으므로 선택
------ 이것으로 환경 설정이 종료됩니다. ------

마지막으로 보드를 PC와 연결!
"Tools"→ "Port"로 연결한 포트 번호를 선택(코드를 뽑았을 때는 표시되지 않고 연결하면 표시되는 번호입니다)

다음은 시리얼에 가속도를 출력하기 위한 코드입니다.

accelerater.ino
#include <SparkFunLSM9DS1.h>

#define LSM9DS1_M 0x1E
#define LSM9DS1_AG 0x6B

LSM9DS1 imu;

float x,y,z;
uint16_t connectionState = 0;

void setup()
{
  Serial.begin(115200);

  imu.settings.device.commInterface = IMU_MODE_I2C;
  imu.settings.device.mAddress = LSM9DS1_M;
  imu.settings.device.agAddress = LSM9DS1_AG;
  if (connectionState == 0)
  {
    connectionState = imu.begin();
    while (connectionState == 0)
    {
      Serial.println("Failed to communicate with LSM9DS1.");
      Serial.println("Double-check wiring.");
      Serial.println("Default settings in this sketch will "
                     "work for an out of the box LSM9DS1 "
                     "Breakout, but may need to be modified "
                     "if the board jumpers are.");
      Serial.print("Connection Status: ");
      Serial.println(imu.begin());
      delay(1000);
      connectionState = imu.begin();
      Serial.println("------------------------------------------------------\n");
    }if(connectionState!=1){
      Serial.print("connectionState: ");
      Serial.println(connectionState);
    }
  }
}


void loop()
{
  imu.readAccel();
  x=imu.calcAccel(imu.ax)*10;
  y=imu.calcAccel(imu.ay)*10;
  z=imu.calcAccel(imu.az)*10;
  Serial.print("x=");
  Serial.print(x);
  Serial.print(", y=");
  Serial.print(y);
  Serial.print(", z=");
  Serial.println(z);
}

↓ 이 아이콘을 눌러 보드에 씁니다.

쓰기가 완료되면 창 오른쪽 상단의 돋보기를 클릭하면 직렬 창이 열립니다.
직렬 창 오른쪽 하단의 전송 속도를 115200bps로 변경하면 출력된 값이 표시됩니다.

이상입니다!
첫 투고 읽어 주셔서 감사합니다!
계속은 이쪽↓
스위치를 누를 때 가속도 값을 블루투스로 전송

좋은 웹페이지 즐겨찾기