大一下学期的时候,我哥让我报名参加全国大学生电子设计大赛。那个时候,我基本是啥都不知道。当然我也不知道全国电赛的难度有多高,我以为我自己会点51单片机就可以做出点东西,而事实证明,我啥都做不出来。不过即便如此,我仍然是收获非常多。至少我知道了我自己接下来要干嘛,要学哪些东西,后来寒假的时候我报名参加了蓝桥杯。其实一开始并没把这个比赛当回事,毕竟以为跟51单片机差不多。后来当我看到官方开发板的电路图的时候,我就瞬间知道我错了。那个板子上面的电路设计要比普通的开发板要复杂的多,比如说当时他那什么led灯啊,或者是数码管之类的都要通过锁存器来操作。于是我当时就买了一个官方的开发板,然后我就找历届的赛题来做,省赛题做完了之后我就来开始做国赛题。然后当时大概用了一个月左右,我就把所有的赛题都做的差不多了。我当时就觉得比赛是没有什么问题的,妥妥的,可以进决赛。后来当成绩出来的时候,我就傻眼了。我没有进决赛这当然是我意料之外的。毕竟当时我听前辈说只要把历届赛题给刷完,那就至少都能进决赛。我反思了很长时间,我觉得我这个人就是太过浮躁。像咱们这种学技术的,就是要静下心来,安安心心的学,而不是说,学会了一点东西就沾沾自喜。还有就是要严格要求自己,哪怕说有一点的错误都不能疏忽。
(这是当时蓝桥杯买的板子,专门为了参加比赛用的)
当时蓝桥杯比赛过完之后,我们就准备开始参加机器人比赛。一开始的时候我们都不知道题目。然后我们就猜题,觉得今年可能会出灭火机器人的项目,然后我们就开始做灭火机器人。当时题目大致要求是跑完四个房间,然后还要能灭火,并且还要停在原点处。当然肯定还是有限制的,比如说灭完火之后就不能进去其他的房间,而是要直接回来。在开始的时候我们采用多路径算法,就是把他机器人整个跑动的过程分为左转,右转,十字路口或者是丁字路口,然后让他知道在什么时候左转,什么时候右转。后来我发现这样没办法弄,因为他如果从任意起点启动的话,那么他这个程序就会乱掉。于是后来我们采用的循墙算法,就是让机器人一直靠着墙走,这样的话可以避免各种问题,而且还可以从任意起点启动。于是就这样,我们基本上把机器人给完善了,然而,当官方的题目出来的时候我们就傻眼了,因为他压根就没有什么灭火机器人,而是出了个迷宫机器人。不过也没什么问题,我们发现用循墙算法仍然可以。当时迷宫比赛的规则是机器人到了终点处的时候要停下来要识别它那个挡板的颜色,然后识别成功之后他会把挡板拿走。机器人继续走停在停止区,这样就算完成了。后来我们去参加比赛的时候发现现场很多人用的都是公司的成品,就我们用的是自己做的,当时还感觉压力特别大,心想自己无论如何都是赢不了他们的。而后来当成绩出来的时候,才发现我们的成绩也不赖。至此,51单片机的学习算是告一段落。我们这个机器人也是用51单片机来做的。
(这是我们做的小机器人,看着挺简陋的,哈哈)
(比赛现场)
机器人大赛结束之后,我们又开始准备全国智能互联创新大赛。这个比赛主要注重的就是创新点。当然还有重要的就是要用stm32来做,然而当时压根没看过stm32,但是这个时候,距离提交作品也就仅仅剩下20天的时间了。于是我们又慌慌忙忙的开始学习stm32,不过我们不是从头到尾的学。而是说我用的啥我就学啥,比如说我用到了iic,我就开始学iic,又或者说我开始用串口我就开始学串口。当时我在我们队负责的就是app开发和通信协议的编写,但那个时候我压根就不会做app,于是我去找我的指导老师,他给了我一本安卓开发实战指南,还给我讲了一些重要东西。后来当app做完之后我又发现,还有一个很重要的问题呀!那就是通信协议,我当时用的是esp8266物联网模块,先要给他刷入固件,然后再用串口连接stm32,并写入程序。当时弄这个通信协议简直给我弄得头疼,它总是联通不了,后来有一次逛eepw论坛的时候,看到有一位大神用这个做东西。他发了一些心得与体会,我看过之后有了灵感,一上午的时间就把这个东西搞定了。所以我现在经常逛这个论坛,找一些有用的东西。当然后来参加比赛也是取得了不错的成绩。
(我做的app界面,看着很简陋,不过数据还是可以同步的)
(这是当时我们做的智能水杯成品)
(智能互联创新大赛现场)
最后还是想说,有自己的目标,有自信,就勇敢的向前走,没有什么困难是解决不了的,如果有,那就干掉它!