作者:Min

来源:图灵教育


真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(1)

拆电子设备.....

不管是因为研究电子设备的工作原理还是因为电子设备需要维修,大多数人都拆过电子设备,好像我们天生都喜欢研究电路。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(2)

还记得小时候总是以好奇为由,无所畏惧地拆掉家里的各种遥控器,收音机以及所有带电的东西,去研究他们的工作原理,然后把它们重新组装。那时的我们总会有很多关于电子制作的创意和想法,想通过这样的探索去实现。

而现在我们生活在一个无比便利的时代,聊天、购物、打车、生活缴费、转账理财、预约各种门店服务甚至挂号就诊……只要有互联网和智能手机,这些都可以轻松搞定。可是也正因为太过便利,我们往往不再爱开动脑筋,更懒得自己动手制作什么。偶尔有“要是有这样的东西就好了”的感慨,也只是坐等想要的产品上市。

是时候重新捡起玩转电子制作的乐趣了,其实电子制作并没有我们想象中那么难,大家有没有听过Arduino?一款开源硬件,我们只需将Arduino与传感器组合起来,然后编写命令,就能制作出自己想要的装置。将该装置连接到互联网上,就能随时随地查看家中情况或者对家居设施进行操控。想想都觉得是件很爽的事情。

电子制作是指,将电子元件搭建成电子电路(硬件)并在其中烧写控制程序(软件),从而制作出一个完整的作品。硬件和软件的开发都需要很多专业知识,电子制作初学者往往不知该从何下手。什么是Arduino?

Arduino是具有代表性的开源硬件之一,所谓的“开源硬件”就是类似于菜肴秘方的硬件设计图,可以由其他人随意查看和修改。根据需要参考开源硬件中某一部分的设计图,之后做出一模一样的再卖给其他人。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(3)

Arduino是一款为不具备电子知识的人进行电子制作而开发出来的开源平台。在一块叫作Arduino开发板的电子电路板上,装有用于连接计算机的USB连接器、用于连接传感器等电子元件以进行数据交换的输入输出(I/O)引脚,以及控制各种处理的微型计算机。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(4)

你无须购买零部件,然后一个个焊上去,Arduino开发板一到手,立即就能在其上插入传感器等电子元件搭建电子电路。至于控制电子电路的软件,只要将可在Windows、OS X或Linux 环境中运行的Arduino IDE应用程序安装到计算机上,就能进行开发了。将Arduino IDE开发出来的Sketch(Arduino开发板的控制程序)通过USB连接线上传到Arduino开发板后,搭建好的电子电路就可以开始工作了。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(5)

创客运动中的Arduino

Arduino和创客运动密不可分,所以先简单介绍创客运动。创客运动的意义在于,无论男女老幼,任何人都可以成为发明家或创造者。

创客运动的代表案例是“火人节”(Burning Man)活动。很多硅谷人士都会前往参加,甚至造成硅谷“万人空巷”的场景。之所以命名为“火人节”是因为,在活动最后一天,人们会将木头制作的雕像放在沙滩中央,将其与活动期间制作的艺术品全部烧光。

和“火人节”一样深受创客喜爱的还有《爱上制作》杂志,它被誉为创客界的“圣经”,主要收录了利用身边常见材料制作好玩项目的方法。另外,因为普通人用Arduino可以轻松制作自己想要的东西,所以也有很多内容与Arduino有关,比如咖啡机和 Arduino的连接方法、脑电波状态分析机器的制作方法、预报小区天气的机器制作方法等。《爱上制作》杂志创刊人Dale Dougherty也说过:“Arduino是创作项目的大脑。”

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(6)

前面介绍了“火人节”,与之类似的还有《爱上制作》杂志创办的Maker Faire活动,也是全球创客最期待、最喜欢的活动。这个活动和《爱上制作》杂志一样,有许多富有创意的有趣项目。Maker Faire的举办地比较多,主要在美国举办大的Maker Faire,在其他国家和地区举办的规模较小。据说非洲也举办过Maker Faire(虽然不是正式的),美国白宫也举办过。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(7)

在全世界创客聚集的Maker Faire上,Arduino依然是当之无愧的主角,活动中随处可见利用Arduino创作的项目。不仅如此,参加Maker Faire还能遇到开发Arduino的Massimo Banzi及其同事,Arduino团队经常会在Maker Faire上公布他们新的Arduino模型。因此,在博览会上收到全新Arduino 模型礼物也是Maker Faire上的又一乐趣。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(8)

