欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3操作RaspberryPi的GPIO

程序员文章站 2022-04-01 18:32:59
...

python3操作RaspberryPi的GPIO

使用python3的RPi.GPIO库操作RaspberryPi的GPIO

基础环境

  1. 树莓派B,26引脚
  2. 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。按引脚接到树莓派上。
python3操作RaspberryPi的GPIO

代码

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
天猫上找来的图
python3操作RaspberryPi的GPIO
python3操作RaspberryPi的GPIO

相关标签: raspberrypi GPIO