读《新概念51单片C语言教程》之一

新概念51单片C语言教程

从大学到现在,我对计算机的认识一直很浮浅,特别是使用 Java 这些年,虚拟机确实带来了移植的便利,但是却屏蔽了底层,割断了我与底层硬件的联系。当我决定展开计算机组成之旅的时候,我打定主意要从简单入手,但很快意识到自己面临一个问题,如何寻找一个最简单的计算机?64位普及的年代,即便在垃圾堆里,也难寻得386的踪迹。

认识 MCS51 单片机是无心插柳柳成荫,2011年我从爱果联盟了解到了 WiFi-Robot 项目,于是花了一笔不菲的钱来组装这个大玩具。但是,很快我觉得无趣了,凡具备了中学生的阅读理解能力,都能组装、掌控它。作为一个常常自命不凡的程序员,我更加对自己编写代码控制小车产生了兴趣。碰巧它的控制板采用的正是51单片机。

[ Read More » ]

WiFi-Robot Car 之舵机篇

舵机,有些人会叫它伺服器,这大概是台湾的术语,其可以根据在指令转动方向,停留在0-180度,在机器人等设备中经常用到。其有一个三线的接口,黑色(或棕色)的线是接地线,红线接+5V电压,黄线(或是白色或橙色)接控制信号端。这里有一篇来自果壳网的启蒙文章《DIYer修炼:舵机知识扫盲》,我也是通过这篇文章入门的。

在 WiFi-Robot Car 中,我使用了两个舵机来控制摄像头的上下、左右运动。如果打算做得更炫一点儿,WiFi-Robot Car 可以加入机械臂,通过舵机可以控制伸长、缩回等转动,甚至可以控制它抓取东西。–但眼下我没打算加入这个功能。

[ Read More » ]

WiFi-Robot Car 之电池篇

兵马未动,粮草先行,电池是 WiFi-Robot Car的能量源泉。我选用的控制板对电源的要求是12.6v,但从从淘宝购买来的二手锂电池组是24v,因此需要对电池组进行改装。改装之前先熟悉电池组的规格,这里关注两个指标,其一是电压,其二是容量。前者关乎到是否合乎电路要求,后者则关系到持续时间。

这次改装所使用的电池组由12节18650型号的锂电池构成,每六节组成一组,以串联的形式输出24v,此时容量是4400mah。以并联的方式改装之后,电压将为12v,容量提升至8800mah。

改装之前,需要准备如下材料和工具:

  1. 万用表
  2. 电烙铁
  3. 导线两根
  4. 剪刀
[ Read More » ]

WiFi-Robot Car 之前言篇

我在小时候就很喜欢汽车,借助它可以走到很远的地方,见识很多的人,听到很好玩的故事。我不是冒险家,不是那种寻求刺激的家伙,但有一个旅行家的梦想。工欲善其事,必先利其器,有了汽车,梦想就从开启引擎的那一刻开始变成现实。

在没有一辆汽车之前,我深刻地明白,要非常了解这个“本身具有动力得以驱动,不须依轨道或电力架设,得以机动行驶之机械设备”,必须从小做起。于是,收集各种汽车玩具是我很长一段时间里的嗜好,塑料的、铁壳的、要装电池的、不要电池的、独立遥控的、只有一个开关的、能拐弯的、只能直行的,然后拆开,最后装回去或者丢掉。

[ Read More » ]