ທົວຂອງ Raspberry Pi GPIO

01 of 09

ການແນະນໍາກ່ຽວກັບ Pins Raspberry Pi ຂອງ

The Raspberry Pi GPIO Richard Saville

ຄໍາວ່າ 'GPIO' (General Purpose Input Output) ບໍ່ແມ່ນສະເພາະສໍາລັບ Raspberry Pi. Pins Input and Output ສາມາດພົບໄດ້ໃນ Microcontrollers ສ່ວນໃຫຍ່ເຊັ່ນ Arduino, Beaglebone ແລະອື່ນ ໆ .

ໃນເວລາທີ່ພວກເຮົາສົນທະນາກ່ຽວກັບ GPIO ກັບ Raspberry Pi, ພວກເຮົາກໍາລັງກ່າວເຖິງບລັອກຍາວຂອງປາຍທີ່ຢູ່ເທິງເບື້ອງຊ້າຍຂອງຄະນະ. ຮຸ່ນເກົ່າມີ 26 pins, ຢ່າງໃດກໍຕາມພວກເຮົາສ່ວນໃຫຍ່ຈະໃຊ້ຮູບແບບປະຈຸບັນກັບ 40.

ທ່ານສາມາດເຊື່ອມຕໍ່ອຸປະກອນສ່ວນປະກອບແລະອຸປະກອນຮາດແວອື່ນໆກັບປາຍເຫຼົ່ານີ້ແລະໃຊ້ລະຫັດເພື່ອຄວບຄຸມສິ່ງທີ່ເຂົາເຈົ້າເຮັດ. ມັນເປັນສ່ວນຫນຶ່ງທີ່ສໍາຄັນຂອງ Raspberry Pi ແລະເປັນວິທີທີ່ດີທີ່ສຸດທີ່ຈະຮຽນຮູ້ກ່ຽວກັບເອເລັກໂຕຣນິກ.

ຫຼັງຈາກໂຄງການຊໍແວບາງ, ທ່ານອາດຈະພົບວ່າຕົວທ່ານເອງທົດລອງກັບປາຍເຫຼົ່ານີ້, ຢາກຈະປະສົມລະຫັດຂອງທ່ານກັບຮາດແວເພື່ອເຮັດໃຫ້ສິ່ງຕ່າງໆເກີດຂື້ນໃນ 'ຊີວິດຈິງ'.

ຂະບວນການນີ້ສາມາດຂົ່ມຂູ່ຖ້າວ່າທ່ານໃຫມ່ກັບ scene, ແລະພິຈາລະນາວ່າການເຄື່ອນໄຫວທີ່ບໍ່ຖືກຕ້ອງສາມາດທໍາລາຍ Raspberry Pi ຂອງທ່ານ, ມັນເປັນໄປໄດ້ວ່າມັນເປັນພື້ນທີ່ທີ່ປະສາດສໍາລັບຜູ້ເລີ່ມຄົ້ນຫາ.

ບົດຄວາມນີ້ຈະອະທິບາຍວ່າແຕ່ລະປະເພດຂອງ Pin GPIO ແຕ່ລະຂໍ້ກໍານົດແລະຂໍ້ຈໍາກັດຂອງມັນ.

02 of 09

The GPIO

ຂາ GPIO ແມ່ນເລກທີ 1 ເຖິງ 40, ແລະສາມາດຈັດກຸ່ມຕາມຫນ້າທີ່ແຕກຕ່າງກັນ. Richard Saville

ຫນ້າທໍາອິດ, ໃຫ້ເຮົາເບິ່ງ GPIO ທັງຫມົດ. pins ອາດຈະເບິ່ງຄືກັນແຕ່ພວກເຂົາທັງຫມົດມີຫນ້າທີ່ແຕກຕ່າງກັນ. ຮູບພາບຂ້າງເທິງສະແດງໃຫ້ເຫັນຫນ້າທີ່ເຫຼົ່ານີ້ໃນສີທີ່ແຕກຕ່າງກັນທີ່ພວກເຮົາຈະອະທິບາຍໃນຂັ້ນຕອນຕໍ່ໄປນີ້.

