3. STM32单片机
wifi智能模块与单片机串口相连,通过下位机读取模块网络发来的信息(字符等),完成对应的指令操作。喂食器功能是驱动舵机(选择投喂的种类)和电机(主要是投放功能)。仅以智能双料喂食器为例部分代码片如下`在这里
- while(1)
- {
- if(USART_RX_STA)
- {
- switch (USART_RX_BUF[0])
- {
- case 'a': //打开a孔放a料
- TIM_SetCompare2( TIM3,750); //600 //舵机左转
- GPIO_SetBits(GPIOB,GPIO_Pin_8); //启动电机旋转。
- delay_ms(500);
- TIM_SetCompare2( TIM3,1500); //复位舵机
- USART_RX_STA=0;
- break;
- case 'd' : //打开b孔放b料
- GPIO_SetBits(GPIOB,GPIO_Pin_8); //启动电机旋转。
- TIM_SetCompare2( TIM3,2460); //舵机右转90’
- delay_ms(500);TIM_SetCompare2( TIM3,1500);
- USART_RX_STA=0;
- break;
- case 's' : //停止
- printf("stop");
- TIM_SetCompare2( TIM3,1500); delay_ms(500);
- GPIO_ResetBits(GPIOB,GPIO_Pin_8);
- USART_RX_STA=0;
- break;
- default :
- printf("unknown");
- TIM_SetCompare2( TIM3,1500); GPIO_ResetBits(GPIOB,GPIO_Pin_8);
- USART_RX_STA=0;
- break;
- }
- }
- }
|