BASIC4MCU | 질문게시판 | 답변 : 센서 평균값 구하기
페이지 정보
작성자 master 작성일2020-06-01 08:41 조회2,874회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=12541
본문
//#include <Wire.h>const int MPU_addr=0x68;//int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;//float baseAcX,baseAcY,baseAcZ;float baseGyX,baseGyY,baseGyZ;//float sumAcX=0,sumAcY=0,sumAcZ=0;float sumGyX=0,sumGyY=0,sumGyZ=0;//void setup(){Wire.begin();Wire.beginTransmission(MPU_addr);Wire.write(0x6B); Wire.write(0);Wire.endTransmission(true);Serial.begin(9600);pinMode(ledPin1,OUTPUT);pinMode(ledPin2,OUTPUT);}//void calibAccelGyro(){sumAcX=sumAcY=sumAcZ=0;for(int i=0; i<10; i++){Wire.beginTransmission(MPU_addr); Wire.write(0x3B); Wire.endTransmission(false);Wire.requestFrom(MPU_addr,14,true);AcX=Wire.read()<<8|Wire.read(); AcY=Wire.read()<<8|Wire.read(); AcZ=Wire.read()<<8|Wire.read();Tmp=Wire.read()<<8|Wire.read();GyX=Wire.read()<<8|Wire.read(); GyY=Wire.read()<<8|Wire.read(); GyZ=Wire.read()<<8|Wire.read();sumAcX+=AcX,sumAcY+=AcY,sumAcZ+=AcZ;delay(100);}baseAcX=sumAcX/10; baseAcY=sumAcY/10; baseAcZ=sumAcZ/10;//Serial.print("AcX="); Serial.print(AcX);Serial.print("|AcY="); Serial.print(AcY);Serial.print("|AcZ="); Serial.print(AcZ);Serial.print("|Tmp="); Serial.print(Tmp/340.00+36.53);Serial.print("|GyX="); Serial.print(GyX);Serial.print("|GyY="); Serial.print(GyY);Serial.print("|GyZ="); Serial.println(GyZ);Serial.print("|baseAcX="); Serial.println(baseAcX);Serial.print("|baseAcY="); Serial.println(baseAcY);Serial.print("|baseAcZ="); Serial.println(baseAcZ);delay(50);}//void loop(){calibAccelGyro(); //가속도 자이로 센서의 초기 평균값을 구한다.//}
제가 모든 예제를 외우지 못합니다.
자이로 센서 예제를 찾아서 실행하면서 동작을 이해 한 후에 원하는대로 수정해서 사용하세요
댓글 0
조회수 2,874등록된 댓글이 없습니다.