3.0实验室自学之路——零基础上道

这章我会介绍在没有任何基础的情况下如何去规划你的学习路线,如果感觉自己有一定基础,可以粗略的扫一眼本章的内容就可以略过。

一、克服英语!

1、英语的重要性

哈哈,没想到我第一个讲的是这个吧。这项要求对于大部分我们学校的同学来说确实是不容易的,所以我用了”尽量克服“。但是这里我要说明一点,在整个学习过程中,你们一定会和英语打交道。当然,很多人会说安装个汉化补丁不就好了,这里我需要明确的和你们表明英语的重要性。

(1)看懂程序报错信息

无论你是否装了汉化,非国产编译器程序报错的信息一定是英文的,能够大体的看懂程序的报错信息可以很大的帮助你修改程序bug。这不仅仅是一个编译器,几乎你未来能遇到所有软件,所有执行报错信息,都是英文的。

(2)看懂英文文档

在自主解决问题和探索的过程当中,不得不提的就是大部分开源资源都是英文的(包括芯片手册等),即使有中文,大概率也是过时的文档。如果直接机翻,你会发现翻译出来的东西更加看不懂了。如果能大致看懂英文文档,将会节省很多时间,拓展更多思路。

(3)看懂程序变量命名

我相信很多同学在初学程序的时候喜欢用中文拼音进行命名,但事实是,大部分开源的代码,或者你购买元器件之后淘宝客服给的代码,他们使用的都是英文的命名方式。如果你能看懂常见的英文命名方式,对于你理解程序会有极大的帮助。例如initial是”初始“的意思,几乎所有初始化函数的命名都是“xxx.init”。

2、不会英语怎么学

(本人四六级裸考,四级560,六级530,这应该还是能给点建议的)
我个人并不建议英语基础不好的同学为了学习技术而去背动辄上千个的四六级词汇,你绝对不可能背的下来,而且花费的时间很多。最简单直接地方式就是不装汉化,所有界面调成英文,包括手机上常用的软件。遇到不懂的单词就去查,恰恰是各种软件里面的单词,就是我们编程常见的单词。当你在平时的生活中见的多了,写程序的时候见的多了,你自然而然就会一些最常见的单词了(当然,如果英语基础实在太差的话就不要求你们快速的掌握英文文档的阅读方法了)。然后遇到程序英文命名和英文报错也去多查查,这是最简单的学习方式了。至于还想继续学到看懂英文文档的地步,一个是过四六级,一个就是只能是多去阅读那些英文文档,去把他们慢慢“啃”下来。

二、学习C语言

如果你没有任何编程语言学习基础的话,C语言一定是你在电子领域开发的不二之选。
点此前往c语言学习
这是一系列我自己大概半年前编写的教学博客,在这个C语言的教程中,内容讲的非常浅显,只讲了学习电子方面需要学习的必要内容,只适合你们进行快速上手,后期我会在上面那套教程末尾添加一些C语言信息学奥赛训练网站(这个会在教程里提到)的一些题目,让你们更好的理解C语言的运用。之后使用单片机编程会使你们更熟悉这个语言。

当然,如果你觉得无法理解我写的教程,网上关于C语言的教程一抓一大把,可以随意挑选一个进行学习,基础的学到指针(可以浅学一下这个)和结构体就差不多了。

三、学习单片机

在这里我不会自己去编写相关的教程,因为网上的资源实在是太多了。你可以在B站找到你想学的任何单片机的视频,而且都讲的很好。

1、51单片机

51单片机是我们学习过程中最最基础的单片机,了解寄存器配置,了解基本的程序结构,学会看原理图等,这个学起来其实难度不大,如果有一定的C语言基础,很快就可以学完。这里学习时间1个月左右是完全足够的(我在初学时花了半个月不到的时间就学完了,当然我是有C语言基础的)。还记得我说的学习效率吗,如果想搞技术,就是得有这种效率。

这里随便推一个B站的教学视频

