而立之年还有人去学嵌入式?一个十年老鸟的心得体会
我没上大学,直接进厂,从小热爱电子技术,从2011年自学嵌入式到现在差不多有8年,工作期间在图书馆看了不少书,音乐的、艺术的、心理学的、维修的、单片机的都有,看到硅谷那些大佬的传奇书时,产生跟罗永浩一样内心久久不能平静的心情,做嵌入式项目期间做过不少失败的项目,也做过一些成功的项目,踩过不少坑,总的来说失败项目多于成功项目。期间带过十来个新手入门,有电子专业的,也有非电子专业的,希望通过这篇文章能给正在入门这个行业的你起到些许参考作用。
各行各业都存在入门难的问题
每个行业怎么入门其实都存在这方面的问题,其实在各行各业都困扰着很多人,我们经常会有一些感叹,这个东西原来就是这么回事;由于在我们没入门之前我们碰到的类似这方面的问题多多少少带有一些神秘感,这种神秘感在我们积攒这方面一定量的根底知识之前,我们一下是很难弄清楚的;另外嵌入式是一个勤动手的行业,你不去动手,你很难了解不了其中的奥秘,你不去动手,你永远停留在猜想中,总之就是一句话,就是干!
我们也通常会想去找一些捷径,窍门,我曾经也在这方面花费了非常多的时长,一年半时长内,把图书馆的书都翻了个遍,直到在我们图书馆的杂志上看到一本杜洋教师写的《爱上单片机》,我马上从当当网上买回来,花了一个星期的时长从头至尾看完了,最后又花了几百块依照书上的要求从网上把零配件买了回来;这样做完还不够,又在外面租了个房子,花了四五千买了打印机,电路板、蚀刻药水、烙铁,各种零配件等,网上10点钟初始学,早上四点钟睡觉,自己每个阶段设立一个小宗旨,画电路板,制作电路板,焊接,调试,反反复复持续了半年多的时长。
坚持,坚持,再坚持;有个时候想不到好办法,纸币我们就用最笨的办法来学习
比如说:郭老师的十天学会单片机,我用最笨的办法一个一个对着敲代码,然后动手去修改里面的东西,看现象;杜洋老师的面包板学单片机,我一个一个对照着用面包板搭建电路,烧代码。
举几个例子:
示例一:PWM原理
LED呼吸灯、蜡烛灯的原理,我们以为的是通过控制电压或电流来实现灯的明暗,实际上它是通过固定频率的PWM波通过调整PWM波的占空币来实现的,利用人眼的视觉停留效应来实现。
示例二:
我之前做过一个真人CS装备的项目,真人CS枪对着敌方射击时,到底是怎么击中对方的。经过一番拆解,钻研后;其实里面的原理很简略,就是一个红外激光+一个没线RF装置配合单片机组成,红外激光发射的的编码信号,敌方衣服上有接管红外信号的接管器,背上还背有一个RF装置(用来识别队友和组队,编队用),然后我们用这个原理用一个8脚的单片机做了一个全方向的红外发射手雷。
示例三:
无刷电机原理:我们在初中高中都学过旋转磁场能够让导体产生运动,典型的就是三相无刷电机,市面上没论是直流无刷电机还是交流无刷电机,其实原理都是利用了旋转磁场产生的,没论你是用固定电路产生的旋转磁场还是用单片机模拟产生的旋转磁场都能够到达相同的效果,只是效率更高、力度上能够更精准的控制,至于直流和交流它只是我们实际外部供电的名词罢了,假如是用交流直接驱动电机就是交流无刷电机,假如是通过将直流转变模拟旋转磁场信号的就叫直流没刷电机
直流无刷控制器和电机(步进电机)
普通工频三相电机
总结:
硬件上:我们不太了解根本原理,电容,二极管,三极管灯原理,进一步的开关电源、放大电路,珍爱电路等原理。我们平时所看到的电路都是比较复杂的,没从下手;但是假如拆解来看的话,我们发现里面都是一些根本的电路模块组成的,只是我们想不到或者没有充足的知识来有效分析。
PCB电路板设计:
原理图封装->原理图->PCB封装->PCB机械结构->PCB封装->PCB布局->PCB布线规则->PCB电路板
其实这个理解起来就围绕着两个东西 原理图 + PCB ,其他什么软件,封装,布线,规则等等都是服务于这两个主体的,另外我觉得要了解的是PCB是怎么制作?,不然你是不会明白PCB为什么要这样画,简单一点说就是这个行业知识。
原理图:将原理图符号按照一定的规则组合起来,使这个行业的人都能快速了解。
软件上:
一讲到单片机,我们在进修的时候听到最多的就是寄存器,汇编,算法、编译器,下载工具、C语言,搞了半天我们都不晓得到这些东西到底什么时候用的上,结果很多人在学校学了好几年,都不知道一个详细的项目或者实现一个根本的功能从哪方面入手。
以下是我给内部培训讲的内容摘抄:
基于pretous的一个完整单片机例子
我们大致可以得到如下信息:
1、这个系统看起来也没有想象中那么复杂
2、整个电路就一个单片机,供电,晶振,然后加个LED灯和电阻就可以工作
3、程序代码总共加起来不到20行,其实还可以更少
单片机实物组成
我们总结几个关键字:
单片机最小系统:供电,复位,时钟
程序:程序结构 + 算法
编写程序的工具:集成编译环境
简短的话概括下:往单片机最小系统里面加载写好的程序固件,它就能按照 我们的要求去做事情(洗衣服,煮饭,扫地..)
我们平常见到的单片机
关于编译工具我简单的给大家解释一下:
它的主要作用是将我们编写的高级程序语言翻译归纳整理成单片机(MCU)能够执行的程序
类似于我们跟歪果仁交流,我们不懂外语,须要一个翻译帮忙翻译成特定的语言
单片机也一样,不同的单片机它的交叉编译工具不尽相同
整个内容写的有点乱,但都是真实的感触,希望能帮到大家!!
想要学习单片机的朋友 ,关注我们,回复一哥,与导师一起学习成长,共同进步,还有更多资料领取。
说了这么多,大家记得留意下方评论第一条(或者私信我)有干货~