Một tour du lịch của Raspberry Pi GPIO

01/09

Giới thiệu về Pins của Raspberry Pi

Raspberry Pi GPIO. Richard Saville

Thuật ngữ 'GPIO' (Đầu ra Mục đích Chung) không dành riêng cho Raspberry Pi. Chân đầu vào và đầu ra có thể được tìm thấy trên hầu hết các vi điều khiển như Arduino, Beaglebone và nhiều hơn nữa.

Khi chúng ta nói về GPIO với Raspberry Pi, chúng ta đang đề cập đến khối chốt dài ở góc trên cùng bên trái của bảng. Các mô hình cũ hơn có 26 chân, tuy nhiên hầu hết chúng ta sẽ sử dụng mô hình hiện tại với 40.

Bạn có thể kết nối các thành phần và các thiết bị phần cứng khác với các chân này và sử dụng mã để kiểm soát những gì chúng làm. Đó là một phần quan trọng của Raspberry Pi và là một cách tuyệt vời để học về điện tử.

Sau một vài dự án phần mềm, bạn có thể thấy mình đang thử nghiệm với những chiếc ghim này, háo hức trộn mã của bạn với phần cứng để làm cho mọi thứ xảy ra trong 'cuộc sống thực'.

Quá trình này có thể là đáng sợ nếu bạn mới đến hiện trường, và xem xét rằng một động thái sai có thể làm hỏng Raspberry Pi của bạn, nó dễ hiểu rằng đó là một khu vực thần kinh cho người mới bắt đầu khám phá.

Bài viết này sẽ giải thích từng loại pin GPIO và những hạn chế của chúng.

02/09

GPIO

Các chân GPIO được đánh số từ 1 đến 40 và có thể được nhóm theo các chức năng khác nhau. Richard Saville

Đầu tiên, chúng ta hãy xem GPIO nói chung. Các chân có thể trông giống nhau nhưng tất cả chúng đều có các chức năng khác nhau. Hình ảnh trên cho thấy các chức năng này với các màu khác nhau mà chúng tôi sẽ giải thích trong các bước sau.

Mỗi chốt được đánh số từ 1 đến 40 bắt đầu từ dưới cùng bên trái. Tuy nhiên, đây là các số pin vật lý, cũng có các quy ước đánh số / ghi nhãn như 'BCM' được sử dụng khi viết mã.

03/09

Power & Ground

Raspberry Pi cung cấp nhiều chân nguồn và chân đất. Richard Saville

Màu đỏ nổi bật, là các chân nguồn có nhãn '3' hoặc '5' cho 3.3V hoặc 5V.

Các chân này cho phép bạn gửi trực tiếp nguồn điện đến một thiết bị mà không cần bất kỳ mã nào. Không có cách nào để tắt chúng.

Có 2 đường ray nguồn - 3,3 volt và 5 volt. Theo bài viết này, đường sắt 3.3V được giới hạn ở mức 50mA hiện tại, trong khi đường ray 5V có thể cung cấp bất kỳ dung lượng hiện tại nào còn lại từ nguồn cấp điện của bạn sau khi Pi đã thực hiện những gì cần.

Nổi bật màu nâu là chân đất (GND). Những chân này chính xác là những gì họ nói - chân đất - đó là một phần quan trọng của bất kỳ dự án điện tử nào.

(Các chân 5V GPIO là các số vật lý 2 và 4. Các chân GPIO 3.3V là các số vật lý 1 và 17. Các chân GPIO mặt đất là các số vật lý 6, 9, 14, 20, 25, 30, 34 và 39)

04/09

Chân đầu vào / đầu ra

Các đầu vào và đầu ra chân cho phép bạn kết nối phần cứng như cảm biến và chuyển mạch. Richard Saville

Các chân màu xanh lá cây là những gì tôi gọi là chân vào / đầu ra 'chung'. Đây có thể dễ dàng được sử dụng như đầu vào hoặc đầu ra mà không có bất kỳ lo lắng về xung đột với các chức năng khác như I2C, SPI hoặc UART.

Đây là các chân có thể gửi nguồn tới đèn LED, bộ rung hoặc các thành phần khác hoặc được sử dụng làm đầu vào để đọc cảm biến, công tắc hoặc thiết bị đầu vào khác.

Công suất đầu ra của các chân này là 3.3V. Mỗi pin không được vượt quá 16mA dòng điện, hoặc chìm hoặc tìm nguồn cung ứng, và toàn bộ các chân GPIO không được vượt quá 50mA tại bất kỳ thời điểm nào. Điều này có thể bị hạn chế, vì vậy bạn có thể phải sáng tạo trong một số dự án nhất định.

