树莓派 Learning 003 — GPIO 001 — 点亮LED

我的树莓派型号:Raspberry Pi 2 Model B V1.1
装机系统:NOOBS v1.9.2

先按照下面这个图 连线:(对于LED,负极的那面内部的铁片很大。)

这里写图片描述

这里写图片描述

编写一个让 LED 闪烁的 Python 脚本程序

使用 nano 或者 vim (命令行)文本编辑工具来编写 python 脚本程序。你也可以使用GUI界面的编辑软件,但是我推荐你使用命令行界面里可以使用的编辑工具。
为什么? 因为如果你在你的笔记本电脑或者台式电脑上,使用像 xShell 或者 SectCRT这样的软件来登录树莓派终端时,树莓派里面的 GUI界面的软件 都是不能使用的。你只能使用 命令行里的工具。所以,我们最好适应 命令行里的文本编辑工具(就是 nano 或者 vim 文本编辑工具)。

先新建一个路径:(workspace 的意思是 工作空间。 ”pi_ws“ 就是:树莓派的工作空间。)

cd ~
mkdir workspace/pi_ws/learning_gpio
cd workspace/pi_ws/learning_gpio

使用 nano (命令行)文本编辑工具,新建一个python 脚本文件:blinkled.py

nano blinkled.py

将下面的代码手动输入到blinkled.py 里面:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)

while True:
    GPIO.output(25, GPIO.HIGH)
    time.sleep(0.5)
    GPIO.output(25, GPIO.LOW)
    time.sleep(0.5)

Ctrl + O 保存文件,然后按 Enter回车键 退出 nano工具。

执行下面的命令,来给 blinkled.py 脚本文件加上 可执行 权限:

sudo chmod +x blinkled.py

运行这个python脚本:

python blinkled.py

LED正常的闪烁。

有的时候你可能会得到下面的警告:(LED还是可以正常闪烁)

blinkled.py:5: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(25, GPIO.OUT)

你可以忽略这个警告。

讲解 blinkled.py 代码

我下面只讲解重点的代码:

import RPi.GPIO as GPIO
import time

导入 RPi.GPIOtime 模块。其中as GPIO 指的是:用 GPIO 来表示 RPi.GPIO

GPIO.setmode(GPIO.BCM)

树莓派的GPIO的命名方式一共有两种:

命名方式 说明
RPi.GPIO.BCM CPU对应的引脚的索引号(下图中的GPIOxx) 命名树莓派的引脚
RPi.GPIO.BOARD 树莓派板子上引脚的索引号(下图中的Pin No.) 命名树莓派的引脚

这里写图片描述

    time.sleep(0.5)

延时0.5秒。 ”0.5“ 是:0.5秒。

Python 交互式终端中控制 LED 点亮和熄灭

终端 中直接输入:python命令,进入python交互式界面:

pi@raspberrypi:~ $ python
Python 2.7.9 (default, Mar  8 2015, 00:52:26) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

导入 RPi.GPIO 模块。其中as GPIO 指的是:用 GPIO 来表示 RPi.GPIO

>>> import RPi.GPIO as GPIO 

查看 RPi.GPIO 模块的版本号:

>>> GPIO.VERSION
'0.6.2'

在输入点亮 LED 的命令之前,我们需要:

设置 GPIO 的命名规则:

>>> GPIO.setmode(GPIO.BCM)

设置使用的GPIO引脚 为 输出模式

>>> GPIO.setup(25, GPIO.OUT)
__main__:1: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.

如果你也会遇到我上面出现的这个警告,没有没有关系,你可以忽略这个警告。

点亮 LED,当你执行完下面这条命令后, LED 就会被点亮:

>>> GPIO.output(25, GPIO.HIGH)

熄灭 LED

>>> GPIO.output(25, GPIO.LOW)

这里写图片描述