利用Arduino制作的有趣项目

在Arduino的官方博客,我们可以看到很多利用Arduino制作的有趣项目。因为附有制作方法,所以可以据此制作一样的作品。下面介绍其中几个代表性案例。

1. 自动玩手机游戏的Arduino

这款Timberman 伐木游戏中,Arduino 会自动使用双指交替按屏幕。该项目利用了能感应光或颜色变化的光敏达林顿放大器(photodarlington)传感器,以及能在电子信号断掉后重新连接的继电器(Relay)。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(9)

2. 自行车计速器

这款自行车计速器由便当盒、可以调节角度的伺服机、能显示文字的LCD、遇到磁铁就能连接电线的簧片开关(reed switch)制作而成,在轮胎外缘挂上磁铁后,轮胎每旋转1 圈,磁铁和簧片开关就会触碰1 次,簧片开关的电线感应到连接后,以此测量自行车的速度。伺服机制作的仪表盘和LCD 上显示自行车当前速度。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(10)

3. 动画装置“费纳奇镜”

“费纳奇镜”(Phenakistoscope)动画装置指的是,在圆盘上连续作画,转动后就像动画一样形成连续动作。该项目用Arduino制作“费纳奇镜”,由旋转CD-ROM 的发动机和LED 制作而成。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(11)

4. 跟着手做动作的机器

这款机器手能够根据人的手部动作活动,由伺服机和鱼线制作而成,戴在人手上的手套由可以感应手部弯曲的弯曲传感器(Flex sensor)制成。人弯曲手指后,机器手可以通过弯曲传感器感应弯曲程度,从而随之弯曲。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(12)

Arduino必备常识

1. Arduino 利用电力运行

Arduino利用电力运行,连接Arduino的电子元器件也利用电力运行。因此,应当先了解电是如何运行的。电力和水非常相似,水往低处流,电也如此。以干电池为例,正极( )电压高,负极(-)电压低。

电子元器件:依靠电力运行的零件。传感器和执行器也是电子元器件的一种。电压:指的是电的势能差,可简单用水压比喻。假设有一个水桶,在桶底钻一个洞,水桶装满水时和只有少量水时,水流流出的速度有什么不同呢?当然是装满时能更快流出。高电压正像水桶里装着许多水一样,所以高压比低压能流出更多电力。在电压值后面用V(伏特)标识。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(13)

仔细观察Arduino板可以发现,POWER(电源)字样下方有3V3(或3.3 V),也能看到写着5 V的Header Socket(头插座)。头插座上写着3V3、5 V表示电压分别为3.3 V、5 V。像3.3 V这样带着小数点的电压的情况,通常略去小数点,而用V代替。这样标识电压的地方就像干电池正极部分一样,将其想象为电流流出的地方即可。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(14)

头插座:能够插入插针的部分,可以连接跳线。跳线的尾部分为公接头和母接头,公接头是针头,母接头是洞。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(15)

电压头插座右侧有两个写着GND的头插座,标有DIGITAL的最左侧也有GND头插座。GND以Ground(接地)表示电压为0 V,就像是干电池的负极一样,是电流的排出口。如果连接电子元器件,那么电子元器件的正极和3V3或5 V的头插座连接,负极和接地端连接即可。选择3V3或5 V均可,但常规Arduino模型常用5 V。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(16)

Arduino UND等常规Arduino模型使用的是Atmel公司出品的Atmega处理器。处理器就像是人的大脑。Atmega在5 V电压下运行,所以常规Arduino模型也在5 V电压下运行。反之也有不是Atmega的处理器,比如Arduino DUE和Arduino ZERO,这些模型使用的处理器是ARM。各位可能不知道,智能手机使用的处理器几乎都是ARM。ARM在3.3 V电压下运行,所以Arduino DUE和Arduino ZERO也在3.3 V下运行。如果电子板连接电压大于3.3 V会烧坏主板,请各位注意。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(17)

2. Arduino的眼睛、鼻子、嘴巴:传感器

