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

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