ຫມວກກັນກະທົບແຕ່ລະຄົນຖືກນັບເລກ 1 ຫາ 40 ເລີ່ມຕົ້ນຢູ່ເບື້ອງຊ້າຍ. ເຫຼົ່ານີ້ແມ່ນຕົວເລກ PIN ທາງດ້ານຮ່າງກາຍ, ຢ່າງໃດກໍ່ຕາມ, ຍັງມີຫມາຍເລກ / ສະຫຼຸບສົນທິສັນຍາເຊັ່ນ: 'BCM' ທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ຂຽນລະຫັດ.

03 of 09

Power & Ground

Raspberry Pi ສະຫນອງພະລັງງານຫຼາຍແລະ pins ດິນ. Richard Saville

ຈຸດເດັ່ນຂອງສີແດງ, ແມ່ນປ້າຍໄຟທີ່ມີຊື່ວ່າ '3' ຫຼື '5' ສໍາລັບ 3.3V ຫຼື 5V.

pins ເຫຼົ່ານີ້ອະນຸຍາດໃຫ້ທ່ານສົ່ງໄຟຟ້າໂດຍກົງກັບອຸປະກອນໂດຍບໍ່ຈໍາເປັນຕ້ອງມີລະຫັດໃດໆ. ບໍ່ມີວິທີການປ່ຽນເຫຼົ່ານີ້ອອກ.

ມີ 2 ສາຍໄຟ - 3.3 volts ແລະ 5 volts. ອີງຕາມບົດຄວາມນີ້, ເສັ້ນທາງລົດໄຟ 3.3V ແມ່ນຈໍາກັດເຖິງ 50mA ໃນປັດຈຸບັນແຕ້ມ, ໃນຂະນະທີ່ 5V rail ສາມາດໃຫ້ຄວາມສາມາດໃນປັດຈຸບັນໃດກໍ່ຕາມທີ່ເຫລືອຈາກການສະຫນອງພະລັງງານຂອງທ່ານຫຼັງຈາກ Pi ໄດ້ເອົາສິ່ງທີ່ມັນຕ້ອງການ.

ຈຸດເດັ່ນ ແມ່ນ ສີນ້ໍາຕານທີ່ ມີພື້ນດິນ (GND). pins ເຫຼົ່ານີ້ແມ່ນແທ້ສິ່ງທີ່ພວກເຂົາເວົ້າວ່າ - pins ດິນ - ຊຶ່ງເປັນສ່ວນສໍາຄັນຂອງໂຄງການເອເລັກໂຕຣນິກໃດໆ.

(5V GPIO pins ແມ່ນຫມາຍເລກທາງກາຍະພາບ 2 ແລະ 4. 3.3V GPIO pins ແມ່ນເລກທີ່ເປັນຕົວເລກ 1 ແລະ 17. ຂອບ GPIO ພື້ນຖານແມ່ນຕົວເລກທາງດ້ານຮ່າງກາຍ 6, 9, 14, 20, 25, 30, 34 ແລະ 39)

04 of 09

Input / Output Pins

pins Input and Output ຊ່ວຍໃຫ້ທ່ານສາມາດເຊື່ອມຕໍ່ຮາດແວໄດ້ເຊັ່ນ: Sensors ແລະ Switches. Richard Saville

pins ສີຂຽວແມ່ນສິ່ງທີ່ຂ້າພະເຈົ້າເອີ້ນວ່າ 'ທົ່ວໄປ' ຂາເຂົ້າ / ຂາອອກ. ເຫຼົ່ານີ້ສາມາດນໍາໃຊ້ໄດ້ຢ່າງງ່າຍດາຍໃນການນໍາເຂົ້າຫຼືຜົນໄດ້ຮັບໂດຍບໍ່ມີຄວາມກັງວົນກ່ຽວກັບການກະທົບກັບຫນ້າທີ່ອື່ນໆເຊັ່ນ I2C, SPI ຫຼື UART.

ເຫຼົ່ານີ້ແມ່ນເພັດທີ່ສາມາດສົ່ງໄຟຟ້າໄປຫາ LED, ສຽງ, ຫຼືສ່ວນປະກອບອື່ນໆ, ຫຼືຖືກນໍາໃຊ້ເປັນວັດສະດຸເຂົ້າເພື່ອອ່ານເຊັນເຊີ, ສະຫຼັບຫຼືອຸປະກອນອື່ນໆ.

