树莓派 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.GPIO 和 time 模块。其中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)
树莓派 Learning 003 --- GPIO 001 --- 点亮LED的更多相关文章
- 树莓派 Learning 003 --- GPIO 000 --- GPIO引脚图
树莓派 Learning 003 - GPIO 000 - GPIO引脚图 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 Raspberr ...
- 【蓝牙低功耗BLE】控制GPIO来点亮LED
这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...
- [IOT] - 使用 .Net Core 操作 GPIO 引脚点亮 LED 灯泡
1. 在 VS 2019 中创建 .Net Core 控制台应用程序,使用 Nuget 安装程序包: System.Device.GpioIot.Device.Bindings 2. 更新 Main ...
- 树莓派GPIO控制RGB彩色LED灯
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...
- 树莓派点亮LED灯需要几行代码?3行。小孩子都能学会
目录 点亮LED灯 硬件连接 代码 闪烁的LED灯 呼吸灯 其他 点亮LED灯 硬件连接 找一个LED灯,连接如上图,注意长短引脚,经过这些年的狂轰乱炸,大家对于这个应该不漠视,毕竟Arduino都进 ...
- 第11章 GPIO输出—使用固件库点亮LED
第11章 GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...
- 第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列
第11章 GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...
- GPIO 输出—使用固件库点亮 LED
编程要点 1. 使能 GPIO 端口时钟: 2. 初始化 GPIO 目标引脚为推挽输出模式: 3. 编写简单测试程序,控制 GPIO 引脚输出高.低电平. LED的电路图 过程: 1.拷贝一个库函 ...
- 使用寄存器点亮LED(第1节)—GPIO功能框图讲解
GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚, STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯.控制以及数据采集的功能.STM32 ...
随机推荐
- python开发环境必备之vim配置
俗话说:工欲善其事,必先利其器.最近使用python,习惯了liunx和vim,打算将vim作为python开发工具,下面就配置vim,以让它成为python开发的利器,增强我们的开发体验!废话少说, ...
- nginx日志配置,以及日志轮询
一.为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置 err_l ...
- CustomizaitonSpec Clone_VM
克隆虚拟机可以加上CustomizationSpec来自动配置好:IP地址.DNS.Domain等信息 1.可以利用PyVmimo中的vim模块在python中完全自定义CustomizationSp ...
- 使用 sqoop 将mysql数据导入到hive表(import)
Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...
- Buffer类的详解(转)
Buffer 类是 java.nio 的构造基础.一个 Buffer 对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里,数据可被存储并在之后用于检索.缓冲区可以被写满或释放.对于 ...
- poj3352 边-双联通分量
题意:给一个无向图,问最少加几条边变成边-双联通 题解:求一次双联通,缩点,这样就变成了一棵树,结果就是(树上的叶子节点+1)/2,叶子节点可以通过入度判断 #include<map> # ...
- WCF寄宿(Host)之自我寄宿(Self-Hosting)简单实例【Console应用为宿主】
前言: 由于最近的项目 中需要用到WCF,所以又回头翻了翻,阅读了大量园中大神的博文,故而做个总结. 谬误之处,万望不吝指教! 闲话不叙! 一.寄宿(Host)WCF服务 1)一种是为一组WCF服务 ...
- Selenium-免登录的实现
场景: 经常会遇到登录需要验证码这样类似的情况 解决方案: 1.万能验证码 2.利用cookies来实现,问开发哪个cookies值是登录后需要的,把这个值带上即可 3.利用火狐浏览器的profile ...
- JavaUtil_01_MD5加密
一.百度翻译MD5工具类 昨天做java微信开发,引用百度翻译API给公众号添加翻译功能时,需要使用MD5生成签名.注意,使用MD5生成签名后一定要转成小写,不然百度翻译后台不会认你这个签名的,会报无 ...
- opensource mcu
1 OpenVCS - Open Source Video Conferencing Server it is used as Multipoint Control Unit (MCU) manage ...