Tìm hiểu về các chân GPIO của Raspberry Pi

08/10/2022 admin
Trong bài viết này, tất cả chúng ta sẽ tìm hiểu và khám phá với những chân GPIO của Raspberry Pi và tính năng của nó. Việc tìm hiểu và khám phá này sẽ giúp những bạn liên kết và lập trình tinh chỉnh và điều khiển cho những thiết bị được liên kết với Raspberry Pi được đúng chuẩn, thuận tiện hơn .

GPIO là gì ?

GPIO là từ viết tắt của General Purpose Input / Output, là những chân ( pin ) trên một header hoàn toàn có thể dùng làm ngõ vào ( input pin ) hoặc ngõ ra ( output pin ), nhờ vào vào cách thiết lập của người điều khiển và tinh chỉnh, hoàn toàn có thể được điều khiển và tinh chỉnh trải qua ứng dụng .
GPIO là nơi Raspberry Pi tiếp xúc với quốc tế bên ngoài trải qua những thiết bị điện tử, điều khiển và tinh chỉnh được liên kết với những chân GPIO .

Raspberry Pi cho phép các thiết bị ngoại vi (như các cảm biến – nhiệt độ, độ ẩm hay thiết bị điện tử như công tắc, LED đơn…) và cách bo mạch mở rộng (như mạch RPi Gertboard) kết nối và truy xuất CPU thông qua các chân GPIO.

Ví dụ : Để điều khiển và tinh chỉnh bật / tắt một LED đơn, tất cả chúng ta dùng một chân GPIO ( ví dụ điển hình chân GPIO 7 ) của Raspberry Pi để liên kết với đèn LED, chân này có trách nhiệm cấp điện áp 3V cho đèn LED và làm cho đèn LED phát sáng. Như vậy, chân GPIO trong trường hợp này ( GPIO 7 ) được thiết lập là chân ngõ ra ( output pin ). Trong một ví dụ khác, khi liên kết cảm ứng đo nhiệt độ và nhiệt độ DHT11 với Raspberry Pi, chân thứ nhất của DHT11 liên kết với chân 3.3 V của Raspberry Pi ( như trong hình 1 ), chân thứ hai của DHT11 liên kết với chân GPIO ( ví dụ điển hình chân GPIO 7 ) của Raspberry Pi, chân thứ tư của DHT11 liên kết với chân GND ( 0V ) của Raspberry Pi. Khi chương trình lập trình cho cảm ứng DHT11 hoạt động giải trí, chân GPIO 7 sẽ nhận tài liệu nhiệt độ, nhiệt độ từ chân thứ hai DHT11 dưới dạng bit tài liệu. Như vậy, trong trường hợp này, chân GPIO 7 lại được thiết lập là chân ngõ vào ( input pin ) .

Hình 1 : Sơ đồ liên kết chân cảm ứng DHT11 với Raspberry Pi .
Trên bo mạch của máy tính Raspberry Pi Model A và B, có 26 chân GPIO nằm trên một header ( ngay bên cạnh cổng cắm RCA video – cổng có màu vàng hoặc xanh da trời ), được chia thành hai hàng, mỗi hàng có 13 chân .
Trên bo mạch của máy tính Raspberry Pi 3 Mã Sản Phẩm B, có đến 40 chân GPIO ( nằm sau hai cổng cắm USB ), cũng được chia thành hai hàng, mỗi hàng 20 chân .

Sơ đồ chân GPIO của Raspberry Pi

Các Raspberry Pi có sơ đồ chân GPIO khác nhau tùy theo phiên bản, ở đây, tất cả chúng ta chỉ đề cập đến sơ đồ chân GPIO của Raspberry Pi 3 Model B. Raspberry Pi 3 Model B có sơ đồ chân của GPIO được lao lý như trong hình 2 bên dưới .

Sơ đồ chân GPIO của Raspberry Pi 3 model B

Hình 2 : Sơ đồ chân GPIO của Raspberry Pi 3 Model B .

Có nhiều cách đánh số, ký hiệu cho các chân GPIO của Raspberry Pi. Ở đây, chúng ta chỉ đề cập đến hai cách đánh số chính, đó là kiểu BCM và kiểu BOARD.

