写给想学习单片机的大一、大二学生的一封信
扫描二维码
随时随地手机看文章
我原来从事智能仪表设计,后由于个人原因和喜好转向单片机培训。
在原企业时,发现许多学生说是学过单片机和C 语言,可面对实际工作却束手无策,很
想尝试改变之。
这两年,我和不少大学生、大学老师有过接触。交流中,学生抱怨老师所教的知识不实
用,导致他们“无能”;而老师抱怨大学生受社会浮躁氛围影响,不用心,无法将知识传授给
他们。
我无意、也不想弄清是何原因,只关注结果:现在,自称学过单片机的大学生毕业后能
在工作中运用的是“凤毛麟角”,大多数基本属于“白丁”。这样描述未免有些不恭,可却是
事实。更可悲的是 —— 这种现象有愈加严重之势。
大学扩招后,你们的“压力更大”,“找工作难”让大学生成了“弱势群体”,要国家为
此专门颁布政策扶持。本该是社会精英,却沦落到如此境界,实在不可理解。
可我从一个企业的工程师角度看,工作机会并非那么稀少,有许多中小企业,乃至大企
业的设计岗位空缺,导致许多项目不敢上、上不去,错过了商机,至少我所涉及的领域如此。
如果你们具备一定的工作能力,找工作并不难!
我想你们也不要去追究是哪一方的责任了,那无济于事,应该考虑的是如何改变,至少
让自己不要“融入其中”。首先是寻找一种自救的方法,不要把希望寄托在外部,奢望目前的
教学有奇迹发生!
为此,想提一个建议供你们参考,虽说不一定能保证你们变成精英,但敢保证,如果按
此实施,一定能顺利地找到工作,成为技术骨干。
这个方案的载体就是“圆梦小车DIY 套件”。
从三个方面叙述:适合的对象、建议细节以及实施方法探讨。
一、适合的对象
做任何事情首先必须明确:你服务的对象是谁?
我曾经看过一本书,书名是:《软件创新之路--冲破高技术营造的牢笼》,书中关于“角
色”的讨论十分有意义,核心概念是:首先明确一个角色 ——“他/她”(一个虚拟的、但十
分具体生动的人物)是未来软件的使用者,这时,在软件编写过程中关于功能的种种争执都
由“他”来裁决,可以化解很多问题。
此处也是如此,首先明确所提建议针对的对象,其目标、细节就容易确定了。
我所提出的建议所针对的对象是:
1) 爱好嵌入式控制的,或者想要将其培养为爱好的相关专业学生
为什么首先强调要爱好呢?因为爱好是一个人做事的原动力,有爱好才能有激情,才能
专注,才能为之付出,也才能从中获得收获、得到快乐。没有爱好的人,获取只是为了占有
和享受之,而有爱好的人获取是为了掌控之,不要说是DIY 器材能做出具有特色的作品,就
是成品也会想着将其改造成富有个性的。只有这种心态的人,才能在“做”的过程中对自己
不断提出要求,追求完美,从而学到知识,提高能力。
前面我接触过一些为了“功利”的目的而做的,用这个套件应付课程设计或是毕业设计,
抱着这个目标,因为太“急功近利”!无法沉下心来体验过程,难有收获。
这也是写给你们大一、大二学生的原因,因为你们离毕业还有一段时间,可暂时忽略就
业压力,用这宝贵的两年时间享受爱好带来的快乐,获取必要的技能。
2)要靠自己能力获取工作的学生
虽说改革开放了这么多年,可我觉得在找工作上似乎又回到了计划经济时代,要靠关系。
所以如果一个早就有人帮着安排好工作的学生是没有动力去付出的,也不是本文所要关注的。
我所想帮助的是那些必须靠自己的能力赢得用人单位青睐的学生,特别是那些耗尽了父母全
部心血的孩子,我觉得你们实在应该努力,用在大学期间学到的真才实学去获取应得的收入,
以报答父母。
二、建议
你们这一代可能无法体会你们的父辈们当时学习计算机的困难。那时计算机十分罕见,
只有到机房才能触摸到它,所以有些人为了练习敲键盘的指法,需要购买纸键盘(一张按键
盘式样印刷的硬纸片)在家练习。你们可能无法想象,那时的人会操作计算机可神气了。
如今呢,能够操作计算机如同会写字一样平常,想过没有:这一切是如何达到的?是计
算机的普及!现在计算机可能比收音机都多,任何人只要想用都可以随时满足。
说这些是想阐明一个道理:一件东西当它稀少、难于接触到时,它就会变得神秘、难于
掌握,如果它易于得到、可随意去尝试,它将变得普通、易于掌握!
嵌入式控制或者狭义的说 —— 单片机应用,就是由于它还不能成为你们随时可以触摸
的东西,所以变得难于捉摸。而造成这种现象的原因有两方面:
一是价格,因为它暂时还不属于消费品,特别是用于学习和开发的产品,由于需求数量
较少,所以价格难以下来。
二是用途,因为它所涉及的用途多数不易为大众所理解,太专业,制约了想要接触的人,
也难以引起你们的兴趣。不像PC 机,文字处理、照片编辑浏览都是大家需要也容易理解的
用途;实际上PC 机所附带的几个游戏看似无用,却大大帮助了PC 机的推广,任何人拿到
PC 机后很快就会在所提供的游戏上停留,这宝贵的一段时间大大加深了它在用户脑中的印
象,使用户接受它、喜欢它,导致用户想拥有它。嵌入式控制中就缺少这一平台和内容,吸
引用户停留、关注,并期望拥有之。
既然如此,要想帮助你们掌握单片机的应用,应该解决的问题就是如何能让你们随意、
随时接触到它,并且有可以吸引你们的内容使你们不至于排斥它!
要达到这个目的,需要消除上述两个障碍:价格和用途。
“圆梦小车DIY 套件”就是为了消除上述两个障碍。
首先通过合理的选择MCU 化解了开发手段带来的高投入,其次通过DIY 方式降低了总
成本,将购买成品必须支付的生产、调试成本降到最低。而且,对于学习而言这种方式利大
于弊,因为DIY 的过程本身就是学习的内容,同时帮助你了解产品的细节,为日后维护、升
级打下基础。另外,所选择的MCU 是目前多数大学课本所用的51 系列,有足够的共享资源,
但又是改进过的,弥补了经典51 内部资源少、速度慢的缺憾,内置了8 路AD 以及4 路PCA,
速度是经典51 的6 – 8 倍(同样的频率下)。
在用途的选择上采用了一个最常见也最容易实现的内容 —— 小车,因为车能做的文章
比较多,而且容易理解,可以从两个方面深入:
一是车本身的行走控制,让它速度上、轨迹上符合要求。
二是将车作为载体去实现一些其它功能,如走迷宫、寻找物体、清障、对抗等。两个方
面都有许多文章可做,可以覆盖你们将要学习的多数学科。
前面叙述选用小车的理由,建议如下:
1、 购买一套“圆梦小车DIY 套件”,根据经济条件确定是选择基本配置,还是附带无
线通讯以及轨迹采样的配置,如果可能,建议最好配置带无线通讯的配置,这样可以探究的
内容将丰富许多。而轨迹部分结合个人需要,如果购买器件方便,可到用时再配,因为PCB
部分已随基本配置提供了。如果器件采购困难,不妨一起配置,可节省邮费。
2、 因为你们可能还不具备所需的专业知识,可先对照原理图将所有器件按下列方式列
出:
原理图中的标号PCB 中的位置器件功能器件参数电路中的作用 涉及学科
其中:
原理图中的标号 —— 即 R1 、C2、D1… 等;
PCB 中的位置 —— 可自己将PCB 划为若干格,如同地图一样,纵向用字母,横向用
数字,格子大小1cm 即可,比如在左上角,则为 A1 ,右下角为J10(按10*10 格);
器件功能 —— 是指器件本身的功能,如电阻、电容、门电路等;
器件参数 —— 指的是器件的标称值,有些器件可能需要很多内容,如MCU;
电路中的作用 —— 描述其在电路中的功能,如限流电阻、退藕电容、保护二极管等;
涉及学科 —— 指此器件的知识应该在那门课中学习;
内容可逐步完善,知道多少填多少,但最好理解后用自己的语言描述,不知道的暂时空
着,作为问题寄存,在未来的学习中不断化解之。
上述表格可以用Excel 实现,利用Excel 的灵活性,如长篇备注、链接,使所填充的内
容不多充实。
千万不要忽视这个步骤,很多同学毕业后连最基本的器件性能都不了解,看似简单的电
阻、电容、二极管、三机管都有很大学问,拿电容来说,就有材质、寿命、使用温度等问题
需要考虑,日后出自你们之手设计的产品也许就坏在一个几分钱的电容上。
能对所接触到的每个器件刨根问底,将大大充实你们知识的深度和广度,而且这个过程
可以提高你们查阅资料的能力。用人单位强调的所谓工作经验,技术上这些占很大比重。
3、 如果已学过电子技术,可以尝试使用电子CAD(如Protel)软件将原理图绘出,
以加深理解,同时为日后改进做好准备。未学者可等到学时再做。
4、 做完第二步,应该对器件和PCB 有了感性认识,可着手焊接。对于弱电专业的
大学生,电子焊接应该是你们金工实习(现在可能叫工程实践)的内容,如果没有,更应该
自己补上这项练习。可参照我网站上提供的焊接工艺,也可自己参阅相关书籍或拜师。
5、 按照提供的装配工艺,或者你自己理解后制定的步骤检查、通电,按照
StepByStep 第一篇下载一个程序试一下。如果感到自己有太多的知识不具备,可将小车放
在一边,算是为后面的学习准备了一个自己的实验室,可以随时、随意使用和改造。
6、 泛读6 篇StepByStep 文章,将其中不理解的问题按下述方式汇总:问题、需要
的知识、将在何时何科目上学到,结合第二步所制作的表格,为自己制定一个计划,将实现
小车设计的功能作为目标,可以尝试使用“甘特图”(此知识自己查阅),看如何能让实现的
过程尽量流畅、快速;所谓流畅,是指不出现准备的知识与需要解决的问题顺序倒置现象,
也就是人们常说的“窝工”。
7、 根据自己制定的计划,确定学习的方式,可以等待老师传授,也可以自学,但我
认为最好自学,这样可以掌控学习的内容,不至于“不流畅”。最好尽快具备基本的知识、常
识,使小车的设计功能能够完成,也就是我6 篇文章所介绍的内容,使小车具备辅助学习的
能力。
8、 在完成上述步骤后,应该对小车的功能、潜能有了足够的了解,此时结合你们正
在学及将要学习的课目以小车为载体构思一些挑战项目,以帮助理解所学的内容,比如:C
语言课 —— 可以用C 语言编写小车的指示灯发送、接收莫尔斯电码,尝试相互使用莫尔斯
电码交流。自动控制课 —— 可以用小车验证PID 控制原理,控制的内容可以是转速、加装
光敏电阻后让小车停在制定光强度的位置等。传感器课 —— 可以使用的机会最多,可用温
度传感器让小车寻找一个区域内的最高温度点;可用线阵CCD 传感器进行轨迹检测,可用
色彩传感器让小车识别物体、分类收集;最时新的MEMS(微机电系统)使诸多运动传感器
应运而生,体积小、价格低的多维加速度传感器更适宜将小车作为展示的载体;几乎所有的
传感器都可以在小车上找到应用。单片机应用课就更不用说了。
至此,可把小车看成是你们正常学习中的一个工具,和计算器一样,只是使用的方式略
具挑战,计算器只是工具,而小车是消化知识的载体;更恰当的比喻应该类似于你们提高球
技的乒乓球台、羽毛球场,不同的是小车帮你们提高的是运用知识的技能、解决问题的思维
能力。
在这一阶段,每个人有自己的侧重和学习方式,可结合自己的需要去做,充分发挥小车
的潜能。
9、 如果有条件,最好随自己掌握知识的增加而将小车升级。如MCU,现在所提供
的MCU 是8 位51 系列的,只有12KROM,512BytesRAM,基本无法尝试RTOS,IO 口及
内部资源也有限,想扩充更多的应用将会受到限制。我在扩展PCB 上已经设计了一个焊接
AVR 单片机Mega64/128 的位置,可方便的替换现在的MCU,这款MCU 的内存可达
128KROM、4KRAM,基本可以满足移植uCOSII 的要求,而且它的内部资源也较多,况且
AVR 系列单片机也是目前主流8 位MCU 之一。
10、 再有余力者(包括资金和能力),可选用ARM 系列MCU 构成的核心模块(也可
以选择DSP 构成的模块,看你的需要)构成二级控制,原来的MCU 只负责底层的控制,如
电机的PWM 控制、码盘采样、轨迹采样等,而策略控制由ARM 模块完成,两者之间通过
自定义的通讯交互。这种模式在未来的应用中将十分普及,因为LPC(低功耗、低成本、低
引脚)的MCU 将逐步取代传统的逻辑电路,每一个小的功能单元将由一个MCU 为核心实
现,这就要求你们能够熟练掌握设计系统内通讯的技能。选用ARM 后,可以尝试更复杂的
OS,如uCLinux,而且可以编写一些复杂的软件,如接入摄像头编写图像识别程序,根据图
像识别的结果控制小车运动,完成更复杂的任务。此时我想你们一定会想出更奇妙的应用。
11、 上述所有步骤都有一个最核心的要求:文档!如果不能在做之前有清晰的计划,
做之后有详细的总结,那这个过程的收获将大打折扣,特别是自己设计的、略复杂的挑战项
目,一定要按照项目实施的方式书写文档,如:问题定义、需求分析、概要设计、详细设计、
调试方案、使用说明等,不要过于将精力集中于实现目标上,而要关注自己实现的过程和方
法,不断提高、改进自己所用的工具和手段,尝试一些先进的设计手段,如UML 等。现在有
如此好的工具(PC 机和相应的软件),没有理由不做出好的文档和记录。如果你能做到这些,
我想用人单位比看那些让人将信将疑的简历感兴趣得多!
12、 最后,一个附带的提议,从开始做就建立一个Blog,详细记录你所做的心情、想
法、成果、收获等,类似于目前DVD 中附带的拍摄花絮,作为技术文档的互补(相当于DVD
中的影片)。如果能坚持下来,我想这比你们煞费苦心的参加各类比赛更能“秀”出你自己,
而且可信度、传播的范围远超过比赛所赋予的。你们赶上了时候,有如此好的网络媒体,还
去依赖传统的方式、手段来表现自己,思考一下,是否有些“迂腐”了?建议你们看看《世
界是平的》那本书,不是附庸风雅,它帮助你全面了解当今世界的变化,以及背后所蕴含的
机会,也许能改变你的思维方式,使你们尽快活到“现在”来,而不是停留于过去,受制于
行将没落的制度。
3、实施方法
在建议中详细描述了你们应该做什么,这里想探讨一下如何做?
第一:寻找一个伙伴
目前是一个充满信息的社会,交流成了人的主要需求之一,否则信息无法流动,也就失
去了存在的价值和升值的机会。
做此事也最好能有交流的对象,一方面可以提高做的兴趣和效率,另一方面也锻炼交流
的能力,能用简洁的语言描述自己想做的事、遇到的问题是你们必备的技能,因为工程不同
于艺术,必须是团队合作才有机会成功。
我特别欣赏那本《LEGO 组件和ROBOLAB 软件在工程学中的应用》(美国Eric.L.Wang
等著)书中设计的第一个挑战 —— 交流(见附件一),这个看似简单的游戏,实质上涉及了
工程上最基本的概念 —— 术语定义,如果你们去查阅一下技术标准(GB 或ISO),就会发
现,每个标准在开篇时都会花一定篇幅定义本标准中的术语含义,这个概念相当重要,否则
工程中的合作和交流将无法进行!
所以,最好能够找到同伴一起实施,不但能够有相互交流的机会,也会增加许多有趣的
项目设计,如书中的另一个挑战 —— 毁灭性比赛(见附件二),用圆梦小车十分适合,因为
小车有码盘可计量行走距离,又有无线通讯提供小车间的交流(这也是我建议购买带无线通
讯的原因),这个练习可以锻炼如何定义通讯协议?如何提高通讯的效率和可靠性?
当然,也可以在网络上找到同伴,我设计这个平台的目的之一就是希望构建一个可以跨
越时空交流的基础。
第二、组织相应的活动
如果你对自己的要求还不只是当个普通工程师,那你可以尝试组织更多的同伴一起做,
并且设计、组织一些群体性的活动吸引大家参与,这样可以锻炼你的组织能力、号召力,还
有最时髦的 —— 执行力。因为群体活动不同于两个人,可以商量解决,众口难调,必须学
会折中、说服、妥协,这些能力都是未来工作中所必须的。等你们进入社会时,估计那套老
式的组织机构已不存在,不会再有相对固定的科长、经理、部长给你当了,取而代之的是随
项目而生死的项目经理制度,时尚称呼为“Team Leader”,你将面临的是不断组织不同的
人去完成一个个特定的任务,尤其在电子产品设计上如此。
所以能够快速的组织起不同类型、不同需求的人去做一件事是被企业相当赏识的能力。
以往大学中的活动多以人文类为多,什么募捐啊、环保啊,要不就是文艺、体育上的,和所
学专业知识相关的很少,主要是没有可操作的项目。
如果能借助小车的普及,自己组织同学间、班级间的机器人赛,就可以为那些在人文、
艺术、体育上无特长也无兴趣的同学提供施展的空间了,以往这些人基本没有在“公众前露
脸”的机会。
由于是在同学间组织,可以设计成擂台赛形式,每周举行,这样可缩小规模,降低组织
的难度,其影响还由于持续时间较长反而比一次“轰轰烈烈”的活动更大。
活动的经费可以靠收学生会费,也可尝试找企业赞助,这也是锻炼人的极好机会,看你
们能否找到吸引企业的理由,实现双赢的局面。大学生是一个庞大的消费群体,同时又是“产
品”,我想从中一定能发现企业的需求。
如果从“政治”上考虑,也许比那些人文性活动更能打动“领导”,因为你们毕竟是理工
科大学生,科技才是你们的本行!这类活动目前有实质的极少,如能够通过这样的活动将同
学们从网聊、网游上吸引过来,哪怕是一小部分,也将“功德无量”!
活动也可以借助于网络宣传、展示,“后舍男孩”可以成名,你们也可以在网络上用组织
良好的活动推销自己,而不必等待一年一次的电子大赛、机器人大赛。
活动的内容可以参照国外成熟的项目,进行自己的改进,我认为MiniSumo 就是不错的
项目,组织简单,但变化无限。有兴趣者可到附件三所列的一些国外机器人俱乐部看看。
第三、没有经济能力怎么办?
最后,也许会有人问我:我们是大学生,没有收入,有些家境贫寒,哪有钱做这个?
首先你们仔细核算一下,这些费用是否可以在你们的日常支出中“挤出来”?对于一般
家庭而言,上大学很多人都配备了手机、MP3、数码相机等数字化产品,将这些东西降一个
档次或省去一个,钱就有了。升级所需的费用平时少搓几顿也就有了,想想这些将给你们带
来的能力和知识,我想你们应该明白什么是值得的。
对于一些确实家境困难的学生,也有机会。
这里想说个题外话,此前有学生和我讨价时说:我们学生没有收入,家庭条件不好,希
望能够便宜些。当时我心里很不是滋味,一个未来的社会精英、风华正茂的青年,怎么会乞
求别人的“施舍”?你们应该看过不少金庸的武打小说和其它作品,其中男人如果真遇到囊
中羞涩时,首先想到的应该是用自己具有的能力换取所需的东西,而不是乞求施舍!
作为大学生,完全有、也应该有能力用自己的优势换取,尤其是与你们将来要从事的专
业相关时。即便现在还没有能力,也应有勇气承诺通过付出换取所需。如果在自己将要从事
的专业中都无法找到施展的空间,或者根本就没有勇气去尝试,那你们今后将如何让用人单
位相信你有能力胜任工作?
现在不是常提“商机”一词吗?说这些是想引出:难道不能从小车这件事上构想出一些
可以换取收入的商业模式?
以前曾在媒体上看到,有些大学生为了赚取一些收入,从大市场批发一些日用品转卖给
同学,获得差价,这也是一种合理的手段,只是我觉得与上学的初衷有些相悖,特别是学习
工程的(学习商科另当别论)。有些人去帮助卖VIP 卡,还有许多是去做家教,这些都是家境
贫寒的学子们常见的自助方式。可你们想过没有,其中存在一个问题:它们不能帮助你提高
专业能力,反而挤占了学习时间;父母千辛万苦送你们上大学,是为了能学到本事,改变人
生。这样做并不能达到这个目的,不能使你具备“可持续发展”的能力。
在此,我想提一个不成熟的想法:对于那些家境确实贫寒的学子,如果在学相关专业,
且有意在专业谋发展,那不妨多付出一些,首先自己尽快掌握小车的所有技术知识(南京的
同学如有此意,可直接到我这里培训,一周即可入门),之后成为圆梦小车在你们学校的代理,
乃至你所在城市的代理,为小车推广做宣传、做技术支持,从而获取相应的回佣。同时还可
以做一些增值服务,如帮助一些不愿动手的同学装配、焊接,以及开办一些有偿讲座、培训。
此外,结合所学专业可以做出一些个性化的升级,以满足不同的需求,弥补我所提供的资源
匮乏。现在网络十分发达,可以将这类服务通过淘宝延伸到学校以外的整个社会。
因为这种销售、服务是以技术为核心的,而且与你未来的专业相关,所以你做的越好,
你的专业能力就越强,将来的工作就越没有问题。相比前述的那些勤工俭学手段,最大的优
势就是与学习互相促进,使你具备“可持续发展”的能力。
想象一下,如果用人单位知道你在大学做了3、4 年家教,会做何感想?但如果用人单位
知道你成功的推广了多少套小车,并组织了多少次成功的活动和讲座,又该如何?
这样看:家境贫寒是否会成为障碍?完全不会,只会是动力、压力,唯一的障碍就是自
己不愿付出!
4、结语
小车也许只是一个起步的基础,你们在做的过程中或许会有更好、更有创意的想法!
“圆梦小车DIY 套件”主要是为你们提供一个上路的台阶,以往很多大学生都有此意,
但均被实施中的诸多障碍所羁绊,有的没有起步,有的半途而废。而套件基本上化解了你们
自己做可能遇到的各种问题,可让你们立刻进入实质性的学习阶段 —— 电路理解、编程、
控制方案的实现等,而不必在材料准备、机械加工上耗费时间。但DIY 过程很重要,如同写
毛笔字,光看帖,不描红、临摹是不会提高的。
而且,小车套件用51 单片机作为引子,但并不局限于此,可方便的用其他MCU 替换,
这是多数产品中所没有的。我还将跟随电子技术的发展,不断使圆梦小车跟上时代的步伐,
愿我们共同在这个过程中圆自己的嵌入之梦!