如果你是我们实验室的成员,那便不用自费购买板子了,实验室有很多绿色外壳的51开发板在柜子里。不用担心板子型号不对的问题,思路都是一样的,只是连接的引脚不同。

如果不知道程序该怎么改,可以去开发板的官网下载原理图和例程 ,和你找到的任意一个基础教程视频对着看就能理解了。(这甚至有助于你举一反三)
image

由于是同一购买的,他的一些配套资料可能无法获取验证码而导致无法下载,但这并不影响我们跟着别的教学视频进行学习,因为他的公共资料就已经足够我们使用了。

当你学完51之后,可以先暂停学习进度做个51控制的循迹避障小车。当然,一个简单的小车在网上也有很多资料,你可以从中挑选几个模块,或者干脆买一套小车套件进行搭建。做这个项目的话不用着急完成,你完全可以花一个月时间慢慢摸索(如果有学长学姐指导的话那会更好,这不难)。你会发现完成一个项目的乐趣,并在其中学到大量经验。

另外,在51学习完之后,请你尝试接触电路模拟的软件这里是我自编的简单教程,教程只涉及最基本的使用方法,如需深入学习,请搜索相关视频教程进行系统学习。

不过不要再51上纠结太久,因为未来我们除了课设没有任何项目会用到51(能用32谁会用51啊)

2、STM32

这个可就厉害了,在单片机领域几乎无所不能(至少在我看来)。他的型号非常丰富。

对于初学者而言,如果你有足够的资金,非常建议你购买正点原子精英板以上的型号外加配套触摸屏,这大概在三百到四百左右,且以后做任何项目都可以用上,因为有屏幕UI界面可以开发。如果你资金比较紧张,你也可以先购买stm32c8t6最小系统板,大概10块钱,很小的一个板子,没有任何外设(可以买配套的一些器件)。但是不用担心,我们可以使用杜邦线把最小系统板的引脚(根据51的原理图)接到51的开发板上(51开发板把中间的51芯片取下再供电),这样我们可以直接使用51开发板的外设而不必去购买太多元器件(有些元器件还是要单独购买的)。
其实我还是建议初学者购买正点原子精英板,或者关注正点原子的B站账号买教学视频对应的开发板,不仅学起来方便,而且日后都能有用。如果有学长学姐已经买过了,可以借来先学一下那是最好的。这里是教学视频链接

关于32的学习我个人建议是看开发文档进行学习,无论你购买什么元器件,一定要向客服要板子的资料。32的视频很长,如果在学过51之后会有很多知识点是冗余的。我在学习的时候一开始也是看视频,后面感觉他讲的太慢了,就去看开发文档进行学习。
正点原子的资料都是公开的,这里是网站
image

正点原子提供的一共有三种代码版本,库函数,HAL库,寄存器,个人建议从库函数开始学起,因为大多数网上购买的模块的示例代码都是库函数版本的,HAL库在学完库函数的基础上也不难理解。如果想要像51一样理解32的寄存器的话可以看寄存器版本的代码。但很少有网上的示例代码是用寄存器写的。

但是32没必要完全学完,只需要学习到LCD,USMART这些就足够了。至于FLASH,SD卡等等模块都可以等日后想继续深入了解或者需要使用到时再学。

32的学习时长大概在两个月左右,我个人当时天天肝,大概一个月不到就把库函数的各种通信方法(串口,spi,can,iic)学的七七八八,其中大量时间都放在找bug上。

当你学到这里,基本上市面上的所有模块都可以被你驱动,你可以去一家淘宝卖元器件的店搜索模块二字,即可购买一些没玩过的模块根据客服给的例程进行更改驱动,比如NFC模块,语言播报模块之类的。也可以把之前51做的小车改装成32的,具体相关项目我将在大家学完电路板绘制后进行分享。

3、Arduino(可选,比32简单的多)

小白都可以学会的Arduino开发板,这里我就不多说了,如果感兴趣就自己找资料学习。正版奇贵无比,买盗版就行。

