前言
留白
尝试
在大一的时候,我记得当时参加了一个学院的比赛,这是我第一次接触到有关编程的概念。
这个比赛是通过该实验室提供的带有编程功能的积木与玩具,搭建出一个作品。有点类似于米兔机器人一样的概念,只不过当时时间比较早而已。
我搭建了一个智能的小车,它能够按照地面上的黑色胶带的轨迹来行动,然后做出相应的动作。他拥有以下三个功能:
- 按照地面上的单线胶带行动。该功能是通过两个红外传感器实现的。
- 遇到障碍可以按照事先约定好的动作绕过障碍。通过一个红外传感器实现。
- 可以用爪子抓取地面上的乒乓球。通过一个电机带动行动。
我记得当时的编程界面是通过一个图形界面操作的,这个程序中可以拖动不同的矩形,代表程序体。然后用连线来表示状态的转移。编写好代码,需要通过红外线装置传输到可编程积木中。红外线的传输装置有点像立起来的熨斗,积木很大一块,可以安装锂电池,上面有一些齿轮状的物体,可以将其他的轮胎或者是滑动装置安装上去。这样整个装置就可以按照你的期望运动了。
我记得当时评比的时候,除了我自己的作品外,没有一个队伍的作品能够动起来(就是没有写程序)。
其他队伍在介绍自己的机器人的时候,只是介绍了功能,但是很遗憾,动不了。
轮到我介绍的时候,确实惊艳了全场,评委老师很惊奇的看到我的机器人能动。
实际上,这个内置的程序是掉电消失的,并且,由于积木很老了,里面的锂电池根本就撑不了多久。我在基地写好程序,拿到比赛现场,为了防止程序丢失,我找了充电器。因为在运行的时候,不带充电线的锂电池会瞬间掉电,然后程序消失。所以能动起来也很幸运。
我本来就没期待什么,我感觉只是按照自己的想法实现了这个小作品。后来宣布第一名的时候,居然不是我。我没有觉得很失落,毕竟也是很好玩的。只是上去领奖的那个人不是我,这让在场的所有人都感到十分的诧异。
然后颁奖人员说弄错了,最后我还是获得了第一名。
失败
学校要举行一个电子设计竞赛,面向全校人员开放。
我看了比赛的题目,然后觉得可以尝试一下。我在百度上找到了类似的题目。内容是需要一系列的电子原件,焊接在一起,然后烧录所需要的程序,程序已经提供了。
对于当时的我,那堆代码就是一堆乱码。
我去了杭州电子市场,我在无数家商铺中穿梭,商店主人一个个看我感觉就像是异人一样。
我笨拙着说出我想要的电子原件。商店主人好心的送了我一些LED小灯泡。
她还说电烙铁要用扁头的,尖头的初学者用不好。
他们很好奇我到底要做什么。
原件买回来了,我坐在地板上,按照那篇博客给的电路图,在椅子上将东西焊好了。
噢,对了,那个时候我也没有学过电路图,所以我只是按照想法焊好的。
我觉得那时候的我挺单纯的,没有一点基础还想把东西焊出来。但是我却没有资格嘲笑他。
然后开始烧录程序,我把单芯片放到了插座上,然后又把插座接上电源,开始用软件把那篇博客提供的程序尝试下载到芯片中。
我其实想对他说,嘿,你确定这个网站提供的固件程序和你的芯片型号一致吗?芯片好烫,其实你插反了你知道吗,芯片估计已经被你烧毁了。
然而我什么都不知道,我傻傻的拿着一个不知道什么原件焊出来的玩意和一个其实已经烧毁的芯片去参加评比,可想而知,我被评审专家鄙视了。
然而我不知道的是,几乎没有像我这样的人去报名参加比赛。学校有一个电子设计竞赛实验班,在这个班上可以学习到所有你想学习的有关电子设计的知识。
虽然比赛是面向全校的,但是报名的也只有这个实验班的会报名。
我的第一个程序
后来我才明白有电子设计班的存在。大二我报名了,我记得有一个考试和面试,通过才能进入。
我记得当时他们问了几个问题,我都答不上来。后来问我C语言成绩是多少,我说97,然后就说可以,你通过了。
第一个星期主要讲焊接的基本知识。虽然似乎故事才刚刚开始,然而我的这篇文章要讲的故事也快要结束了。
第二个星期主要讲LED数码管的知识,我拿到了发的51开发板。晚上,我在寝室里学习让数码管按照自己的想法亮起来。
我学习了怎么显示数字,是常亮的,我明白了原来是先要位选然后段选,我突然明白了很多,这就是最最原始的时间分片法吧。
image.png我突然有一个想法,我想让数码管实现跑马灯的效果,就是外面的一圈不断的转圈圈。
我写也写,写呀写。
我写出来了。
烧进去,运行,居然和我想象的一样,外面的一圈转呀转,真的很好看。我很开心。
后记
也许那算不上我写的第一个程序,毕竟在那之前,C语言课也要求设计程序,那我应该已经写过程序了。
然而对我而言,那个跑马灯,才是对我真正意义上的第一个程序,完全由我创造。
就算有一天我死了,如果我写的程序能够运行下去,我可以以另一种方式来延续自己的生命。
网友评论