RPI.GPIO使用手册
来源:互联网 发布:c语言猜数游戏 编辑:程序博客网 时间:2024/05/21 14:07
RPI.GPIO教程
1. 导入模块
import RPi.GPIO as GPIO
通过下面的代码可以检测导入是否成功
try: import RPi.GPIO as GPIOexcept RuntimeError: print("Error importing RPi.GPIO! This is probably because you need superuser privileges. You can achieve this by using 'sudo' to run your script")
基本操作
RPi.GPIO中有两种引脚的编号方式。第一个是使用电路板编号系统。这指的是在树莓派电路板上P1开头的。使用这个编号系统的优势是,您的硬件将总是工作,不管电路板是哪个版本的。你不需要重新修改代码。
第二个编号系统是BCM数字。这是一个低水平的工作方式,它指的是电路板引脚的位置号。电路板版本变化时脚本程序需要对应修改。
指定编号方式:
GPIO.setmode(GPIO.BOARD) # orGPIO.setmode(GPIO.BCM)
查询使用的哪种编号方法:
mode = GPIO.getmode()#输出: GPIO.BOARD, GPIO.BCM or None
3.设置通道
设为输入:
GPIO.setup(channel, GPIO.IN)#chanel与使用的编号方式对应
设为输出:
GPIO.setup(channel, GPIO.OUT)GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
设置多个通道
chan_list = [11,12] # add as many channels as you want!GPIO.setup(chan_list, GPIO.OUT)
读取一个GPIO口的值
GPIO.input(channel)#返回:0 / GPIO.LOW / False or 1 / GPIO.HIGH / True.
设置一个GPIO口的输出值
GPIO.output(channel, state)#State 可以是 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True.
设置多个通道的输出
chan_list = [11,12] # also works with tuplesGPIO.output(chan_list, GPIO.LOW) # sets all to GPIO.LOWGPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW))# sets first HIGH and second LOW
清空
GPIO.cleanup()
如果想清理特定的通道
GPIO.cleanup(channel)GPIO.cleanup( (channel1, channel2) )GPIO.cleanup( [channel1, channel2] )
上拉或者下拉电阻
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP) # orGPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
中断与边沿检测
为了避免您的程序在忙于处理其它的事物时而错过了您按下按钮的操作,这里有两种方法可以解决:wait_for_edge() 函数event_detected() 函数在检测到边缘时执行线程回调函数
PWM
创建PWM 实例
p = GPIO.PWM(channel, frequency)
启动PWM
p.start(dc) # where dc is the duty cycle (0.0 <= dc <= 100.0)
改变频率
p.ChangeFrequency(freq) # where freq is the new frequency in Hz
改变占空比
p.ChangeDutyCycle(dc) # where 0.0 <= dc <= 100.0
停止PWM
p.stop()
阅读全文
0 0
- RPI.GPIO使用手册
- RPI.GPIO使用手册
- RPI.GPIO使用手册
- 树莓派RPi.GPIO使用手册
- RPi.GPIO 模块使用基础
- Python RPi GPIO编程控制
- 【RPi树莓派使用指南】GPIO驱动方法
- RPi.GPIO 官方使用文档翻译
- Raspberry Pi Blink(Python RPi.GPIO)
- 树莓派瞎玩~7~RPi.GPIOのWIKI文档
- 在树莓派上用Python Rpi.GPIO调试液晶模块
- rpi
- 树莓派学习笔记——RPi.GPIO 流水灯
- 使用 RPi.GPIO 模块的输入(Input)功能
- 使用 RPi.GPIO 模块的输出(Output)功能
- 使用 RPi.GPIO 模块的脉宽调制(PWM)功能
- 树梅派应用10:RPi.GPIO 模块使用基础
- 使用 RPI.GPIO 模块的脉宽调制(PWM)功能
- Java的JVM GC(Garbage Collection)垃圾回收原理机制及算法
- mac安装ns3仿真平台
- 进程同步(操作系统)
- JSON.parse()和JSON.stringify()
- Java多线程系列(五)—LockSupport源码分析
- RPI.GPIO使用手册
- JADE学习笔记4:Agent通信
- 深度学习网络模型可视化
- html无法显示中文名图片,改为英文就可以显示,解决方案
- 论文实践学习
- 什么是频谱
- Jmeter连接MySql
- 【入门教程】SequoiaDB+Postgresql数据实时检索最佳实践
- Window 浏览器窗口对象