找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于STM32蓝牙遥控小车源程序

[复制链接]
ID:437444 发表于 2020-3-26 22:09 | 显示全部楼层 |阅读模式
185808j2hcxh2r519wwc99.jpg.thumb.jpg
经常在论坛里看别人发的作品,今天也发一下自己做的蓝牙遥控小车~主控STM32R8,电机驱动TB6612,蓝牙模块,底板自己手工制作:菲林片打印
192752qwfmglmze77mmmgj.jpg.thumb.jpg
腐蚀后直接保留了感光膜没有脱模(因为没阻焊油墨就省了)
192756rhpqa0cz75kzkpmh.jpg.thumb.jpg
打孔
192423xrymmc0rr7m0j4qm.jpg.thumb.jpg
焊接后通电测试
192429teru3um5edleryro.jpg.thumb.jpg
基本都是模块,省了很多功夫,有兴趣的可以直接做一个PCB。这个小车是一个移动平台,不经可以遥控还可以循迹,壁障的功能,我准备测试语音控制的,以后做好了再继续分享,小伙伴可多提建议,一起讨论学习~

单片机源程序如下:
  1. /******************** (C) COPYRIGHT 2012 WildFire Team **************************
  2. * 文件名  :main.c
  3. **********************************************************************************/
  4. #include "stm32f10x.h"
  5. #include "led.h"
  6. #include "key.h"
  7. #include "usart.h"
  8. //#include "mpu6050.h"
  9. //#include "i2c_mpu6050.h"
  10. //#include "i2c.h"
  11. #include "motor.h"
  12. //#include "SysTick.h"
  13. //#include "upstandingcar.h"
  14. //#include "outputdata.h"

  15. //u16 encoder_num1;
  16. //u16 encoder_num2;

  17. //u8 ucBluetoothValue;
  18. u8 u8BluetoothValue;
  19. void delay(vu32 nCount)
  20. {
  21.   for(; nCount != 0; nCount--);
  22. }

  23. /*
  24. void delay_us(u32 n)
  25. {
  26.         u8 j;
  27.         while(n--)
  28.         for(j=0;j<10;j++);
  29. }
  30. void delay_ms(u32 n)
  31. {
  32.         while(n--)
  33.         delay_us(1000);
  34. }
  35. void Delay(__IO u32 nCount);
  36. */

  37. /*
  38. void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3)
  39. {
  40.   
  41.   assert_param(IS_TIM_LIST3_PERIPH(TIMx));
  42.   
  43.   TIMx->CCR3 = Compare3;
  44. }
  45. */
  46. /*
  47. * 函数名:main
  48. * 描述  :主函数
  49. * 输入  :无
  50. * 输出  :无
  51. */
  52. int main(void)
  53. {       
  54.          u8 KeyNum = 0;
  55. //        u8 u8BluetoothValue;
  56.        
  57.         /* LED 端口初始化 */
  58.         LED_GPIO_Config();
  59.         GPIO_KEY_Config();
  60.         //delay_nms(100);
  61.         USART1_Config();
  62. //        USART3_Config();
  63.         NVIC_Configuration();
  64.         TIM2_PWM_Init();
  65.         MOTOR_GPIO_Config();
  66.         //TIM3_Encoder_Init();
  67.         //TIM4_Encoder_Init();
  68. //        TIM3_External_Clock_CountingMode();
  69. //        TIM4_External_Clock_CountingMode();
  70.         //I2C_Config();
  71. //        i2cInit();
  72. //        delay_nms(10);
  73. //        MPU6050_Init();

  74. //        SysTick_Init();
  75.        
  76. //        CarUpstandInit();
  77. //                GPIO_ResetBits(GPIOB, GPIO_Pin_4);
  78.         // 使能滴答定时器  
  79. //        SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;
  80.   TIM_SetCompare3(TIM2,150);
  81.         TIM_SetCompare4(TIM2,150);
  82.        
  83.         GPIO_SetBits(GPIOB, GPIO_Pin_13);
  84.         GPIO_ResetBits(GPIOB, GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_14| GPIO_Pin_15);
  85.         LED1( ON );
  86.         while (1)
  87.         {
  88. //                LED1( ON );                          // 亮
  89. //                delay(50000);
  90. //                LED1( OFF );                  // 灭
  91. //                delay(50000);
  92.                 KeyNum = ReadKeyDown();
  93.                 if(KeyNum==1)
  94.                 {
  95.                         LED1( ON );       
  96.                 }
  97.                 else
  98.                 {
  99.                         LED1( OFF );
  100.                 }
  101.         }       
  102. }
  103.        
复制代码

所有资料51hei提供下载:
PWM调速程序.7z (187.84 KB, 下载次数: 29)

回复

使用道具 举报

ID:482448 发表于 2020-4-24 09:58 | 显示全部楼层
这不是51的吗,怎么是STM32呢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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