之所以提到Arduino一嘴,是因为未来我会给你们介绍有关无线WiFi模块,ESP8266和ESP32开发板,这可以作为系统里的一个模块使用,也可以直接当作主控使用。而这两者使用的编译环境就是Arduino开发板的编译环境。而且,Arduino最大的优势就在于,他的在线库无穷无尽,可以省去我们很多底层开发的繁琐。

四、学习绘制电路板并焊接

在学习完51和32后,我相信你对电路板已经有了比较熟悉的认识了,而这一部分就是教会你如何绘制电路板。说到电路板,如果你参加过我们学校某些协会的培训,那他们一定会教你dxp这种绘图软件,而且会将其放在单片机的学习之前(吐槽一句,dxp都是什么时代的东西了还勾八在教,能不能与时俱进一点)。

不过我认为,一上来就教你们绘制电路板原理图太枯燥了,也太难理解了,对单片机的学习帮助有,但是不大,恐怕很多人一学画图就感觉没意思不想学下去了。所以为了让你们感受到技术的乐趣,我还是把单片机放在了前面。

1、DIY界的真神——嘉立创

嘉立创提供每月两次的10cm*10cm的免费打板机会,并且提供免费的入门级绘板软件——立创EDA,你们可以在官网找到有关的下载地址 。你所绘制的元器件都能在立创商场里找到(甚至不用自己画单独的元器件,在线库里都有)。多的不说了,在B站你可以很轻松的找到各种短时间内快速上手的教学视频,你会在学习过程中体会到立创EDA对于初学者的友好之处(至少是中文的)。

当你迅速的学完立创EDA后,你一定要尝试着打一个板子出来并购买相关的元器件,并按照你的电路图尝试焊接。

焊接是一门技术活,比较吃经验,如果从来没尝试过焊接,可以查看我对焊接的理解。这其实还是非常重要的,如果你不是经验特别丰富,建议都去浏览一下。
焊接技巧链接

当你学完嘉立创之后,其实大部分板子你都可以DIY出来了(还记的之前各个模块的原理图吗,把他抄一份,你可以复刻大部分模块),你缺少的只是你的想象力。

2、学会专业的电路板设计软件

注意,嘉立创虽然做一些小项目非常方便,但是非常非常业余(你简历上写个会熟练使用嘉立创,你看人家面试官鸟不鸟你)。如果你想靠画板子或者设计电路吃饭,除了扎实的电路设计知识,还有就是使用更专业的电路绘制软件。

这就不得不提到Altium Designer系列,当然还有更为专业的,不过AD应该是最热门的专业绘图软件,但在本章中就不再赘述了。电路板绘制也是一个团队中必不可少的,如果想专攻电路板绘制的,可以进一步学习。

五、总结

当你学完以上的知识,你就已经有足够的能力去购买小模块,发挥自己的想象力然后DIY一些自己的小项目了,你所积累的经验以及足以解决你遇到的大部分问题,如果感兴趣可以去挑战一下双轮平衡车,我个人在学完上面那些内容后就去做了一个平衡车,这将是对你程序编写能力和调试能力极大的考验。

下一章我将介绍一些有用杂项来搭建你的项目(app开发,图像识别等),我会在下一章提供一个目录,自行对感兴趣的进行学习即可。

但是这里再提一嘴,上面都是一些你进入电子领域开发最基础的东西,目前我们只是浅尝辄止,每一块领域都可以深入学习。如果你想参加电赛,你可以去看一下前几次电赛的题目,里面的控制类型的题目你可以看个大概。但是设计电路设计的信号题,很遗憾的说,我完全没接触到那个领域(曾经的大五学长拿信号题国奖,但疫情影响我还没来的及入完门他就毕业了),这涉及了模电数电,信号与系统等多个学术领域。你最好找你这些专业课的任教老师请教,我相信他们一定会和你分享有关的知识和学习路线,甚至当你的指导老师带你参加电赛。

posted @ 2023-12-02 22:29  Fantastic_fan  阅读(232)  评论(0)    收藏  举报