To see all my post about this challenge

新年快樂

過年期間比較空閒,補一下進度。

買了幾塊加速度感測器,先選MPU6050來玩,搭配Nucleo32-F031K6。

接線圖如下,Eagle還不熟,只好先用Fritzing畫。

MPU6050.jpg

實際接出來長這樣,配線顏色特別符合上圖。

IMG_20160209_092830.jpg

MPU6050是使用IIC通訊,這部分前幾個禮拜才剛學著用,所以不太熟。還好mbed上有前人完成好的範例可以參考,

mbed.jpg

Import Baser Kandehir 建立的I2C_MPU6050 ,修改成Nucleo32-F031K6腳位後測試結果是OK的。

f031k6.jpg

確定了這個線路是可行的,接下來就是修改程式,依範例修改來得到我要的值。

目前的while loop裡的碼

    while(1) 
    {
     
     /* Uncomment below if you want to see accel and gyro data */
        
        pc.printf(" _____________________________________________________________  \r\n");
        pc.printf("| Accelerometer(g) | ax=%.3f | ay=%.3f | az=%.3f                \r\n",ax,ay,az);
        pc.printf("| Gyroscope(deg/s) | gx=%.3f | gy=%.3f | gz=%.3f                \r\n",gx,gy,gz);
        pc.printf("|_____________________________________________________________  \r\n\r\n");
        
        wait(2.5);
                
        filter.attach(&compFilter, 0.005);    // Call the complementaryFilter func. every 5 ms (200 Hz sampling period)
        
        pc.printf(" _______________\r\n");
        pc.printf("| Pitch: %.3f   \r\n",pitchAngle);
        pc.printf("| Roll:  %.3f   \r\n",rollAngle);
        pc.printf("|_______________\r\n\r\n");
        
        wait(1);
     
    }

目前的想法是先試試提高取樣頻率,輸出值後先用excel計算過,等套件來時再測試聲調。

除了MPU6050模組買了5塊外,我還買了MMA7455跟ADXL345各一塊,目前會先全部使用MPU6050模組。