久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 760|回復: 0
收起左側

基于STM32單片機的電子計步器程序

[復制鏈接]
ID:1140753 發表于 2024-12-21 19:51 | 顯示全部樓層 |閱讀模式
基于stm32的電子計步器,使用MPU6050角速度傳感器檢測角速度和溫度,使用的官方庫檢測位置信息。分享出來供同學們使用,傳感器數據采集板和主控板的完整源碼pcb文件都有提供,可以直接使用嘉立創商城制版。歡迎大家下載.

仿真.png 嘉立創版圖.png

  1. #include "stm32f10x.h"                  // Device header
  2. #include "Delay.h"
  3. #include "OLED.h"
  4. #include "MPU6050.h"
  5. #include "inv_mpu.h"
  6. #include "inv_mpu_dmp_motion_driver.h"
  7. #include "TIM.h"
  8. #include "MyRTC.h"



  9. //float Pitch,Roll,Yaw;                                                                //俯仰角默認跟中值一樣,翻滾角,偏航角
  10. //int16_t ax,ay,az,gx,gy,gz;                                                        //加速度,陀螺儀角速度

  11. //u8 MPU_Get_Gyroscope(short *gx,short *gy,short *gz);
  12. //u8 MPU_Get_Accelerometer(short *ax,short *ay,short *az);
  13. //int temp;

  14. //short MPU_Get_Temperature(void);
  15. u8 mpu6050InitFlag = 1;
  16. int temp;
  17. unsigned long int count = 0;
  18. unsigned long int lastcount = 0;
  19. int step;

  20. int main(void)
  21. {
  22.         OLED_Init();       
  23.         OLED_ShowString(2, 2, "Starting....");
  24.         MyRTC_Init();                //RTC初始化
  25.         MPU6050_Init();
  26.         MPU6050_DMP_Init();

  27. //        OLED_ShowString(6, 1, "Mode1");
  28.        
  29.                                 while(mpu6050InitFlag)
  30.         {
  31.                 mpu6050InitFlag = MPU6050_DMP_Init();
  32.         }
  33.        
  34.        
  35.          OLED_ShowString(2, 1, "Time:");
  36.          OLED_ShowString(2, 8, ":");
  37.          OLED_ShowString(2, 11, ":");
  38.          OLED_ShowString(3, 8, ".");         
  39.          OLED_ShowString(2, 8, ":");
  40.          OLED_ShowString(2, 11, ":");
  41.          OLED_ShowString(3, 1, "Temp:");
  42.          OLED_ShowString(4, 1, "Step:");
  43.          OLED_ShowString(3, 8, ".");         

  44.          
  45.          
  46.        
  47.        
  48.        
  49.        
  50. //        TIM3_Int_Iint(9999 , 7199);//定時器3的1秒中斷初始化

  51.         while (1)
  52.         {
  53. //                MPU6050_DMP_Get_Data(&Pitch,&Roll,&Yaw);                                //讀取姿態信息(其中偏航角有飄移是正常現象)
  54. //                MPU_Get_Gyroscope(&gx,&gy,&gz);
  55. //                MPU_Get_Accelerometer(&ax,&ay,&az);
  56. //                        temp = MPU_Get_Temperature();
  57. //                        OLED_ShowNum(3, 1, temp, 3);
  58. //                OLED_ShowSignedNum(2, 1, Pitch, 5);
  59. //                OLED_ShowSignedNum(3, 1, Roll, 5);
  60. //                OLED_ShowSignedNum(4, 1, Yaw, 5);
  61. //                OLED_ShowSignedNum(2, 8, gx, 5);
  62. //                OLED_ShowSignedNum(3, 8, gy, 5);
  63. //                OLED_ShowSignedNum(4, 8, gz, 5);
  64.                
  65.                
  66.                
  67.           MyRTC_ReadTime();
  68.                
  69.                
  70.                 temp = MPU_Get_Temperature()/10;
  71.                 OLED_ShowNum(3, 6, temp, 2);
  72.                 temp = MPU_Get_Temperature()%10;
  73.                  OLED_ShowNum(3, 9, temp, 1);
  74.                
  75.                
  76. //                temp = MPU_Get_Temperature()%100;
  77. //                 OLED_ShowNum(3, 9, temp, 1);

  78.          
  79.                 OLED_ShowNum(2, 6, MyRTC_Time[3], 2);                //時
  80.                 OLED_ShowNum(2, 9, MyRTC_Time[4], 2);                //分
  81.                 OLED_ShowNum(2, 12, MyRTC_Time[5], 2);                //秒
  82.                 //OLED_ShowNum(4, 1, RTC_GetCounter(), 10);        //顯示32位的秒計數器
  83.                 OLED_ShowNum(5, 1, RTC_GetDivider(), 10);        //顯示余數寄存器
  84.                
  85.                
  86.                
  87.                 lastcount = count;
  88.                 dmp_get_pedometer_step_count(&count);
  89.                 step = count/3;
  90.                 OLED_ShowNum(4, 6, step, 3);
  91. //                 if(lastcount!=count)
  92. //                        OLED_ShowSignedNum(4, 10, (int)count, 3);


  93.         }
  94. }
復制代碼

計步器源代碼v5.0.7z

237.07 KB, 下載次數: 0, 下載積分: 黑幣 -5

計步器.rar

175.11 KB, 下載次數: 0, 下載積分: 黑幣 -5

上傳嘉立創商城可以免費制作

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品www | 国产aaaaav久久久一区二区 | 久久亚洲91| 精品久久久久久久久久久院品网 | 五月综合激情在线 | 日本不卡一区二区三区在线观看 | 亚洲第一成年免费网站 | 久久久www成人免费精品张筱雨 | 91av久久久 | 黄色网毛片 | 懂色一区二区三区免费观看 | 精品久久久久久亚洲精品 | 婷婷不卡 | 欧美日韩一区二区在线观看 | 国产高清一区二区三区 | 国产精品中文字幕在线 | 操操日 | 国产在线精品一区二区 | 一区二区视频 | 欧美午夜视频 | 999国产精品视频 | 国产一区二区三区免费观看视频 | 一级做a爰片性色毛片16美国 | 黄a大片| 午夜精品一区二区三区在线观看 | 色婷婷久久久亚洲一区二区三区 | 国产免费又色又爽又黄在线观看 | www.888www看片| 久久免费精品 | 成人国产精品久久 | av一区在线观看 | 午夜激情视频在线 | 高清一区二区三区 | 日韩三级 | 免费看国产a | 一级片av | 国产成人精品一区二区三区网站观看 | 日韩精品免费视频 | 九九免费视频 | 欧美日韩综合 | 午夜天堂精品久久久久 |