本帖最后由 liut_text 于 2019-2-15 12:52 编辑
主控芯片采用stm32c8t6,包含蓝牙模块一个,温湿度模块DH11一个,8个9G塑料舵机组合成四足(强烈建议不要用这种舵机),电源采用12V18650,两个L7805降压成5V电压(一个7805发热太严重了)
上位机采用安卓app控制,可控制前后左右行走,可控制行走速度大小,可采集当前环境温湿度。
视频链接http://www.iqiyi.com/w_19s79iuf41.html
当时的第一版,用的是PVC发泡板,发现承重不行
之后用木板做了一个
单片机源程序如下:
- #include "stm32f10x.h"
- #include <delay.h>
- #include <LED.h>
- #include <MyPwm.h>
- #include <Myusart1.h>
- #include <step.h>
- #include <DH11.h>
- #define UP 1
- #define DOWN 2
- #define LEFT 3
- #define RIGHT 4
- #define STOP 5
- #define STAND 6
- void USART1_IRQHandler(void)
- {
- uint16_t dat;
- int i;
- if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
- {
- dat=USART_ReceiveData(USART1);
-
- switch(dat)
- {
- case 'd':way=DOWN;break;
- case 'u':way=UP;break;
- case 'l':way=LEFT;break;
- case 'r':way=RIGHT;break;
- case 's':way=STOP;break;
- case 't':way=STAND;break;
- case '-':Dtime=Dtime-5;if(Dtime==0)Dtime=5;break;
- case '+':Dtime=Dtime+5;if(Dtime==50)Dtime=45;break;
- case 'b':
- if(DH11_Receive())
- {
- for(i=0;i<4;i++)
- {
- USART_SendData(USART1,DH[i]);
- delay_ms(15);
- }
- }break;
- default : break;
- }
- }
- }
- int main(void)
- {
-
- SystemInit();
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- delay_init();
- LED_Init();
- TIM2_PWM_Init(20000-1,71);
- TIM3_PWM_Init(20000-1,71);
- My_USART1_Init();
-
- Way_Stand();
- delay_ms(500);
- while(1)
- {
-
- switch (way)
- {
- case 1:Way_UP();break;
- case 2:Way_DOWN();break;
- case 3:Way_LEFT();break;
- case 4:Way_RIGHT();break;
- case 5:Way_STOP();break;
- case 6:Way_Stand();break;
- default : break;
- }
- }
- }
复制代码
所有资料51hei提供下载:
四足资料.7z
(2.81 MB, 下载次数: 196)
|