查看: 4803|回复: 7

[分享] 【我要分享】用K60弄的智能小车

[复制链接]

该用户从未签到

10

主题

42

帖子

0

注册会员

Rank: 2

积分
100
最后登录
2018-4-11
发表于 2017-2-15 13:46:54 | 显示全部楼层 |阅读模式
说到这个智能小车这估计是大二以前以来最很有价值的一次代码的学习了,好像这是大二第一学期末玩的吧........

感觉还是挺有意义的做完以后,还有这整个过程的走过来.......

今天主要的是分享下,也给自己留点什么....

记得刚开始的时候和队友拿着传感器,然后我们就用示波器到处在测我们那个它那个引脚(见下图),一直蒙逼的看着那个数据也不知道是啥,总之就是一种无奈

经验分享
1.jpg
2.jpg
苦逼的我们只好还是只能静下心来继续学习,后来车搭起来了
3.jpg

车也跑了起来,可是后来发现车这样是不行结果我们就把它拆了
4.jpg
最后剩下的只是一堆骨头,当然不可能就这样子了,后来把它优化的更好了,
5.jpg
哈哈.........成了我最后的作品......

数据优化对比

与之继续优化的参数(这是用蓝牙示波器看的参数)

没优化前:
6.png
优化后的:
7.png
大体思路

我觉得这基本上也就这么一个思路吧,见下图
8.png


部分代码

  1. <font size="3" face="黑体">#include "common.h"
  2. #include "include.h"
  3. #include "com.h"

  4. /*------------------------变量定义区域-----------------------------------*/
  5. /*----------------------------------------------------------------------*/
  6. //extern int LDC_val,LDC_val1;
  7. extern uint8 proximtyData[2];
  8. extern void PIT0_IRQHandler(void);
  9. unsigned short int ctrl = 0;
  10. unsigned short int ctrl1 = 0;
  11. unsigned short int duty =7200;
  12. void ysz_delay(unsigned int ms);
  13. void ysz_delay_us(int ms)//为防止time_delay_ms();与lpt冲突编写的延时
  14. {
  15.   int j1,k_1;int i1;
  16.   i1=ms;
  17.   for(j1=0;j1<i1;j1++)   
  18.     for(k_1=0;k_1<8;k_1++);
  19. }

  20. void ysz_delay_ms(uint16 ms)//为防止time_delay_ms();与lpt冲突编写的延时
  21. {
  22.   uint16 j1,k_1;uint32 i1;
  23.   i1=ms;
  24.   for(j1=0;j1<i1;j1++)   
  25.     for(k_1=0;k_1<14120;k_1++);
  26. }
  27. /*************************************************************/
  28. /*------------------------系统初始化-----------------------------------*/
  29. /*----------------------------------------------------------------------*/
  30. void SysInit(void)
  31. {
  32.      LCD_Init();       //液晶显示初始化
  33.      uart_init (UART4, 9600); //蓝牙初始化
  34.      LCD_Fill(0x00);  //初始清屏
  35.      LED_P6x8Str(65 ,0,"1.1  1");
  36.    LED_P6x8Str(0 ,2,"CH1:");
  37.     LED_P6x8Str(0 ,3,"CH2:");
  38. //LED_P6x8Str(60 ,3,"CH3:");
  39.      LED_P6x8Str(0 ,6,"Servor_PWM:");
  40.       LED_P6x8Str(0 ,7,"Freq_final3");
  41.   */
  42.     FTM_PWM_init(FTM1, FTM_CH0,50,755);
  43.     LDC_init();//传感器初始化
  44. LDC_init1();//传感器初始化
  45.    Key_Init();//按键初始化  
  46. //OLED显示中文字符
  47.     QD_Init();//编码器初始化
  48.   gpio_init (PTA17, GPO,0);
  49.    gpio_init (PTE26, GPO,0);
  50.   FTM_PWM_Init();//电机初始化
  51.      DisableInterrupts;                    //用于关闭总中断为了使系统初始化成功
  52. pit_init_ms(PIT0,2);  //10us   7400                  //定时器
  53. set_vector_handler(PIT0_VECTORn ,PIT0_IRQHandler);      //设置PIT0的中断复位函数为 PIT0_IRQHandler
  54.     enable_irq(PIT0_IRQn);                        //开中断 使能
  55.     }
  56. /**********************************************/
  57. //                  main函数
  58. //
  59. //
  60. /*********************************************/
  61. void main(void)
  62. {
  63.   EnableInterrupts;                                            //用于开启总中断
  64. SysInit();  //系统初始化
  65.     EnableInterrupts;
  66.                                                         //用于开启总中
  67. while(1)
  68.     {Key();//按键操作
  69.       gpio_init (PTD15, GPO,0); //程序成功开启指示灯
  70.       OutPut_Data();//蓝牙数据输出
  71.     Streer_Control();//采样滤波
  72. Freq_final2=Servor_P*10;
  73. gpio_set (PTA17, ctrl );//0亮   停车指示灯
  74. gpio_set (PTE26, ctrl1 );//0亮  停车标志位指示
  75. </font> <font size="3" face="黑体">
  76. }
  77. }
  78. /**********************中断服务程序*******************/
  79. void PIT0_IRQHandler(void)
  80. {gpio_init (PTC0, GPO,0); //程序进入中断总函数指示灯
  81.   DisableInterrupts;//关闭总中断
  82.   Car_control();                       // 总控制 方向控制部分
  83.    if(Stop_flag1==0)
  84.   {if(key_check(KEY_START) ==  KEY_DOWN)  //干簧管标志位
  85.    {Stop_flag1=1;
  86.   ctrl1=1;
  87.    pit_time_start  (PIT1);                 //开始计时
  88.    }
  89.   }
  90.     if(Stop_flag1==1)
  91.   {if(key_check(KEY_STOP) ==  KEY_DOWN)  //干簧管停车
  92.    {Stop_flag1=2;
  93.    ctrl=1;
  94.     timevar = pit_time_get_ms    (PIT1);    //获取计时时间

  95.    }}
  96. </font>  <font size="3" face="黑体">
  97.   PIT_Flag_Clear(PIT0);                       //清中断标志位
  98. </font>         <font size="3" face="黑体">
  99.     EnableInterrupts; //开启总中断
  100. </font>    <font size="3" face="黑体">
  101. }</font>
