BASIC4MCU | 질문게시판 | 아두이노 자이로센서 GY-521 질문
페이지 정보
작성자 master 작성일2018-08-09 14:30 조회11,386회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2712
본문
보드는 아두이노 yun을 쓰고 있습니다.
자이로센서 GY-521을 연결해서 시리얼모니터에 측정값을 출력 시키려고 하는데측정값이 -1로 나오더라구요 아예 측정이 되고있지 않은것 같은데 아무리 찾아봐도 해결 방법을 모르겠어서 질문 드립니다.연결방법과 실행코드입니다.
#includeconst int MPU=0x68; //MPU 6050 의 I2C 기본 주소int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;void setup(){Wire.begin(); //Wire 라이브러리 초기화Wire.beginTransmission(MPU); //MPU로 데이터 전송 시작Wire.write(0x6B); // PWR_MGMT_1 registerWire.write(0); //MPU-6050 시작 모드로Wire.endTransmission(true);Serial.begin(9600);}void loop(){Wire.beginTransmission(MPU); //데이터 전송시작Wire.write(0x3B); // register 0x3B (ACCEL_XOUT_H), 큐에 데이터 기록Wire.endTransmission(false); //연결유지Wire.requestFrom(MPU,14,true); //MPU에 데이터 요청//데이터 한 바이트 씩 읽어서 반환AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)//시리얼 모니터에 출력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);delay(333);}출력은 이런식으로 나옵니다.
이 출력도 INT에 2번을 연결했을땐 안나오고 연결을 하지 않으면 나오더라구요
왜 그런지 알수있을까요
//
https://m.blog.naver.com/PostView.nhn?blogId=msyang59&logNo=220082569589&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2Fhttps://playground.arduino.cc/Main/MPU-6050정상 동작이 되는 라이브러리와 예제소스를 찾으셔야합니다.저렴한 중국산 모듈 중에는 불량이 섞여 있기도 합니다.
댓글 0
조회수 11,386등록된 댓글이 없습니다.