标题: STM32四足机器人源程序+蓝牙控制APP [打印本页]

作者: liut_text    时间: 2019-2-14 22:18
标题: STM32四足机器人源程序+蓝牙控制APP
本帖最后由 liut_text 于 2019-2-15 12:52 编辑

主控芯片采用stm32c8t6,包含蓝牙模块一个,温湿度模块DH11一个,8个9G塑料舵机组合成四足(强烈建议不要用这种舵机),电源采用12V18650,两个L7805降压成5V电压(一个7805发热太严重了)
上位机采用安卓app控制,可控制前后左右行走,可控制行走速度大小,可采集当前环境温湿度。
视频链接http://www.iqiyi.com/w_19s79iuf41.html
当时的第一版,用的是PVC发泡板,发现承重不行


之后用木板做了一个



单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include <delay.h>
  3. #include <LED.h>
  4. #include <MyPwm.h>
  5. #include <Myusart1.h>
  6. #include <step.h>
  7. #include <DH11.h>

  8. #define UP     1
  9. #define DOWN   2
  10. #define LEFT   3
  11. #define RIGHT  4
  12. #define STOP   5
  13. #define STAND  6

  14. void USART1_IRQHandler(void)
  15. {
  16.         uint16_t dat;
  17.         int i;
  18.         if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
  19.         {
  20.                  dat=USART_ReceiveData(USART1);
  21.                  
  22.                  switch(dat)
  23.                  {
  24.                          case 'd':way=DOWN;break;
  25.                          case 'u':way=UP;break;
  26.                          case 'l':way=LEFT;break;
  27.                          case 'r':way=RIGHT;break;
  28.                          case 's':way=STOP;break;
  29.                          case 't':way=STAND;break;
  30.                          case '-':Dtime=Dtime-5;if(Dtime==0)Dtime=5;break;
  31.                          case '+':Dtime=Dtime+5;if(Dtime==50)Dtime=45;break;
  32.                          case 'b':
  33.                                  if(DH11_Receive())
  34.                                 {
  35.                                         for(i=0;i<4;i++)
  36.                                         {                                       
  37.                                                 USART_SendData(USART1,DH[i]);
  38.                                                 delay_ms(15);
  39.                                         }
  40.                                 }break;
  41.                          default : break;                                 
  42.                  }
  43.         }
  44. }

  45. int main(void)
  46. {
  47.         
  48.         SystemInit();
  49.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  50.         delay_init();
  51.         LED_Init();
  52.         TIM2_PWM_Init(20000-1,71);
  53.         TIM3_PWM_Init(20000-1,71);
  54.         My_USART1_Init();
  55.         
  56.         Way_Stand();
  57.         delay_ms(500);
  58.         while(1)
  59.         {
  60.                
  61.                 switch (way)
  62.                 {
  63.                         case 1:Way_UP();break;
  64.                         case 2:Way_DOWN();break;
  65.                         case 3:Way_LEFT();break;
  66.                         case 4:Way_RIGHT();break;
  67.                         case 5:Way_STOP();break;
  68.                         case 6:Way_Stand();break;
  69.                         default : break;
  70.                 }
  71.         }
  72. }
复制代码

所有资料51hei提供下载:
四足资料.7z (2.81 MB, 下载次数: 198)



作者: akkamk07    时间: 2019-5-3 23:25
软件app开源吗?
作者: 诺克萨斯万岁    时间: 2019-5-5 15:32
太厉害了!
作者: 995879859    时间: 2019-7-9 21:42
正在做四足,下载下来看看,谢谢
作者: 落星尘    时间: 2020-2-19 20:06
蓝牙用的app是什么?大佬还有后续的改造吗?
作者: Jawa    时间: 2020-2-21 20:56
舵机初始角度怎么确定?
作者: gg_sockie    时间: 2020-3-3 14:30
很不错,值得学习
作者: 缘来如此    时间: 2020-3-4 23:18
楼主用的哪款蓝牙模块?
作者: htzsz    时间: 2020-3-11 09:56
楼主厉害!值得我们学习!
作者: htzsz    时间: 2020-3-26 19:52
感谢楼主分享!
作者: llbzxk    时间: 2022-4-5 18:52
可以问问博主程序设计里是让机器人实现什么动作呢,我研究程序有点不理解机器人动作做啥的
作者: DoneDone    时间: 2022-4-6 06:51
四足的时序很关键,动作优化不停歇啊




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