Đánh số theo kiểu BCM là cách ký hiệu những chân theo đúng tính năng của nó. Trong hình 2 ở trên, hai cột dọc, ngoài cùng ở hai bên với những ô như GPIO 2, GPIO 3, GPIO 14, GPIO 15, 3.3 V, GND … đó là cách đánh số theo kiểu BCM .
Đánh số theo kiểu BOARD là cách đánh số những chân GPIO dựa trên vị trí của chân trên header. Trên header của Raspberry Pi, những chân GPIO được chia làm hai hàng, mỗi hàng 20 chân. Hai mươi chân hàng bên trái đánh số là 1, 3, 5, 7, 9, …, 39. Hai mươi chân còn lại, hàng bên phải đánh số là 2, 4, 6, 8, 10 …, 40. Thông thường, tất cả chúng ta dùng cách đánh số theo kiểu BOARD .
Lưu ý : Chúng ta cần hiểu được những quy tắc đánh số, ký hiệu những chân này để hoàn toàn có thể lập trình và điều khiển và tinh chỉnh đúng mực những chân GPIO, đúng với nhu yếu sử dụng .
GPIO của Raspberry Pi 3 Mã Sản Phẩm B có toàn bộ 40 chân, được chia làm hai hàng, mỗi hàng 20 chân, một hàng gồm những chân đánh số lẽ từ 1 – 39, một hàng gồm những chân đánh số chẵn từ 2 – 40 ( đánh số theo mạch – BOARD number ) .
GPIO của Raspberry Pi 3 Mã Sản Phẩm B gồm có :

Cùng với công dụng đơn thuần của những chân ngõ vào và ngõ ra, những chân GPIO cũng hoàn toàn có thể thực thi nhiều tính năng khác nhau. Một số chân đơn cử là :

Các chân I2C

Raspberry Pi sử dụng chuẩn giao tiếp I2C để giao tiếp với các thiết bị tương thích với Inter-Integrated Circuit (một giao thức truyền thông nối tiếp hai dây tốc độ thấp). Chuẩn giao tiếp này yêu cầu vai trò chủ-tớ giữa cả hai thiết bị. I2C có hai kết nối: SDA (Serial Data) và SCL (Serial Clock). Chúng hoạt động bằng cách gửi dữ liệu đến và sử dụng kết nối SDA, và tốc độ truyền dữ liệu được điều khiển thông qua chân SCL.

  • Data: (GPIO 2), Clock (GPIO 3)
  • EEPROM Data: (GPIO 0), EEPROM Clock (GPIO 1)

Xem thêm bài viết : Giới thiệu tiếp xúc I2C

Các chân UART

Các chân tiếp xúc tiếp nối đuôi nhau hoặc UART ( Universal Asynchronous Receiver / Transmitter – Bộ thu / phát không đồng nhất đa năng ) cung ứng phương pháp tiếp xúc giữa hai bộ vi điều khiển và tinh chỉnh hoặc máy tính. Chân TX được sử dụng để truyền tài liệu tiếp nối đuôi nhau và chân RX được sử dụng để nhận tài liệu tiếp nối đuôi nhau đến từ một thiết bị tiếp nối đuôi nhau khác. Có 2 chân tương quan đến tiếp xúc UART .

  • TX (GPIO14)
  • RX (GPIO15)

Các chân SPI

SPI (Serial Peripheral Interface) là một giao thức được sử dụng cho giao tiếp chủ-tớ. Raspberry Pi sử dụng giao thức này để giao tiếp nhanh chóng giữa một hoặc nhiều thiết bị ngoại vi. Dữ liệu được đồng bộ hóa bằng đồng hồ (SCLK tại chân GPIO 11) từ thiết bị chính (Raspberry Pi) và dữ liệu được gửi từ Raspberry Pi tới thiết bị SPI bằng chân MOSI (Master Out Slave In). Nếu thiết bị SPI cần giao tiếp lại với Raspberry Pi, thì nó sẽ gửi dữ liệu trở lại bằng chân MISO (Master In Slave Out). Có 5 chân liên quan đến giao tiếp SPI:

  • GND: Kết nối tất cả các chân GND của tất cả các thành phần tớ (slave) và bo mạch Raspberry Pi 3 với nhau.
  • SCLK: Tín hiệu đồng hồ của SPI. Kết nối tất cả các chân SCLK với nhau.
  • MOSI (Master Out Slave In): Chân này được sử dụng để gửi dữ liệu từ chủ (master) đến tớ (slave).
  • MISO (Master In Slave Out): Chân này được sử dụng để nhận dữ liệu từ slave đến master.
  • CE (Chip Enable): Chúng tôi cần kết nối một chân CE cho mỗi thiết bị slave (hoặc các thiết bị ngoại vi) trong mạch của chúng ta. Theo mặc định, chúng ta có hai chân CE nhưng chúng ta có thể cấu hình nhiều chân CE hơn từ các chân GPIO có sẵn khác.

