本帖最后由 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, 下載次數: 198)
2019-2-15 01:49 上傳
點擊文件名下載附件
|