ພະລັງງານຜົນຜະລິດຂອງປາຍເຫຼົ່ານີ້ແມ່ນ 3.3V. ຫມວກກັນກະທົບແຕ່ລະຄົນບໍ່ຄວນເກີນ 16mA ຂອງປະຈຸບັນ, ອາດຈະຫລົ້ມຈົມຫຼືແຫລ່ງກໍາເນີດ, ແລະຊຸດ GPIO pins ທັງຫມົດບໍ່ຄວນເກີນ 50mA ໃນເວລາຫນຶ່ງ. ນີ້ສາມາດຈໍາກັດ, ດັ່ງນັ້ນທ່ານອາດຈະຕ້ອງໄດ້ຮັບການສ້າງສັນໃນບາງໂຄງການ.

(ເກັດ GPIO ທົ່ວໄປມີຕົວເລກ 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 ແລະ 40)

05 of 09

I2C Pins

I2C ອະນຸຍາດໃຫ້ທ່ານເຊື່ອມຕໍ່ອຸປະກອນອື່ນໆກັບ Pi ຂອງທ່ານດ້ວຍພຽງແຕ່ສອງແກນ. Richard Saville

ໃນສີເຫຼືອງ, ພວກເຮົາມີຂາ I2C. I2C ເປັນໂປໂຕຄອນການສື່ສານທີ່ມີເງື່ອນໄຂງ່າຍໆອະນຸຍາດໃຫ້ອຸປະກອນສາມາດສື່ສານກັບ Raspberry Pi. pins ເຫຼົ່ານີ້ຍັງສາມາດຖືກນໍາໃຊ້ເປັນ "generic" GPIO pins.

ຕົວຢ່າງທີ່ດີຂອງການນໍາໃຊ້ I2C ແມ່ນ chip MCP23017 ທີ່ມີຂະຫນາດໃຫຍ່ທີ່ສາມາດສົ່ງຂໍ້ມູນເຂົ້າ / ຂາອອກຜ່ານໂປຣແກຣມ I2C ນີ້.

(I2C GPIO pins ແມ່ນຫມາຍເລກ PIN ທາງກາຍະພາບ 3 ແລະ 5)

06 of 09

UART (Serial) Pins

ເຊື່ອມຕໍ່ກັບ Pi ຂອງທ່ານຜ່ານການເຊື່ອມຕໍ່ແບບ Serial ກັບຂາ UART. Richard Saville

ໃນສີຂີ້ເຖົ່າ, ມີຂາ UART. pins ເຫຼົ່ານີ້ແມ່ນໂປຼແກຼມການສື່ສານທີ່ມີການເຊື່ອມຕໍ່ແບບຕໍ່ເນື່ອງແລະສາມາດນໍາໃຊ້ເປັນ 'generic' GPIO inputs / outputs ເຊັ່ນດຽວກັນ.

ການນໍາໃຊ້ favorite ຂອງຂ້ອຍສໍາລັບ UART ແມ່ນເພື່ອໃຫ້ການເຊື່ອມຕໍ່ແບບ Serial ຈາກ Pi ຂອງຂ້ອຍກັບຄອມພິວເຕີ້ຂອງຂ້ອຍຜ່ານ USB. ນີ້ສາມາດບັນລຸໄດ້ໂດຍການນໍາໃຊ້ຄະນະກໍາມະການເພີ່ມຫຼືສາຍທີ່ງ່າຍດາຍແລະເອົາຄວາມຕ້ອງການສໍາລັບການເຊື່ອມຕໍ່ຫນ້າຈໍຫຼືອິນເຕີເນັດເພື່ອເຂົ້າເຖິງ Pi ຂອງທ່ານ.

(ຂາ UART GPIO ແມ່ນຫມາຍເລກ PIN ທາງດ້ານຮ່າງກາຍ 8 ແລະ 10)

07 of 09

SPI Pins

SPI Pins - ໂປຼແກຼມການສື່ສານທີ່ເປັນປະໂຫຍດອີກ. Richard Saville

ໃນສີບົວ , ພວກເຮົາມີຂາ SPI. SPI ເປັນ bus ອິນເຕີເຟດທີ່ສົ່ງຂໍ້ມູນລະຫວ່າງ Pi ກັບຮາດແວ / ອຸປະກອນຕໍ່ພ່ວງອື່ນໆ. ມັນຖືກນໍາໃຊ້ທົ່ວໄປສໍາລັບການຜູກພັນຂອງອຸປະກອນເຊັ່ນ: ຕາຕະລາງ LED ຫຼືຈໍສະແດງຜົນ.

