Cài đặt thư viện RPi GPIO Python

Chúng tôi sẽ sử dụng RPi. Mô-đun GPIO là động lực đằng sau các ví dụ Python của chúng tôi. Tập hợp các tệp và nguồn Python này được bao gồm trong Raspbian, vì vậy, giả sử bạn đang chạy bản phân phối Linux phổ biến nhất đó, bạn không cần tải xuống bất kỳ thứ gì để bắt đầu

Trên trang này, chúng tôi sẽ cung cấp tổng quan về các lệnh gọi hàm cơ bản mà bạn có thể thực hiện bằng cách sử dụng mô-đun này

Công cụ thiết lập

Để chúng tôi RPi. GPIO trong suốt phần còn lại của tập lệnh Python của bạn, bạn cần đặt câu lệnh này ở đầu tệp của mình

language:Python
import RPi.GPIO as GPIO

Tuyên bố đó "bao gồm" RPi. mô-đun GPIO và tiến thêm một bước bằng cách cung cấp tên cục bộ --

language:Python
GPIO.setmode[GPIO.BCM]
0 -- mà chúng tôi sẽ gọi để tham chiếu mô-đun từ đây trở đi

Tuyên bố đánh số pin

Sau khi bạn đã bao gồm RPi. GPIO, bước tiếp theo là xác định bạn muốn sử dụng sơ đồ nào trong hai sơ đồ đánh số pin

  1. language:Python
    GPIO.setmode[GPIO.BCM]
    
    1 -- Sơ đồ đánh số bảng. Số pin theo số pin trên tiêu đề P1
  2. language:Python
    GPIO.setmode[GPIO.BCM]
    
    2 -- Số pin dành riêng cho chip Broadcom. Các số pin này tuân theo hệ thống đánh số cấp thấp hơn được xác định bởi bộ não chip Broadcom của Raspberry Pi

Nếu bạn đang sử dụng Pi Wedge, chúng tôi khuyên bạn nên sử dụng định nghĩa

language:Python
GPIO.setmode[GPIO.BCM]
2 -- đó là những con số được in lụa trên PCB.
language:Python
GPIO.setmode[GPIO.BCM]
1 có thể dễ dàng hơn nếu bạn đấu dây trực tiếp vào tiêu đề

Để chỉ định trong mã của bạn hệ thống số nào đang được sử dụng, hãy sử dụng hàm

language:Python
GPIO.setmode[GPIO.BCM]
5. Ví dụ

language:Python
GPIO.setmode[GPIO.BCM]

sẽ kích hoạt số pin cụ thể của chip Broadcom

Cần có cả hai dòng mã

language:Python
GPIO.setmode[GPIO.BCM]
6 và
language:Python
GPIO.setmode[GPIO.BCM]
7 nếu bạn muốn sử dụng Python

Đặt chế độ ghim

Nếu bạn đã sử dụng Arduino, có lẽ bạn đã quen thuộc với thực tế là bạn phải khai báo một "pin mode" trước khi có thể sử dụng nó làm đầu vào hoặc đầu ra. Để đặt chế độ ghim, hãy sử dụng chức năng

language:Python
GPIO.setmode[GPIO.BCM]
8. Vì vậy, nếu bạn muốn đặt chân 18 làm đầu ra, chẳng hạn, hãy viết

language:Python
GPIO.setup[18, GPIO.OUT]

Hãy nhớ rằng số pin sẽ thay đổi nếu bạn đang sử dụng hệ thống đánh số bảng [thay vì 18, nó sẽ là 12]

đầu ra

Đầu ra kỹ thuật số

Để ghi pin cao hoặc thấp, hãy sử dụng hàm

language:Python
GPIO.setmode[GPIO.BCM]
9. Ví dụ: nếu bạn muốn đặt chân 18 ở mức cao, hãy viết

language:Python
GPIO.output[18, GPIO.HIGH]

Ghi mã pin vào

language:Python
GPIO.setup[18, GPIO.OUT]
0 sẽ đẩy nó lên 3. 3V và
language:Python
GPIO.setup[18, GPIO.OUT]
1 sẽ đặt thành 0V. Đối với những người lười biếng, thay thế cho
language:Python
GPIO.setup[18, GPIO.OUT]
0 và
language:Python
GPIO.setup[18, GPIO.OUT]
1, bạn có thể sử dụng
language:Python
GPIO.setup[18, GPIO.OUT]
4,
language:Python
GPIO.setup[18, GPIO.OUT]
5,
language:Python
GPIO.setup[18, GPIO.OUT]
6 hoặc
language:Python
GPIO.setup[18, GPIO.OUT]
7 để đặt giá trị pin

Đầu ra PWM ["Tương tự"]

PWM trên Raspberry Pi ở mức giới hạn nhất có thể - một, một chân duy nhất có khả năng đó. 18 [tôi. e. chân bảng 12]

Để khởi tạo PWM, sử dụng chức năng

language:Python
GPIO.setup[18, GPIO.OUT]
8. Để làm cho phần còn lại của việc viết kịch bản của bạn dễ dàng hơn, bạn có thể gán thể hiện đó cho một biến. Sau đó sử dụng hàm
language:Python
GPIO.setup[18, GPIO.OUT]
9 để đặt giá trị ban đầu. Ví dụ

language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]

sẽ thiết lập chân PWM của chúng tôi với tần số 1kHz và đặt đầu ra đó thành chu kỳ nhiệm vụ 50%

Để điều chỉnh giá trị của đầu ra PWM, hãy sử dụng chức năng

