zoukankan      html  css  js  c++  java
  • 树莓派 Learning 003 --- GPIO 001 --- 点亮LED

    树莓派 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)

    这里写图片描述

  • 相关阅读:
    leetcode 673. 最长递增子序列的个数 java
    leetcode 148. 排序链表 java
    leetcode 98. 验证二叉搜索树 java
    leetcode 29. 两数相除 java
    leetcode 234. 回文链表 java
    Valid Palindrome LeetCode Java
    Single Number II LeetCode Java
    Single Number LeetCode java
    Search in Rotated Sorted Array II LeetCode Java
    Search in Rotated Sorted Array leetcode java
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928614.html
Copyright © 2011-2022 走看看