Stax
Tools

Raspberry Pi GPIO Pinout

Complete Raspberry Pi 40-pin GPIO reference.

5V Power3.3V PowerGPIOGNDSpecial
Bus quick reference
InterfaceBCM PinsPhysical
UARTBCM 14 (TX), BCM 15 (RX)Phys 8, 10
I2C1BCM 2 (SDA), BCM 3 (SCL)Phys 3, 5
SPI0BCM 10 (MOSI), 9 (MISO), 11 (SCLK), 8 (CE0), 7 (CE1)Phys 19,21,23,24,26
SPI1BCM 20 (MOSI), 19 (MISO), 21 (SCLK), 18/17/16 (CE)Phys 38,35,40,12,11,36
PWMBCM 12 (PWM0), BCM 13 (PWM1), BCM 18 (alt)Phys 32,33,12
1-WireBCM 4 (default)Phys 7
Raspberry Pi 40-pin GPIO header (BCM numbering). All GPIO are 3.3V logic — NOT 5V tolerant.

Raspberry Pi GPIO pinout — หมายเลข BCM, ขาทางกายภาพ และฟังก์ชันสลับ

ส่วนหัว GPIO 40 ขาของ Raspberry Pi ให้คุณเข้าถึง digital I/O, PWM, SPI, I2C, UART และ power rail — แต่การจำว่าขาทางกายภาพใดแมปกับหมายเลข BCM ใดนั้นเป็นสิ่งที่แม้แต่ผู้ใช้ Pi ที่มีประสบการณ์ก็ยังต้องค้นหาอยู่เสมอ เครื่องมืออ้างอิงแบบ interactive นี้ให้คุณสลับระหว่างมุมมองแบบกริดสำหรับค้นหาฟังก์ชันอย่างรวดเร็ว และมุมมองส่วนหัวทางกายภาพที่สะท้อนเลย์เอาต์ขาจริงบนบอร์ด เพื่อให้คุณต่อสาย sensor และอุปกรณ์ต่อพ่วงได้อย่างมั่นใจโดยไม่ต้องนับขาบน Pi

Raspberry Pi GPIO มีสองรูปแบบการกำหนดหมายเลข การกำหนดหมายเลขทางกายภาพ (BOARD) นับขา 1–40 จากบนซ้ายไปล่างขวาของส่วนหัว 40 ขาบนบอร์ด การกำหนดหมายเลข BCM ตามหมายเลข GPIO ภายในของชิป Broadcom ซึ่งไม่ต่อเนื่องกัน ไลบรารีซอฟต์แวร์ส่วนใหญ่ (RPi.GPIO, gpiozero, pigpio) ใช้การกำหนดหมายเลข BCM เป็นค่าเริ่มต้น ใน Python: GPIO.setmode(GPIO.BCM) ใช้หมายเลข BCM; GPIO.setmode(GPIO.BOARD) ใช้ตำแหน่งทางกายภาพ เครื่องมืออ้างอิงนี้แสดงทั้งสองแบบ เพื่อให้คุณใช้โหมดใดก็ได้โดยไม่สับสน

I2C (GPIO 2 = SDA, GPIO 3 = SCL) เชื่อมต่อ sensor และจอแสดงผลโดยใช้เพียงสองสาย — อุปกรณ์ทั่วไปได้แก่ sensor อุณหภูมิ/ความชื้น BME280, accelerometer MPU6050 และจอ OLED SSD1306 SPI (GPIO 10 = MOSI, GPIO 9 = MISO, GPIO 11 = SCLK, GPIO 8/7 = CE0/CE1) ใช้สำหรับอุปกรณ์ต่อพ่วงความเร็วสูงเช่น SD card, ADC ความเร็วสูง และโมดูลวิทยุ LoRa UART (GPIO 14 = TXD, GPIO 15 = RXD) ใช้สำหรับการสื่อสาร serial กับโมดูล GPS, บอร์ด Arduino และโมเด็ม GSM Hardware PWM มีบน GPIO 12, 13, 18, 19 — software PWM ใช้ได้บน GPIO ใดก็ได้แต่จะมี jitter

ขา GPIO ของ Raspberry Pi ทุกขาทำงานที่ลอจิก 3.3 V — ไม่ทนต่อ 5 V ต่อสัญญาณ 5 V เข้า GPIO input โดยตรงจะทำให้ Pi เสียหาย ใช้ logic level converter หรือตัวแบ่งแรงดัน (ตัวต้านทานสองตัว) เพื่อลดสัญญาณ Arduino 5 V ลงเป็น 3.3 V ขา GPIO แต่ละขาสามารถให้หรือรับกระแสได้สูงสุด 16 mA โดยแนะนำสูงสุด 8 mA ต่อขาสำหรับการใช้งานต่อเนื่อง กระแสรวมในขา GPIO ทั้งหมดไม่ควรเกิน 50 mA สำหรับการขับ LED ให้ใช้ตัวต้านทานจำกัดกระแสเสมอ (330 Ω สำหรับ LED แดงมาตรฐานที่ 3.3 V)

เลย์เอาต์ส่วนหัว GPIO 40 ขาสอดคล้องกันในทุกรุ่น Raspberry Pi 2, 3, 4, 5 และ Zero/Zero 2 W รุ่น Model B และ A ดั้งเดิมมีส่วนหัว 26 ขา (26 ขาแรกเหมือนกัน) เครื่องมืออ้างอิงนี้ครอบคลุมมาตรฐาน 40 ขาเต็มรูปแบบที่ใช้ในบอร์ด Pi รุ่นใหม่ทั้งหมด Pi 5 นำการเปลี่ยนแปลงมาสู่การใช้งาน GPIO ระดับต่ำ (ใช้ชิป RP1 southbridge ใหม่) ดังนั้นโค้ดที่ sensitive กับ timing อาจต้องปรับ แต่การกำหนดขายังคงเดิม

คำถามที่พบบ่อย

What is BCM numbering?
BCM (Broadcom SoC channel) numbering refers to the GPIO pin numbers on the Broadcom BCM2835/2836/2837 chip, used in Python RPi.GPIO and pigpio. Physical pin numbering counts pin positions on the header starting from pin 1 (near SD card).
Are Raspberry Pi GPIO pins 5V tolerant?
No. All Raspberry Pi GPIO pins operate at 3.3V logic and are NOT 5V tolerant. Connecting a 5V signal directly to a GPIO pin can permanently damage the BCM chip. Use a level shifter when interfacing with 5V devices.
How many GPIO pins does the Raspberry Pi have?
The 40-pin header has 26 usable GPIO pins (BCM numbering). The rest are 5V power (2 pins), 3.3V power (2 pins), and ground (8 pins).

เครื่องมือที่เกี่ยวข้อง