找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3416|回复: 1
收起左侧

NRF905无线通讯 越障小车 STM32程序

[复制链接]
ID:203950 发表于 2017-5-23 16:40 | 显示全部楼层 |阅读模式
有关stm32小车的一些参考资料
越障小车控制主程序:
0.png
功能:
1.NRF905接收数据,用以调整小车方向
2.屏蔽了PWM调试功能,原因本身速度较慢; PWM可用
3.小车行进可以 :前进、后退、左转 、右转

单片机源程序如下:
  1. #include<stm32f10x_lib.h>
  2. #include"sys.h"
  3. #include"usart.h"
  4. #include"delay.h"
  5. #include"nrf905.h"
  6. //#include"timer_pwm.h"
  7. #include"tim3.h"
  8. #include"led.h"
  9. #include"motor.h"


  10. void Stop(void)//停车
  11. {
  12.                 M1_1=1;                //前  右轮
  13.                 M1_2=1;

  14.                 M4_1=1;                //前  左轮
  15.                 M4_2=1;

  16.                 M2_1=1;            //后  右轮
  17.                 M2_2=1;

  18.                 M3_1=1;            //后  左轮
  19.                 M3_2=1;
  20. }


  21. void Move_forward(void)//前进
  22. {
  23.                 M1_1=0;                //前  右轮
  24.                 M1_2=1;

  25.                 M4_1=0;                //前  左轮
  26.                 M4_2=1;

  27.                 M2_1=0;            //后  右轮
  28.                 M2_2=1;

  29.                 M3_1=0;            //后  左轮
  30.                 M3_2=1;
  31. }

  32. void  Draw_back(void)//后退
  33. {
  34.                 M1_1=1;                //前  右轮
  35.                 M1_2=0;

  36.                 M4_1=1;                //前  左轮
  37.                 M4_2=0;

  38.                 M2_1=1;            //后  右轮
  39.                 M2_2=0;

  40.                 M3_1=1;            //后  左轮
  41.                 M3_2=0;

  42. }

  43. void  Left_turn(void)//左转
  44. {
  45.                 M1_1=0;                //前  右轮
  46.                 M1_2=1;

  47.                 M4_1=1;                //前  左轮
  48.                 M4_2=0;

  49.                 M2_1=0;            //后  右轮
  50.                 M2_2=1;

  51.                 M3_1=1;            //后  左轮
  52.                 M3_2=0;
  53. }


  54. void Right_turn(void)//右转
  55. {
  56.                 M1_1=1;                //前  右轮
  57.                 M1_2=0;

  58.                 M4_1=0;                //前  左轮
  59.                 M4_2=1;

  60.                 M2_1=1;            //后  右轮
  61.                 M2_2=0;

  62.                 M3_1=0;            //后  左轮
  63.                 M3_2=1;

  64. }


  65. int main(void)
  66. {
  67.         Stm32_Clock_Init(8);
  68.         delay_init(72);

  69.         LED_GPIO_Init();
  70.         Motor_GPIO_Init();

  71.         GPIO_NRF905_Init();
  72.         nRF905Init();
  73.         Config_Nrf905();

  74.   Timerx_Init(40,7199);

  75. //        PWM_1_Init(900,0);  //第22管脚
  76. //        PWM_2_Init(900,0);        //23
  77. //        PWM_3_Init(900,0);        //26
  78. //        PWM_4_Init(900,0);        //27

  79.         while(1)
  80.         {   
  81. //                R_led=0;   
  82.                 if(flag_F==1)
  83.                 {
  84.                         flag_F=0; R_led=0;
  85.                         Move_forward();
  86.                 }
  87.                 if(flag_B==1)
  88.                 {
  89.                         flag_B=0; R_led=1;
  90.                         Draw_back();
  91.                 }
  92.                 while(flag_L==1)
  93.                 {
  94.                         flag_L=0;
  95.                         Left_turn();
  96.                         delay_ms(500);
  97.                         Stop();
  98.                 }
  99.                
  100.                 while(flag_R==1)
  101. ……………………

  102. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
越障小车_1.zip (1018.83 KB, 下载次数: 36)
回复

使用道具 举报

ID:360418 发表于 2019-12-27 22:05 | 显示全部楼层
刚好毕设需要到类似的,先下了看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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