python3操作RaspberryPi的GPIO
程序员文章站
2022-04-01 18:32:59
...
python3操作RaspberryPi的GPIO
使用python3的RPi.GPIO库操作RaspberryPi的GPIO
基础环境
- 树莓派B,26引脚
- Python3 的 RPi.GPIO库
树莓派的引脚图
GPIO编号有两种编号模式(BOARD)和(BCM)
本文用的是BCM模式,编号图在这里
RPi.GPIO库
RPi.GPIO有python2.7和python3.5版本。
树莓派中应该有预装,但是如果没有装,也可以自己装。
两种方式:
1.apt-get
sudo apt-get update
sudo apt-get install python3-rpi.gpio
# pyhton2 : sudo apt-get install python-rpi.gpio
2.下载源文件(下载地址)
tar zxvf RPi.GPIO-0.6.3.tar.gz
cd RPi.GPIO-0.6.3
sudo apt-get install python3-dev
sudo python3 setup.py install
# python2: python3 替换成 python
让程序跑起来吧
本文用的是震动传感器,一共三个接口DO,GND,VCC。按引脚接到树莓派上。
代码
import RPi.GPIO as GPIO
pin = 4 ## 使用4号引脚
GPIO.setmode(GPIO.BCM) ## 使用BCM引脚编号,此外还有 GPIO.BOARD
GPIO.setup(pin, GPIO.OUT) ## 设置4号引脚输入
while 1: ## 重复
if GPIO.input(pin) == 1 : ## 如果有震动,会输出高电平 用input读取数据
print("somebody passed")
## 理论上应该加上sleep,不然会连续响应太多次
# GPIO.output(channel, state) 从引脚输出
# GPIO.output(7, True) 输出高电平
# or GPIO.output(7, GPIO.HIGH)
# or GPIO.output(7, 1)
# GPIO.output(7, False) 输出低电平
# or GPIO.output(7, GPIO.LOW)
# or GPIO.output(7, 0)
GPIO.cleanup() ## 清除
读取DHT11温湿度传感器数据
参考
树莓派从 DHT11 温度湿度传感器读取数据
直接用python读取,时序操作比较麻烦,没成功
使用 Adafruit 读取 DHT11 温湿度传感器
基本参照这一篇,就是安装的时候pip
没有安装,报了点小错。
热释电红外传感器 HC-SR501
天猫上找来的图
上一篇: CSL的神奇序列
下一篇: 第3章 ARM GPIO