Các chân SPI trên bo mạch Raspberry Pi 3 :

  • SPI0: GPIO 9 (MISO), GPIO 10 (MOSI), GPIO 11 (SCLK), GPIO 8 (CE0), GPIO 7 (CE1)
  • SPI1: GPIO 19 (MISO), GPIO 20 (MOSI), GPIO 21 (SCLK), GPIO 18 (CE0), GPIO 17 (CE1), GPIO 16 (CE2)

Xem thêm bài viết : Giới thiệu chuẩn tiếp xúc SPI
Các chân GPIO chịu mức điện áp tối thiểu là 3V, tối đa là 5V. Nếu mức điện áp nằm ngoài số lượng giới hạn này sẽ làm hỏng mạch. Thông thường, tất cả chúng ta nên sử dụng một mạch lan rộng ra để liên kết với những thiết bị ngoại vi, không nên liên kết trực tiếp những thiết bị, linh phụ kiện điện tử vào GPIO trên Raspberry Pi .
Để hiểu rõ hơn về tính năng của từng chân GPIO, những bạn xem thêm trên website này .

Các chân PWM 

PWM (Pulse Width Modulation – Điều chế độ rộng xung) là một kỹ thuật phổ biến được sử dụng để thay đổi độ rộng của các xung trong một chuỗi xung. PWM có nhiều ứng dụng như điều khiển độ sáng của đèn LED, điều khiển tốc độ của động cơ DC, điều khiển động cơ servo hoặc nơi bạn phải lấy ngõ ra analog bằng các thiết bị kỹ thuật số.

  • Phần mềm PWM có sẵn trên tất cả các chân
  • Phần cứng PWM chỉ khả dụng trên các chân này: GPIO 12, GPIO 13, GPIO 18, GPIO 19

Cách sử dụng chân GPIO của Raspberry Pi 

Các chân GPIO được sử dụng để liên kết với những thiết bị, linh phụ kiện điện tử như điện trở, đèn led, công tắc nguồn, cảm ứng …, là nơi RPi tiếp xúc với quốc tế bên ngoài .
Ví dụ : Chúng ta hoàn toàn có thể liên kết một cảm ứng nhiệt độ và nhiệt độ DHT11 cùng với một điện trở để tạo ứng dụng đo nhiệt độ, nhiệt độ môi trường tự nhiên. Ứng dụng này sẽ được trình diễn chi tiết cụ thể trong bài viết tiếp theo .

Kết nối cảm biến DHT11 với các chân GPIO của Raspberry Pi

Hình 3: Sơ đồ kết nối cảm biến DHT11 với các chân GPIO của Raspberry Pi.

Chân GPIO được đặt làm ngõ vào sẽ được cho phép Raspberry Pi nhận tín hiệu được gửi bởi một thiết bị được liên kết với chân này. Điện áp từ 1,8 V đến 3,3 V sẽ được Raspberry Pi đọc là mức CAO và nếu điện áp thấp hơn 1,8 V sẽ được đọc là mức THẤP .

Lưu ý: Không kết nối thiết bị có điện áp đầu vào trên 3,3V với bất kỳ chân GPIO nào, nếu không thiết bị sẽ làm hỏng Raspberry Pi.

Chân GPIO được đặt làm chân ra sẽ gửi tín hiệu điện áp ở mức cao ( 3,3 V ) hoặc thấp ( 0V ). Khi chân này được đặt ở mức CAO, điện áp ở đầu ra là 3,3 V và khi đặt ở mức THẤP, điện áp đầu ra là 0V .

Liên kết:KQXSMB
Alternate Text Gọi ngay