人是如何看到前方、闻到气味、尝到味道的呢?因为有眼睛、鼻子和嘴巴。Arduino也和人一样,为了感知周围环境,需要有相当于眼睛、鼻子和嘴的电子元器件,这就是传感器。传感器确定周围环境相关信息后,利用电子信号告知Arduino等计算机。感知周围温度的电子元器件就是传感器的一种。

人有多种感觉器官,传感器也一样。有些传感器能够感应周围亮度,有些能够感应温度,还有的能够感应弯曲度。利用这些传感器,Arduino可以得知关于周围环境的信息。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(18)

3. Arduino的胳膊和腿:执行器

人不止要闻气味和尝味道,还要看书、运动或者唱歌。Arduino也一样,可以做出我们要求的动作。此处使用的电子元器件就是执行器。通过执行器,人们可以利用电子信号让Arduino等计算机做出需要的动作。玩具里常用的发动机也是执行器。

执行器也和传感器一样有许多种类,比如能够发光或者发声、转圈等。利用执行器可以使Arduino做出想要的某种动作。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(19)

4. 其他的重要电子元器件

除传感器和执行器外,还有许多常用的电子元器件,下面逐一进行介绍。

电阻

以后和Arduino一起最常用的电子元器件可能是电阻,它将电能转变为热能。电阻有至少4个色环标识,这些色环代表阻值。阻值越高,可以使越多电能转化为热能。阻值后面用Ω(欧姆)记号标识。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(20)

如果用水比喻电流,那电阻就是水流里的障碍物。障碍物会使水流减弱,用电阻也能使电流减弱。那为什么还要使用电阻呢?如果小孩子在水流湍急的地方玩耍,那么会出现被卷走的意外。因此,年纪小的孩子要在水势弱的地方玩耍才行。同样,电子元器件如果连接了自身无法承受的高强度电流,就会因发热而烧坏。电阻就在这样的过电流里保护电子元器件。但如果使用的电阻比需要的阻值小很多,那么就没有使用的意义。因此,应当事先确定适当的电阻。

电流:电力的流动,可以理解为像水一样的流动。电流值后面用A(安培)标识。过电流:超过额定电流的电流。

二极管

二极管是让电流单向流动的电子元器件,可以将其视为道路上的单行道标识。二极管的一边画有白线,表示负极,没有白线的一边是正极。因此,要对准位置连接电源和接地端。电流只从没有白线的一端流向有白线的一端。

使用二极管的原因在于,就像水会倒流一样,电也会倒流。特别是使用发动机等电子元器件时,偶尔会出现电的倒流。问题在于,这种电的倒流会烧坏Arduino或者电子元器件,此时就需要使用二极管。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(21)

倒流:表示水或电向反方向回流。

面包板

许多人使用电子元器件时都存在误区,认为必须学会焊接。当然,为了连接特定的电子元器件,有时确实需要焊接。但不用焊接也能轻松连接电子元器件——使用面包板(bread board)。面包板上有很多插孔,直接插入跳线或者电子元器件即可。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(22)

焊接:将焊条熔化后连接电子元器件。熔化焊条时使用的是烙铁等发热机器,儿童单独使用易发生意外,请尽可能在家长帮助下操作。

面包板能连接电子元器件的原理很简单:板内在横竖方向均嵌有金属条。拆开面包板底部可以看到内部结构,同组金属条上的洞孔相互连接,一般中间的孔每5个为一组,外圈的孔以长的两行连接。这两行中,红线连接电源,蓝线连接地线,这样能连接更多。要注意的是,长面包板里的长线中间部分有可能断开,最好提前确认。

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(23)

推荐阅读

玩转Arduino必备

真的有月薪7万的程序员吗(据说99的程序员都干过这事儿)(24)

Arduino:从想象到现实(入门篇)

作者:崔在奎 李俊焃

译者:郑泽坤

本书非常适合Arduino的入门者,书中介绍了Arduino的定义和分类,制作 Arduino时的必需品及购买方法,还讲解了Arduino与PC的连接,不同传感器和执行器的实际操作,配有大量电路图,展示了Arduino的多种实现。通过多个项目示例和作者亲自制作的免费视频,读者能够更深入地理解Arduino。

文末福利

经常听程序员吐槽身边的人把自己当修电脑的,文中也说99.99%的程序员都拆过电子设备,这锅你背吗?留言跟大家分享一下吧,精选评论挑 2人送以上图书一本,截止2018.8.29。欢迎小伙伴们畅所欲言。

,