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;
}
}
}
|