项目简介
用的是hx1838的红外遥控,stm32f103c8t6的芯片,加一个oled屏幕显示。详细见代码。
模块
pwm的代码用的是b站江协的,交给chatgpt,让改成了hal库函数。
hx1838的代码是修改别人的,删除了串口的代码。
注意事项:
pwm设置完成后,还要用函数启动pwm的输出才行。
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//启pwm输出
存在的问题:
1.速度如果太快,红外遥控会失灵。speed如果到了60以上,红外遥控的中断似乎就不能触发了,所以我设置的速度上限是60
2.电压如果过高,红外遥控会失灵。我在电源和单片机之间接了两个1k的电阻,不接的话红外模块会失灵,也没有拿万用表量具体的电压多少才合适。
3.左右转操作可以优化。我设置的左转就是左轮不动,右轮加速,右转反之,不流畅。