[Processing | Arduino] M2407方形LED显示模块的小Demo

学习Processing半个月来的小总结。

在12月初在@新车间开放日,碰到的艺术家哥们儿,演示着炫目的Processing动画,然后说Processing是一种可以让非IT人士,不懂编程的朋友,甚至是艺术家来快速实现效果。当时确实是被吓到了,这让我这样从十年前就开始玩程序的人,情何以堪,虽然断断续续很长一段时间,目前正经的工作也和程序并不是挨得那么紧,但是IT这碗饭,眼瞅着就有文艺青年来抢着吃,心里还是感到不小的压力。但是转念一想,要是文艺青年都能玩,那我这样的另两类青年应该也是玩得起来吧。所以就开始学。其实先前一直在用C#,而直到开始学Java,才知道自己其实一直对C#不得要领。C#似乎和VC++有着同样的问题,就是注意力完全被强大的控件库所吸引。然后一个label,一个textbox,再来几个button就玩得很开心,至于什么叫OOP(Object Oriential Programming),则完全没有概念,或者说有概念也没实践。再或者说,玩的是C#,思路依然是VB、或是C。

其实我感觉一直有这样的问题,随着看到越来越多群友、网友的代码,越来越感觉到这样的问题。用汇编的思路写C,用C的思路写C++。也发现自己代码也有不少问题,包括不久之前发出来的3D8动画的底层函数库,就从命名角度来说,其实就并没有做好,用的还是传统的匈牙利命名法,其实已经不合时宜,但是在C语言的环境下,还是有一定的参考意义,反正是要重写一下。半调子就是半调子,牛逼哄哄了半天,现在还是会回头来补补落下的功课。

Processing确实是一门可以很快上手的开发工具,能很容易地出效果,虽然原生IDE和Arduio-IDE一样不给力,但是可以结合官方教学的这篇《Processing in Eclipse》,将开发环境转移到 eclipse 下,它的安装和说明,先前我也汇总了一篇博文进行介绍,在此基础上添加 proclipsing 插件,并行进相应设置就好,随后的开发就会轻松许多。现在对eclipse的感觉,除了F1比VS2010输一点以外,其它基本是有过之而无不及,相当好用,相见恨晚。有兴趣的朋友可以研究一下Eclipse+CDT+minGW,脱离VC,在纯C/C++环境下学C,单纯又给力。

这半个月基本就在学习咯,目前学习的程度,也就是达到把所有官方指导都看完,外加查阅了一些库函数,也就是半个月的业余时间,学起来并不是很累,短小的代码加上绚丽的效果,学习过程中还是蛮有成就感的。而Processing的另一大优势,就是和Arduino的交互。虽然从本质上来说,依然主要就是串口通讯,但是配套的函数以及开放的资源很多,包括Arduino官方例程里面,也经常牵扯到与Processing的互动。所以,现在大家看到的这段视频,其实就是Processing和Arduino协同开放的一个制作,目前基本也就是一个看完这些,的一个课后作业的水平吧。

在视频中,大致介绍了一个增量式开发的流程。因为经常遇到群友一下子贴上一片代码,而且是缩进全乱,字体又大又艳的那种。这样的程序,其实一眼就知道八成不是自己写的了,因为对于问题可能出现的位置完全没有概念,还巴不得别人读懂这些代码指出症结。而增量式开发的意义,就在于是把基础夯实以后再继续盖楼,而且从一开始,这座楼就可以住人——保持程序的可发布性。随着功能得逐步完善,基本就相当于是在楼内隔房间、添家具、配装潢,反正一开始就可以住人了,到时候看看住户有什么需求变化,能灵活地进行调整。但是当一天的开发结束,程序肯定是要可以运行的,这也就是经常半夜发一条自己朋友都看不懂的微博的原因。这样的开发——敏捷开发(其实我离这个目标还很远),一般来说是通过高级语言实现的,再起码也得是C++,至于JAVA、C#就更不用说了,越高级的语言,越容易实现先进的生产方法,甚至说这些生产方法就是伴随着这些高级语言的发展逐步成熟并流行起来。而这,也是我从51转向Arduino的重要原因之一。

不要一开始就想着盖摩天大厦,那些桌椅板凳床,也不是非要在大厦里面手工打造么,完全也可以买现成的嘛。

这段视频、这段博文,算是对之前半个多月的总结,开发工具慢慢了解如何使用,而且也伴随实际的开发中越来越熟练。代码在成熟到一定程度后再考虑如何开源吧,现在代码每天都在改,相当不成熟,只能说基本实现了目前3D8上位机最有难度的功能模块,而Processing的互动潜力,还没有显露出来,加油咯~

特别感谢:@新车间(师傅领进门),@圣源电子(M2407硬件设计),@微笑的Rocket@严泽远

关于aGuegu

向着更高的逼格
此条目发表在Processing, 模块分类目录,贴了, , , , , , , 标签。将固定链接加入收藏夹。
  • 了解了,待以后用着了就学

  • norda

    感觉来你这边学到很多东西。现在我的51还不是很成熟,电子类大三的学生,个人兴趣是一方面,另一方面想着能学到些以后让自己比别人更有资本找到好工作的东西,所以目前又是Linux C又是51然后想从51再转AVR。。。感觉有电点好高骛远了。。。求指导

  • Pingback: [arduino|macro]3D8S 的硬件改进 | Agu's Mill 古作坊()