物联网是未来的一个趋势,未来的世界万物皆联网,我们在网上就可以控制现实世界的电子产品,为了培养青少年提前适应这个趋势,树莓派设计了丰富的物联网相关功能,比如我们可以通过树莓派的GPIO口来控制传感器的引脚、电机与舵机,与物理世界的电子产品进行通信。
截至目前,我们学习的Scratch只是在编写软件、完成趣味游戏等任务。接下来,我们学习如何通过编写Scratch软件来改变物理世界。
在第1章中我们学习到,在树莓派的右上方有两排各20根引脚的GPIO端口,这40根针就是树莓派与物理世界通信的接口,我们可以使用GPIO连接发光二极管,并使其发光。GPIO的全称为General Purpose Input and Output,这个名字听上去让人有点困惑,但是很好地描述了它的用途,就是通用输入输出接口,它的功能非常丰富,如何使用这些功能以及基于这些功能进行二次开发是我们应该关注的重点。
GPIO接头由40根公引脚组成,这些引脚各有各的功能,如图2-35和表2-2所示。
图2-35 GPIO引脚
表2-2 各个引脚的功能
当我们开始涉及硬件电路的时候,需要格外注意保护树莓派。拔插的时候要轻拿轻拔,不要弯曲或者扯断引脚;另外,千万不可以将引脚弯曲,甚至相互之间触碰,这样有可能造成短路,永久损坏树莓派。
既然我们已经了解了GPIO的功能,接下来试试看如何使用这个端口来控制目标电路。首先我们来熟悉一些常用的电子元器件,这些元器件有些是连接器,有些有着特定的功能,我们先来了解这些基本的知识,为接下来的实验打好基础。
面包板也称为无焊接面包板(见图2-36),是我们进行物理和电子实验的好帮手,由于其内部集成了走线,从而避免了复杂实验时杂乱无章的飞线。面包上的针脚孔可以轻松地搭配众多带针脚的传感器使用,许多传感器和面包板都包含配电的部分,使得包含面包板的电路实验设计变得更加容易。一句话总结一下,我们做实验并非一定要用到面包板,但是有一个面包板可以使我们事半功倍。
图2-36 面包板
面包板有以下几个特性:
(1)左右两侧为正负极。正负极下方各有各的金属片,竖排相连。
(2)中间两侧为通用端口,左侧和右侧不相同。
(3)中间两侧的针孔下方横向相连。
举个例子,A1~E1是相连接的,F1~J1是相连接的,但是E1和F1是不通的。树莓派的5V或者3V3只要接到+级的任何一个孔,整个+级的竖排都会存在相应电压的供电,树莓派的GND接-级。
跳线也称为飞线,是构成电路的基本组成部分,使用这些跳线可以将各种元器件连接在一起。跳线主要分为3种:公对公、公对母和母对母。顾名思义,公对公就是两种都是凸起状的,可以插入母口中,树莓派上的GPIO针脚就是公口。母口则是用来包裹住公口的。
开关在日常生活中非常常见,我们每天都要开关灯、电脑,打开/关闭各种电器。不知道大家发现没有,简单开关一般分为两种,一种是我们开灯的开关,一般按下去之后就保持接通状态,任何时候观察它都是接通状态,需要断开的时候再按上来即可;还有一种开关(比如笔记本电脑或者手机开关),当我们按下去开机之后,电源保持在联通状态,再按一次之后,会变成关闭状态。这两种开关遇到的时候要注意区分。
发光二极管是常见的一种灯光装置,遍布在我们生活的各个角落,如笔记本电源灯、充电宝电量灯、电视机和电冰箱的指示灯等,有些高功率LED甚至可以当作阅读灯来使用,还有些汽车的前照灯也会使用到LED灯。我们在挑选LED灯进行实验的时候,一定要避免功率过大,比如5V以上的LED就不太合适。
我们在学习初中和高中物理课程时,接触最多的就是灯泡和电阻。电阻的主要作用是用来调节和控制电流,电阻的单位是欧姆(Ω)。对于一些发光二极管来说,树莓派的电压还是过大,需要加电阻来降低电流,使得电流匹配发光二极管的工作区间。电阻是物理实验的基本元器件,购买起来非常便宜,搭配和调节也非常方便。
压电蜂鸣器通常称为蜂鸣器或者发声器,跟发光二极管一样,也是一种输出设备。发光二极管可以让我们观察到光,蜂鸣器则可以观察到声音——通电后会发出“嗡嗡嗡”的噪音。这个噪音是怎么来的呢?其实非常简单,蜂鸣器内置两块金属板,通电之后会互相排斥产生振动,就发出我们听到的“嗡嗡”声。蜂鸣器一般分为两种:有源的和无源的,一般初学者选择有源的,千万别买错了。
常见的简单传感器还包括舵机、红外传感器、温度传感器、湿度传感器和光敏传感器等,这些会在本章以及后续的章节中陆续学习到。我们的树莓派机器人,本质上就是使用树莓派控制GPIO端口,驱动各种传感器来组织和协调工作的,所以学好传感器非常重要。