标题: 分享一下自己做的STM32红外循迹小车代码 [打印本页]

作者: wowpp    时间: 2021-4-20 11:58
标题: 分享一下自己做的STM32红外循迹小车代码
自己学习了一段时间stm32做的第一个小东西,分享一下代码

单片机源程序如下:
  1. //芯片型号为stm32c8t6
  2. //电机驱动IN1、IN3分别接B13,B14,IN2、IN4分别接B11、B10。
  3. //oled SCl接A5, SDA接A7;
  4. //红外循迹传感器左OUT接B13,右OUT接B12。


  5. #include "delay.h"
  6. #include "sys.h"
  7. #include "oled.h"
  8. #include "bmp.h"
  9. #include "PWM.h"
  10. #include "swerve.h"
  11. #include "tim.h"


  12. int main(void)
  13. {
  14.                 GPIO_InitTypeDef GPIO_InitStructure;
  15.                 delay_init();                     //延时函数初始化          
  16.                 OLED_Init();                        //初始化OLED  
  17.                 OLED_Clear()          ;
  18.        
  19.                 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  20.                  
  21.                 TIM3_init(100,7199);//10ms进入一次|10*7200/72000000=0.01s=10ms
  22.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  23.                
  24.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  25.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15;
  26.                 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  27.                 GPIO_Init(GPIOB,&GPIO_InitStructure);
  28.                 GPIO_SetBits(GPIOB,GPIO_Pin_14 | GPIO_Pin_15);//PB14,15初始化
  29.                
  30.                 TIM2_PWM_Init(7199,0);//72000000除以(7199+1)= 10kHz
  31.          
  32.                 while(1)
  33.                 {       
  34.                         sensor_xunji();
  35.                        
  36.                 }          
  37.        
  38. }
复制代码

所有程序51hei提供下载:
红外循迹小车(stm32c8t6).7z (189.33 KB, 下载次数: 112)



作者: 1244913722ny    时间: 2021-5-13 19:22
楼主,避障小车带4个电机,功率不够怎么办?
作者: li64331218    时间: 2023-4-16 08:40
小车驱动程序,研究一下。谢谢分享

作者: swxiaoji    时间: 2023-4-17 13:17
能不能讲下转向的代码




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1