GPIO หรือ general purpose input/output เรียกง่ายๆว่าPin(พิน) เป็นคอนเน็กเตอร์ที่ถูกใช้ส่งสัญญาณดิจิตอล(เป็นสัญญาณ 0 และ 1) เพื่อเชื่อมเป็นกับตัว Raspberry Pi

พินของ Raspberry Pi มีทั้งหมด 40 พิน และแบ่งออกเป็น 3 ลักษณะย่อย โดยมี

  1. Power pin(Power+)  เป็นพินที่มีแรงดันไฟฟ้าขั้วบวก(+) ใช้เชื่อมเพื่อป้อนแรงดันไฟฟ้าให้กับวงจร
    • พินที่ให้แรงดันไฟฟ้า 3.3V คือพินที่ 1 และ 17
    • พินที่ให้แรงดันไฟฟ้า 5V คือพินที่ 2 และ 4
  2. Ground pin(GND-) เป็นพินที่มีแรงดันไฟฟ้าขั้วบวก(-) มีพินที่ 6, 9, 14, 20, 25, 30, 34, และ 39
  3. Input/Output pin อีก 28 พิน เป็นตัวรับ-ส่ง แต่บางพินก็มีหน้าที่ที่ต่างกันออกไปด้วย
    • I2C พินที่ใช้วิธีการส่งข้อมูลกันระหว่างไมโครคอลโทรเลอร์ ซึ่งสามารถติดต่อกันได้หลายตัว แต่คุยกันได้ทีละคู่ โดยจะมีตัวออกคำสั่งว่าใครคุยกับใคร ว่าใคร คือ Master และ ตัวที่สั่งให้ต้องตอบ คือ Slave มีอยู่ 2 พิน คือพินที่ 3 และ 5
    • UART เป็นพินที่ส่งข้อมูลที่ถูกกำหนดขึ้นมาเพื่อใช้รับส่งข้อมูลแบบ Asynchronous ซึ่งเป็นส่วนหนึ่งในการสื่อสารอนุกรม แบบ Asynchronous โดยที่ไม่ต้องใช้ Clock ให้เป็นการจำกัดในการรับ-ส่งข้อมูล มีอยู่ 2 พิน คือพินที่ 8 และ 10
    • SPI เป็นการเชื่อมต่อสื่อสารแบบอนุกรมโดยอาศัยสัญญาณนาฬิกาเป็นตัวกำหนดจังหวะการรับส่งข้อมูล แบ่งอุปกรณ์ออกเป็น 2 ฝั่ง คือ Master เป็นตัวควบคุมการรับส่งข้อมูลโดยในที่นี้คือไมโครคอนโทรลเลอร์ กับ Slave เป็นอุปกรณ์ที่รอรับคำสั่งจาก Master โดย Slave มีได้มากกว่า 1 ตัว มีอยู่ 5 พิน คือพินที่ 19, 21, 23, 24 และ 26

ตัวอย่างการรับ-ส่งข้อมูลแบบ I2C

ตัวอย่างการรับ-ส่งข้อมูลแบบ UART

ตัวอย่างการรับ-ส่งข้อมูลแบบ SPI