0018 树莓派电脑控制第一个led灯亮起来

这节课开始,进入树莓派硬件控制传感器的世界,感受软件和硬件结合带来的无穷魅力。

硬件入手

根据后续课程的安排,需要入手的硬件零件如下:

面包板,杜邦线,led灯,蜂鸣器,温湿度传感器,单位数码管,双位数码管

渠道推荐如下:

或者是这个:

以前面一个为例,进入之后,查找以下关键字和对应的型号:

面包板:

杜邦线:

选择“20CM公对母”

led灯:

蜂鸣器:

可以买2个备用。

温湿度传感器:

单位数码管:

双位数码管:

GPIO介绍

先来看一下树莓派主板的一些对外的接口,这是反面的情况:

这是正面的情况:

重点关注上面有40根排针,这就是树莓派用于控制外部传感器的接口,称之为GPIO

40根引脚如何进行编号呢,如果按照物理位置来编号,只要掌握一个规则就容易记住:

最靠近角上的那一根引脚为2号引脚。旁边的就是1号引脚,具体请看上图示意图。

那么这40根引脚具体的用途和定义是什么呢,请看下面的图:

这个图是一个比较全面的一个定义,主要是因为对于这40根引脚有不同的编号规则来定义

虽然不同的规则叫的名字不一样,但实际的用途是一致的

这里只学习一种编号规则,也就是物理位置编号,这样更容易进行物理连接。

请看下面这张简图:

比如:1号引脚,是输出1个3.3伏的电压,也就是如果你拿一个数字万用表去测量这根引脚的电压,会一直测出来是3.3伏。

比如:2号引脚,是输出1个5伏的电压,也就是如果你拿一个数字万用表去测量这根引脚的电压,会一直测出来是5伏。

比如:6号引脚,是一个GND,也就是接地,如果测量电压的话,就是0伏。

比如:11号引脚,是绿色图标,旁边写着GPIO17,其实这个接口就是普通的接口,可以输入也可以输出,如果设置为输出,则可以输出高电压或者低电压。输出高电压就是3.3伏,输出低电压就是0伏。可以通过程序来控制。GPIO17是另外一种编号方式而已,这里我们可以忽略。

假如需要一个恒定的电压输出到某个电路,则可以选择3.3v或者5v的相应接口。

假如需要一个变化的电压输出到某个电路,则可以选择绿色的GPIO接口,例如11号,12号,13号,15号等等。

led灯电路原理

学过物理的话,应该可以看懂下面的最简单的电路图:

要让led灯亮起来,需要在led灯的正极输入一个正的电压,led灯的负极接地,这样led灯就可以亮起来了。

根据前面的GPIO接口的定义,选择6号口GND连接到led灯的负极,然后选择11号口连接到led灯的正极

这样,通过程序控制11号口,输出一个3.3伏的电压,led灯就亮了,输出一个0伏电压,led灯就灭了。

硬件连接

在开始连接硬件电路之前,首先要做的事是将树莓派电脑关机,并断开电源。

因为如果树莓派主板带电的时候,进行插接电路可能会导致电子元器件的烧毁,所以一定要记住这个原则:

连接电路的时候主板必须断电。

取出面包板,2根20cm的公对母杜邦线,1个led灯。

将杜邦线的母头插到树莓派主板的GPIO接口的6号口和11号口:

将杜邦线另外一头的公头插入面包板上:

将led灯的长脚插入11号口线的同一纵排,将led灯的短脚插入6号口线的同一纵排:

插好之后的样子:

这样插好之后,全部的电路就连接好了。

这里大家可以自行去网上搜索一下关于面包板的电路图,看看为何这样就可以把线和led灯连接起来了。

看看整体连接的效果:

然后,检查一下电路的接口是否有错误,正确无误之后就可以启动树莓派电脑的电源了:

程序编写

电脑启动之后,可以编写程序了:

启动文本编辑器,输入以下代码,文件保存为led.py

程序执行

保存文件之后,运行sudo python led.py看看led灯是否亮了3秒钟之后熄灭。

如果灯不亮,则按照以下次序进行检查判断:

1.首先查看树莓派主板上的引脚口的编号

是否是11号口,接到面包板上的是对着led灯的长脚

是否是6号口,接到面包板上的是对着led灯的短脚

2.如果接线没有错误,则有可能是led灯坏了

可以采取换一个led灯试试看

或者将11号口的杜邦线的母头拔出来,插入到1号口,看看led灯是否亮,如果亮了则说明灯和线没有问题。

3.如果电路都没有问题,则可能是程序错误

逐行检查代码,看看是否有遗漏或者错误。

4.如果以上都不能让灯亮起来,那只能去qq群里直接提问了。

看看程序执行结果:

程序每行说明

import RPi.GPIO as GPIO

导入模块RPI.GPIO,命名为别名为GPIO

如果只写import RPi.GPIO也是可以的,但是后面用的地方就必须用RPi.GPIO.setmode(RPi.GPIO.BOARD)这样写齐全

用别名的方式可以简化代码

import time

导入time模块

GPIO.setmode(GPIO.BOARD)

声明GPIO使用物理编号方式,也就是11号口就是物理编号11号口

GPIO.setup(11,GPIO.OUT)

声明11号口是用于输出模式

为何6号口不用声明呢,因为它是GND,不可能变化,也就不可能输入和输出

GPIO.output(11,True)

设置11号口为高电压,也就是11号口变为3.3伏

这行代码执行之后,11号口变为高电压,那么根据电路原理,led灯就会亮起来

如果后面没有代码了,则led灯会一直亮下去,直到程序修改了输出或者电脑接口断电

time.sleep(3)

程序休眠3秒钟

程序休眠期间,led灯会一直亮着

GPIO.output(11,False)

设置11号口为低电压,也就是11号口变为0伏,和GND一样

这行代码执行之后,11号口变为低电压,那么根据电路原理,led灯就会熄灭

GPIO.cleanup()

将所有的GPIO口状态恢复为初始化,一般代码结束都执行此代码,方便后续代码运行都是从初始状态开始。

程序整体的功能很简单:

导入必须的模块

设置GPIO的编号模式

设置需要用到的GPIO接口的模式

控制GPIO口的电压状态

结合时间模块运行出自己想要的结果

大家要根据以上基本的代码以及说明,思考如何修改程序,改变运行功能

课后作业

1.将休眠时间修改为10秒

2.增加8根线和4个led灯,5个led灯依次亮3秒,循环10次结束

往期教程

因为教程是系列教程,前后关联性非常强,请大家按照_|_微_|_信_|_公_|_众_|_号_|_【零基础学编程】的历史消息发布时间先后次序进行阅读。

Q_Q_群简介

欢迎大家加入Q_Q_群 603559164 零基础学编程,交流学习,共同进步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容