上一节我们讲了树莓派可以通过输入输出(i/o)来与现实世界进行沟通。今天我们实际操作一下,通过树莓派的gpio来控制发光二极管,体验计算机如何通过程序来控制实际的电路。
需要的材料
要完成本节的实验,需要准备如下的电子原件:
一个发光二极管,颜色不限一个500-2k欧姆的电阻。我使用的是1k欧姆的电阻。两条跳线面包板(可选,没有面包板,需要把元器件直接连接,容易出问题)树莓派gpio扩展组件(可选)下面我们来逐个介绍一f下这些原器件,已经知道的同学可以跳过。
发光二极管
是二极管的一种,二极管的主要特性是整流,既电流只能正向流过,反方向会被阻断。发光二极管也叫led,当电流正向流过时可以发光,有很多颜色可选,主要用途是标识电路的工作状态,最常见的是各种电器电源指示灯,表示现在电器已经通电正在工作中。在电路中二极管的符号如下
电阻
顾名思义,电阻主要是阻挡电流通过,控制电路中电流的大小。用欧姆(符号是ω)来表示电阻大小,今天我们使用的1k欧姆电阻可以帮助保护树莓派,发光二极管正向电阻基本为0,如果没有电阻保护,二极管发光时的电流过大,会烧毁树莓派。电阻的符号有如下2种:
面包板
是用于实验和设计电路的特别好的工具,它上面有很多小插孔,可以插入各种电子元件,非常适合进行电路调试和设计。
面包板上下标有+,-符号的是电源区,每行是相通的,用来连接外部的电源,通常用上面的+连接外部电源正极,下面的-连接电源负极。中间部分标有abcd...的是元件区,abcde是竖着相通的,下面的fghij也是竖着相通的。
跳线
跳线是用来连接不同元件的,有公对公,公对母,母对母三种。
如果不用面包板,用跳线直接连gpio时,跳线的一端必须是母头,以插到gpio的引脚上,我们使用面包板和gpio扩展,所以使用的公对公跳线。
树莓派gpio扩展组件
直接让元器件直连gpio虽然可行,但容易出现短路,连接不牢等问题,所以最好使用扩展组件+面包板的组合,这样搭起电路来更方便。市场上的gpio扩展组件比较多,我使用的是一个扩展电路板+扩展排线的方式。下图中扩展电路板已经与排线连好了。
好,现在我们的全部元器件都准备好了。
现在我们按下面的电路把这些元器件连起来
引脚1是3.3v的电源,gnd可以连接gpio的引脚6或者14等(标识为gnd的引脚都可以)。
这时给树莓派通电开机,连接电路后可以看到二极管亮起来。这样做的目的是确保电路连接正常,方便接下来的程序控制。
接下来我们把连接电源的跳线(上图为红色线)换到gpio27(第12号引脚),led灯熄灭了,因为gpio默认为输入,现在是低电压,没法让灯亮起来。
控制led的python程序
现在让我们开始编写代码来控制连接到gpio27的led电路吧。代码如下:
import rpi.gpio as gpio #需要使用别人写好的类库from time import sleep #需要使用别人写好的类库gpio.setmode(gpio.bcm)gpio.setup(27,gpio.out) #这2句把gpio27设置为输出模式while true: gpio.output(27,true) #在gpio输出高电位1,此时led亮 sleep(1) #等1秒 gpio.output(27,false) #在gpio输出低电位0,此时led灭 sleep(1) #等待1秒用上面的程序,可以让led亮1秒暗1秒,直到程序退出。如果你连接的不是gpio27,请把上面代码的27换成你实际连接的gpio编号。(你也可以尝试修改sleep的时间,比如改为0.2, 3等来试一下不同的led闪烁效果)
现在我们体会到了用程序和gpio控制实际电路是怎么回事了,你可能对上面的python代码还不了解,下一讲我们将对此进行详细讲解,同时换另一种更简介的代码来控制led。
PCI总线底视图汇总
余承东称华为处于非常艰难时刻
振荡电路的工作原理和振荡条件
接口电路厂商:深圳市和芯润德科技有限公司简介
浅谈三星OLED背后的技术创新
用树莓派控制发光二极管
低功耗精密数据采集信号链,适用于空间受限的应用
安盟信息法院信息系统勒索病毒防护方案
Tesla 超级充电站将大幅升级,充电时间缩短到5-10分钟
机器视觉的四大应用_机器视觉的基本原理
JFET级联实现恒定精确电流源的方法
采用MC13192的无线传感器网络节点设计方案
5G网络和5G频段有什么区别
HTC公布Vive配件价格,售价为99.99美元
OPPO_R11的上市引发OPPO售卖大危机?凡是卖出一台,罚款500元!
日本将应用人工智能技术分析数据来缓解城市交通拥堵
关于微信公众号迁移公证书办理的详细指南
GlobalFoundries纽约 IBM厂4.3亿美元出售给安森美半导体
31省养老金方案出炉!贫富差距又一步拉大,京沪等沿海地月均超3000元,四川最低
中国最牛的EDA厂商是哪一家