转眼间,自学单片机已经一个半学期了,在这一学期我通过自学学会了挺多东西,也运用了我自学的知识做了一些有意思小项目。我觉得我有必要记录一下我的自学经历。
首先我自学了51单片机,这是做一切项目的基础。和别人不同,我自学的是最小系统板+proteus仿真。我觉得相比于开发板而言,最小系统板+proteus仿真的学习模式除了能学习单片机程序编写外,还能学习单片机电路设计。这也导致了我在同一批学习51单片机的同学中脱颖而出,因为我有独立设计单片机控制系统的能力。在这个期间,我还学习了立创EDA来绘制电路板。
在学习51单片机的过程中,我用51单片机作为主控板设计了一个项目并去参加了"博世中国x机器之心线上创客马拉松"比赛,幸运的是,我参加的赛道人很少,我有幸获得了三等奖。
参加完比赛后,我也可以熟练使用51单片机了。于是,我将目光投向了硬件学习。于是,我在寒假期间自学了3d建模和3d打印切片,并在开学后将我设计的项目和另外一个同学一起通过3d打印实体化。
在学51单片机的过程中,我学了用AT指令进行蓝牙通讯。但蓝牙通讯毕竟有局限性,于是我将目光投向了WiFi模块,开始了新的学习:arduino,esp8266和esp32-cam。
学习esp8266时,我在太极创客网站了解了http,mqtt等各种网络协议。相应地,我开始思索如何方便快捷地使用这些协议,于是我又开始了新的学习,APP的制作。由于我不是计算机专业的,所以我不打算在做APP的路上走太远,于是我找到了一个优秀的图形化编程平台:APP inventor。由于我以前学过一点iApp,所以我使用APP inventor也比较顺手。
学习esp32-cam时,我开始了一段比较痛苦,也遭遇了不是挫折的学习。首先是esp32-的内置库看不懂,其次是opencv c++的学习资源在国内相对匮乏,需要阅读大量英文资料。
这些就是我这一个半学期自学的内容。我相信有不少人对单片机的开发感兴趣,但不知道从何下手,或下手后不知道如何实践所学的知识。下面我将做一个教程,把我学习过程中踩过的坑,走过的弯路列举出来,帮各位小白解决单片机开发的入门问题。