language:Python
GPIO.output[18, GPIO.HIGH]
0.
language:Python
GPIO.output[18, GPIO.HIGH]
1 có thể là bất kỳ giá trị nào trong khoảng từ 0 [i. e 0%/THẤP] và 100 [tức là. e 100%/CAO]. Vì vậy, để đặt mã pin thành 75%, chẳng hạn, bạn có thể viết

language:Python
pwm.ChangeDutyCycle[75]

Để tắt PWM trên chân đó, hãy sử dụng lệnh

language:Python
GPIO.output[18, GPIO.HIGH]
2

Đủ đơn giản. Chỉ cần đừng quên đặt chân làm đầu ra trước khi bạn sử dụng nó cho PWM

đầu vào

Nếu một chân được định cấu hình làm đầu vào, bạn có thể sử dụng hàm

language:Python
GPIO.output[18, GPIO.HIGH]
3 để đọc giá trị của nó. Hàm
language:Python
GPIO.output[18, GPIO.HIGH]
4 sẽ trả về một trong hai giá trị là
language:Python
GPIO.setup[18, GPIO.OUT]
5 hoặc
language:Python
GPIO.setup[18, GPIO.OUT]
7 cho biết chân ở mức CAO hay THẤP. Bạn có thể sử dụng một câu lệnh
language:Python
GPIO.output[18, GPIO.HIGH]
7 để kiểm tra điều này, ví dụ

language:Python
if GPIO.input[17]:
    print["Pin 11 is HIGH"]
else:
    print["Pin 11 is LOW"]

sẽ đọc chân 17 và in xem nó đang được đọc ở mức CAO hay THẤP

Điện trở kéo lên/xuống

Hãy nhớ lại chức năng

language:Python
GPIO.output[18, GPIO.HIGH]
8 nơi chúng tôi đã khai báo liệu một chân là đầu vào hay đầu ra? . Để sử dụng điện trở kéo lên trên chân cắm, hãy thêm
language:Python
GPIO.output[18, GPIO.HIGH]
9 làm tham số thứ ba trong
language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
0. Hoặc, nếu bạn cần một điện trở kéo xuống, thay vào đó hãy sử dụng
language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
1

Ví dụ: để sử dụng điện trở kéo lên trên GPIO 17, hãy viết phần này vào phần thiết lập của bạn

language:Python
GPIO.setup[17, GPIO.IN, pull_up_down=GPIO.PUD_UP]

Nếu không có gì được khai báo trong giá trị thứ ba đó, cả hai điện trở kéo sẽ bị vô hiệu hóa

Vân vân

Sự chậm trễ

Nếu bạn cần làm chậm tập lệnh Python của mình, bạn có thể thêm độ trễ. Để kết hợp sự chậm trễ vào tập lệnh của bạn, bạn sẽ cần bao gồm một mô-đun khác.

language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
2. Dòng này, ở đầu kịch bản của bạn, sẽ làm điều đó cho bạn

language:Python
import time

Sau đó, trong suốt phần còn lại của tập lệnh, bạn có thể sử dụng

language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
3 để tạm dừng tập lệnh của mình. Bạn có thể sử dụng số thập phân để đặt chính xác độ trễ của mình. Ví dụ: để trì hoãn 250 mili giây, hãy viết

language:Python
time.sleep[0.25]

Mô-đun thời gian bao gồm tất cả các loại chức năng hữu ích, ngoài

language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
4. Xem tham khảo tại đây

thu gom rác

Khi tập lệnh của bạn đã chạy theo lộ trình của nó, hãy tử tế với quy trình tiếp theo có thể sử dụng GPIO của bạn bằng cách tự dọn dẹp. Sử dụng lệnh

language:Python
pwm = GPIO.PWM[18, 1000]
pwm.start[50]
5 ở cuối tập lệnh của bạn để giải phóng bất kỳ tài nguyên nào mà tập lệnh của bạn có thể đang sử dụng

Pi của bạn sẽ tồn tại nếu bạn quên thêm lệnh này, nhưng bạn nên thêm lệnh này vào bất cứ nơi nào bạn có thể

Làm cách nào để sử dụng RPi GPIO Python?

Cách đặt đầu ra – mã Python đầy đủ .
nhập RPi. GPIO dưới dạng GPIO # nhập RPi. mô-đun GPIO
GPIO. chế độ thiết lập [GPIO. BCM] # chọn BCM hoặc BAN
GPIO. thiết lập [port_or_pin, GPIO. OUT] # đặt cổng/chân làm đầu ra
GPIO. đầu ra [port_or_pin, 1] # đặt giá trị cổng/pin thành 1/GPIO. CAO/Đúng

RPi GPIO có phải là thư viện không?

RPI. Thư viện GPIO là một thư viện khác chỉ dành cho Python . Nó cung cấp các tương tác cơ bản với các chân GPIO, nhưng chưa triển khai bất kỳ giao thức kết nối nào. Các tệp python của dự án có thể được tải xuống từ Pypi. org, trang chủ của dự án được lưu trữ trên Scourceforge.

Thư viện Python nào được sử dụng cho GPIO?

Thư viện GPIO . Nếu bạn viết mã bằng Python, RPi. Thư viện GPIO Python [đi kèm với Raspbian] cho phép bạn định cấu hình, đọc và ghi vào các chân GPIO.

RPi GPIO có được cài đặt theo mặc định không?

GPIO Zero được cài đặt theo mặc định trong hình ảnh máy tính để bàn Raspberry Pi OS và hình ảnh Máy tính để bàn Raspberry Pi cho PC/Mac, cả hai đều có sẵn từ raspberrypi. tổ chức.

Chủ Đề