python3操作RaspberryPi的GPIO

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。按引脚接到树莓派上。
这里写图片描述

代码

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
天猫上找来的图
热释电红外传感器HC-SR501

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章