MPU6050 레지스터
·
Balancing robot/FW&SW
0. 한 개의 센서 사용 1. I2C 통신 사용 (I2C 주소 = 0xD0)2. 인터럽트 사용 안 함 MPU6050을 사용해 센서 값(자이로, 가속도)을 받기 위해 접근해야 할 기본적인 레지스터는 아래와 같다WHO_AM_IPWR_MGMT_1SMPRT_DIVGYRO_CONFIGACCEL_CONFIG  0. WHO_AM_I주소: 0x75길이 : 1 btye디폴트 값 : 0x68 (변경 불가능) MPU6050이 본인의 ID 값인 0x68이 저장되어있는 레지스터이다. 해당 레지스터를 read하면 0x68이 읽힌다. 보통 I2C통신이 잘 되는지 테스트하는 용도로 쓰임.  1. PWR_MGMT_1 주소: 0x6B길이 : 1 btye디폴트 값 : 0x40  PWR_MGMT_1 레지스터를 통해 Sleep mode에 있..
MPU6050 I2C 주소값
·
Balancing robot/FW&SW
0. MPU6050 I2C 주소MPU6050의 I2C 주소는 7비트로 이루어져 있으며 b110100X이다. X는 AD0핀의 전압 레벨에 따라 결정된다. XAddressHex(16진수)Lowb11010000x68Highb11010010x69  여러개의 센서를 사용하면 중요하겠지만 이번 프로젝트에서는 한 개만 사용했고 AD0핀을 GND에 연결했으므로 MPU6050의 주소는 0x68이 된다.  hal로 짜여진 MPU6050 라이브러리를 찾아보면 보통 MPU6050 의 주소를 0x68 (0x 68 0x68 이라는 의문이 들었다.  master가 slave에 read 할 때는 11010001인 0xD1을 사용하는 게 맞고master slave에 write 할 때는 11010000인 0xD0을 사용하는 게 맞다..