复制代码


回复

使用道具 举报

  • TA的每日心情
    难过
    2018-11-2 10:17
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    9

    主题

    360

    帖子

    1

    高级会员

    Rank: 4

    积分
    841
    最后登录
    2022-1-19
    发表于 2017-2-15 16:49:45 | 显示全部楼层
    还真是部分代码
    全都是API
    跟没贴的区别在于贴了上来
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3256
    最后登录
    2023-6-23
    发表于 2017-2-15 16:57:29 | 显示全部楼层
    据说今年的智能车竞赛更高大上了,要用S32了,是吗?

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2017-2-15 17:24:17 | 显示全部楼层
    老哥,你这分享就不厚道了吧,main.c里的代码都没什么,详细部分干嘛藏着
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2017-2-15 17:26:24 | 显示全部楼层
    香水橙 发表于 2017-2-15 16:57
    据说今年的智能车竞赛更高大上了,要用S32了,是吗?

    s32k是今年组委会推荐的mcu,不过目前量不多,算是小众吧
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-2-11 16:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    118
    最后登录
    2022-9-26
    发表于 2017-2-20 17:27:18 | 显示全部楼层
    香水橙 发表于 2017-2-15 16:57
    据说今年的智能车竞赛更高大上了,要用S32了,是吗?

    S32网上的资料非常少,今年才量产的芯片
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2017-2-20 19:27:42 | 显示全部楼层
    混森蓝兽 发表于 2017-2-15 17:26
    s32k是今年组委会推荐的mcu,不过目前量不多,算是小众吧

    S32  好片子 绝对的稳定……
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-11-22 09:55
  • 签到天数: 179 天

    连续签到: 1 天

    [LV.7]常住居民III

    12

    主题

    1122

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1377
    最后登录
    2019-11-22
    发表于 2017-4-28 12:52:04 | 显示全部楼层
    谢谢分享
    学习学习
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 15:44 , Processed in 0.125381 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表