(Các chân GPIO chung là các số vật lý 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 và 40)

05/09

Chân I2C

I2C cho phép bạn kết nối các thiết bị khác với Pi của bạn chỉ với một vài chân. Richard Saville

Trong màu vàng, chúng tôi có các chân I2C. I2C là một giao thức truyền thông trong điều kiện đơn giản cho phép các thiết bị giao tiếp với Raspberry Pi. Các chân này cũng có thể được sử dụng như các chân GPIO 'chung'.

Một ví dụ tốt về việc sử dụng I2C là chip mở rộng cổng MCP23017 rất phổ biến, có thể cung cấp cho bạn nhiều đầu vào / đầu ra hơn thông qua giao thức I2C này.

(I2C GPIO pins là số pin vật lý 3 và 5)

06/09

Chân UART (nối tiếp)

Kết nối với Pi của bạn qua kết nối nối tiếp với các chân UART. Richard Saville

Màu xám, là các chân UART. Các chân này là một giao thức truyền thông khác cung cấp kết nối nối tiếp và cũng có thể được sử dụng như đầu vào / đầu ra GPIO 'chung'.

Sử dụng yêu thích của tôi cho UART là cho phép kết nối nối tiếp từ Pi của tôi đến máy tính xách tay của tôi qua USB. Điều này có thể đạt được bằng cách sử dụng các bo mạch phụ hoặc cáp đơn giản và loại bỏ sự cần thiết phải có màn hình hoặc kết nối internet để truy cập vào Pi của bạn.

(UART GPIO chân là số pin vật lý 8 và 10)

07/09

SPI Pins

Các chân SPI - một giao thức truyền thông hữu ích khác. Richard Saville

Trong màu hồng , chúng tôi có các chân SPI. SPI là một bus giao tiếp gửi dữ liệu giữa Pi và phần cứng / thiết bị ngoại vi khác. Nó thường được sử dụng cho chuỗi các thiết bị như ma trận LED hoặc màn hình hiển thị.

Giống như những người khác, các chân này cũng có thể được sử dụng như đầu vào / đầu ra GPIO 'chung'.

(SPI GPIO pins là số pin vật lý 19, 21, 23, 24 và 26)

08/09

Chân DNC

Không có gì để xem ở đây - các chân DNC không phục vụ chức năng. Richard Saville

Cuối cùng là hai chân màu xanh lam, hiện tại, được gắn nhãn là DNC viết tắt của 'Không kết nối'. Điều này có thể thay đổi trong tương lai nếu Quỹ Raspberry Pi thay đổi các bảng / phần mềm.

(DNC GPIO chân là số pin vật lý 27 và 28)

09/09

Quy ước đánh số GPIO

Portsplus là một công cụ tiện dụng để kiểm tra số pin GPIO. Richard Saville

Khi mã hóa với GPIO, bạn có thể chọn nhập thư viện GPIO theo một trong hai cách - BCM hoặc BOARD.

Tùy chọn tôi thích là GPIO BCM. Đây là quy ước đánh số Broadcom và tôi thấy rằng nó được sử dụng phổ biến hơn trong các dự án và phần bổ trợ phần cứng.

Tùy chọn thứ hai là GPIO BOARD. Phương pháp này sử dụng số pin vật lý thay vào đó, đó là tiện dụng khi đếm chân, nhưng bạn sẽ thấy nó được sử dụng ít hơn trong các ví dụ dự án.

Chế độ GPIO được đặt khi nhập thư viện GPIO:

Để nhập dưới dạng BCM:

nhập RPi.GPIO dưới dạng GPIO GPIO.setmode (GPIO.BCM)

Để nhập thành BOARD:

nhập RPi.GPIO dưới dạng GPIO GPIO.setmode (GPIO.BOARD)

Cả hai phương pháp này đều thực hiện chính xác công việc giống nhau, nó chỉ là vấn đề ưu tiên đánh số.

Tôi thường xuyên sử dụng các bảng nhãn GPIO tiện dụng như RasPiO Portsplus (ảnh) để kiểm tra xem tôi đang kết nối các dây nào. Một mặt cho thấy quy ước đánh số BCM, cái còn lại hiển thị BOARD - vì vậy bạn được bảo hiểm cho bất kỳ dự án nào bạn tìm thấy.