ເຊັ່ນດຽວກັນກັບຄົນອື່ນ, ຂາເຫຼົ່ານີ້ຍັງສາມາດນໍາໃຊ້ເປັນປະເພດ GPIO 'generic' / outputs ເຊັ່ນດຽວກັນ.

(SPI GPIO pins ແມ່ນຫມາຍເລກ PIN ທາງດ້ານຮ່າງກາຍ 19, 21, 23, 24 ແລະ 26)

08 of 09

DNC Pins

ບໍ່ມີຫຍັງທີ່ຈະເຫັນຢູ່ທີ່ນີ້ - ເພັດ DNC ບໍ່ມີຫນ້າທີ່ໃດ. Richard Saville

ສຸດທ້າຍແມ່ນສອງ pins ໃນສີຟ້າທີ່, ໃນປະຈຸບັນ, ໄດ້ຖືກ labeled ເປັນ DNC ທີ່ stands for 'ບໍ່ເຊື່ອມຕໍ່'. ນີ້ອາດຈະມີການປ່ຽນແປງໃນອະນາຄົດຖ້າ Raspberry Pi Foundation ປ່ຽນຄະນະ / ຊອບແວ.

(ເຂັມ DNC GPIO ແມ່ນຫມາຍເລກ PIN ດ້ານຮ່າງ 27 ແລະ 28)

09 of 09

GPIO Numbering Conventions

Portsplus ແມ່ນເຄື່ອງມືທີ່ມີປະໂຫຍດສໍາລັບການກວດສອບຈໍານວນ PIN GPIO. Richard Saville

ເມື່ອຂຽນເຂົ້າກັບ GPIO, ທ່ານມີທາງເລືອກທີ່ຈະນໍາເຂົ້າຫ້ອງສະຫມຸດ GPIO ໃນສອງວິທີ - BCM ຫຼື BOARD.

ທາງເລືອກທີ່ຂ້ອຍມັກຄື GPIO BCM. ນີ້ແມ່ນສົນທິສັນຍາຈໍານວນ Broadcom ແລະຂ້າພະເຈົ້າເຫັນວ່າມັນຖືກນໍາໃຊ້ທົ່ວໄປທົ່ວໂຄງການແລະຮາດແວເພີ່ມເຕີມ.

ທາງເລືອກທີສອງແມ່ນ GPIO BOARD. ວິທີການນີ້ໃຊ້ຕົວເລກ PIN ທາງດ້ານຮ່າງກາຍແທນທີ່ຈະເປັນປະໂຫຍດໃນເວລານັບປອນ, ແຕ່ວ່າທ່ານຈະເຫັນວ່າມັນໃຊ້ຫນ້ອຍໃນຕົວຢ່າງຂອງໂຄງການ.

ໂຫມດ GPIO ຖືກກໍານົດເມື່ອນໍາເຂົ້າຫ້ອງສະຫມຸດ GPIO:

ເພື່ອນໍາເຂົ້າເປັນ BCM:

ນໍາເຂົ້າ RPiGPIO ເປັນ GPIO GPIO.setmode (GPIO.BCM)

ເພື່ອນໍາເຂົ້າເປັນຄະນະ:

ນໍາເຂົ້າ RPi.GPIO ເປັນ GPIO GPIO.setmode (GPIO.BOARD)

ທັງສອງວິທີການເຫຼົ່ານີ້ເຮັດຢ່າງແທ້ຈິງວຽກງານດຽວກັນ, ມັນເປັນພຽງແຕ່ບັນຫາທີ່ຕ້ອງການຈໍານວນຫນຶ່ງ.

ຂ້ອຍມັກຈະໃຊ້ກະດານປ້າຍ GPIO ທີ່ມີປະໂຫຍດເຊັ່ນ: RasPiO Portsplus (ຮູບ) ເພື່ອກວດເບິ່ງວ່າຂ້ອຍກໍາລັງເຊື່ອມຕໍ່ສາຍເກີນໄປ. ຫນຶ່ງຂ້າງສະແດງໃຫ້ເຫັນຂໍ້ຕົກລົງຈໍານວນ BCM, ການສະແດງອື່ນໆສະແດງໃຫ້ເຫັນ - ດັ່ງນັ້ນທ່ານກໍາລັງປົກຄຸມສໍາລັບໂຄງການທີ່ທ່ານຊອກຫາ.