09 ലെ 01
റാസ്പ്ബെറി പി പിയുടെ ഒരു ആമുഖം
'ജിപിഐഒ' (ജനറൽ ആവശ്യക ഇൻപുട്ട് ഔട്ട്പുട്ട്) എന്നത് റാസ്പ്ബെറി പൈയ്ക്ക് മാത്രമുള്ളതല്ല. ആർഡ്വിനോ, ബീഗിൾബോൺ, അതിലേറെയും പോലുള്ള മിക്ക മൈക്രോകൺട്രോളറുകളിലും ഇൻപുട്ടും ഔട്ട്പുട്ട് പേസും കാണാം.
റാസ്പ്ബെറി പൈ ഉപയോഗിച്ച് ഞങ്ങൾ GPIO നെക്കുറിച്ച് സംസാരിക്കുമ്പോൾ, ബോർഡിന്റെ മുകളിലത്തെ ഇടത് മൂലയിൽ നീണ്ട നീണ്ട ബ്ലോക്കുകളെ പരാമർശിക്കുന്നു. പഴയ മോഡലിന് 26 പിന്നിട്ടുണ്ട്, പക്ഷെ നമ്മളിൽ ഭൂരിഭാഗവും നിലവിലെ മോഡൽ 40 ഉപയോഗിക്കും.
നിങ്ങൾക്ക് ഘടകങ്ങളും മറ്റ് ഹാർഡ്വെയർ ഉപകരണങ്ങളും ഈ പിൻ സൂചകങ്ങളുമായി ബന്ധിപ്പിക്കാൻ കഴിയും, ഒപ്പം അവർ ചെയ്യുന്ന കാര്യങ്ങൾ നിയന്ത്രിക്കാൻ കോഡ് ഉപയോഗിക്കുകയുമാകാം. ഇത് റാസ്പ്ബെറി പൈയുടെ പ്രധാനഭാഗമാണ്, ഇലക്ട്രോണിനെക്കുറിച്ച് അറിയാനുള്ള മികച്ച മാർഗ്ഗം.
കുറച്ച് സോഫ്റ്റ്വെയർ പ്രോജക്റ്റുകൾക്കുശേഷം, ഈ സൂചികളുമായി നിങ്ങൾ പരീക്ഷിച്ചുചേരാം, നിങ്ങളുടെ കോഡ് ഹാർഡ്വെയറുകളുമായി ചേർത്ത് 'യഥാർത്ഥ ജീവിതത്തിൽ' സംഭവിക്കാൻ ഇടയാകാം.
നിങ്ങൾ ഈ രംഗം പുതിയ ആളാണെങ്കിൽ ആ പ്രക്രിയയ്ക്ക് ഭീഷണിയാകാൻ കഴിയും, ഒപ്പം ഒരു തെറ്റായ നീക്കം നിങ്ങളുടെ റാസ്പ്ബെറി പൈയ്ക്ക് ദോഷം ചെയ്യും എന്നതിനാൽ, ഇത് തുടക്കക്കാർക്ക് ഒരു നർമ്മം പര്യവേക്ഷണം നടത്താൻ സഹായിക്കും.
ഓരോ തരം GPIO പിൻ ചെയ്യുന്നതും അവയുടെ പരിമിതികളും എന്തെല്ലാമാണെന്ന് ഈ ലേഖനം വിശദീകരിക്കും.
02 ൽ 09
എസ്
ആദ്യം, നമുക്ക് GPIO മുഴുവനായും നോക്കാം. ഇത് ശരിയായി തോന്നാമെങ്കിലും അവയ്ക്ക് വ്യത്യസ്തങ്ങളായ പ്രവർത്തനങ്ങളുണ്ട്. മുകളിലുള്ള ചിത്രം ഈ പ്രവർത്തനങ്ങൾ വിവിധ നിറങ്ങളിൽ കാണിക്കുന്നു, അത് ഞങ്ങൾ ഇനിപ്പറയുന്ന ഘട്ടങ്ങളിൽ വിശദീകരിക്കും.
ഓരോ പിൻയും 1 മുതൽ 40 വരെയുള്ള ഇടത്ത് താഴെ ഇടതുഭാഗത്തായി ആരംഭിക്കുന്നു. ഇവയാണ് ഫിസിക്കൽ പിൻ നമ്പറുകൾ, എന്നിരുന്നാലും കോഡ് എഴുതുന്ന സമയത്ത് ഉപയോഗിക്കുന്ന 'ബി.എം.എം.' പോലുള്ള സംവിധാനങ്ങളുമുണ്ട്.
09 ലെ 03
പവർ & ഗ്രൗണ്ട്
ചുവപ്പ് ഹൈലൈറ്റ് ചെയ്തു, 3.3V അല്ലെങ്കിൽ 5V ന് '3' അല്ലെങ്കിൽ '5' എന്ന് ലേബൽ ചെയ്തിട്ടുള്ള പവറുകൾ.
ഒരു കോഡിനുള്ള ആവശ്യമില്ലാത്ത ഒരു ഉപകരണത്തിലേക്ക് നേരിട്ട് വൈദ്യുതി അയയ്ക്കാൻ ഈ പിൻസ് നിങ്ങളെ അനുവദിക്കുന്നു. ഒന്നുകിൽ ഇത് ഓഫ് ചെയ്യാനുള്ള മാർഗമില്ല.
2 വൈദ്യുത റെയിലുകൾ ഉണ്ട് - 3.3 വോൾട്ട് 5 വോൾട്ട്. ഈ ലേഖനത്തിൽ പറഞ്ഞാൽ, 3.3V റെയിൽ, 50mA നിലവിലെ ഡ്രോയിൽ മാത്രമായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു, പൈ ഉപയോഗിക്കുന്നതിന് ശേഷം ആവശ്യമായ ശേഷി ശേഷിക്കു ശേഷവും നിങ്ങളുടെ ശേഷി ശേഷി 5V റെയിലിന് നൽകാൻ കഴിയും.
ഗ്രൗണ്ട് പിൻസ് (ജിഎൻഡ്). ഇലക്ട്രിക് പ്രോജക്ടിന്റെ സുപ്രധാന ഭാഗമായ മണ്ണ് പിൻസ് എന്ന് പറഞ്ഞാൽ അത് ശരിയാണ്.
(5V GPIO പിൻസകൾ ഭൌതിക നമ്പറുകൾ 2 ഉം 4.3 ഉം 3.3V GPIO പിൻസകളാണ് ഭൌതിക സംഖ്യകൾ 1 ഉം 17 ഉം. ഗ്രൗണ്ട് GPIO പിൻസ്, ഫിസിക്കൽ നമ്പറുകൾ 6, 9, 14, 20, 25, 30, 34, 39 എന്നിവയാണ്)
09 ലെ 09
ഇൻപുട്ട് / ഔട്ട്പുട്ട് പിൻസ്
പച്ച പിനികൾ, ഞാൻ 'ജനറിക് ഇൻപുട്ട് / ഔട്ട്പുട്ട് പിൻസ്' എന്ന് വിളിക്കുന്നു. I2C, SPI അല്ലെങ്കിൽ UART പോലുള്ള മറ്റ് പ്രവർത്തനങ്ങളുമായി ഏറ്റുമുട്ടുമെന്ന ആശങ്ക ഇല്ലാതെ ഇൻപുട്ടുകൾ അല്ലെങ്കിൽ ഔട്ട്പുട്ടുകളായി ഇവ എളുപ്പത്തിൽ ഉപയോഗിക്കാവുന്നതാണ്.
LED, ബസ്സർ അല്ലെങ്കിൽ മറ്റ് ഘടകങ്ങൾ എന്നിവയിലേക്ക് വൈദ്യുതി അയയ്ക്കാൻ കഴിയുന്ന സൂചി, അല്ലെങ്കിൽ സെൻസറുകൾ, സ്വിച്ച് അല്ലെങ്കിൽ മറ്റ് ഇൻപുട്ട് ഉപകരണം വായിക്കുന്നതിനുള്ള ഇൻപുട്ടായി ഇത് ഉപയോഗിക്കാം.
ഈ പിൻസിലുകളുടെ ഔട്ട്പുട്ട് വൈദ്യുതി 3.3V ആണ്. ഓരോ പിൻയും നിലവിലെ 16mA കവിയാൻ പാടില്ല, ഒന്നുകിൽ മുങ്ങുകയോ അല്ലെങ്കിൽ sourcing ആകുകയോ GPU പിൻസിന്റെ മുഴുവൻ ഗണം ഏതെങ്കിലും ഒരു സമയത്ത് 50mA- ൽ അധികമാകരുത്. ഇത് പരിമിതമാണ്, അതിനാൽ ചില പദ്ധതികളിൽ സർഗാത്മകത കൈവശം വയ്ക്കാം.
(ജനറിക് ജിപിഐഒ പിൻസ്, ഫിസിക്കൽ നമ്പറുകൾ 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38, 40 എന്നിവയാണ്)
09 05
I2C പിൻസ്
മഞ്ഞനിറത്തിൽ നമുക്ക് I2C പിൻസ് ഉണ്ട്. ലളിതമായി പറഞ്ഞാൽ റാസ്പ്ബെറി പൈ ഉപയോഗിച്ച് ആശയവിനിമയം നടത്താനുള്ള ഒരു ആശയവിനിമയ പ്രോട്ടോക്കോളാണ് I2C. ഇവയെ 'ജനറിക്' ജിപിഐഒ പിൻസിലായി ഉപയോഗിക്കാറുണ്ട്.
I2C ഉപയോഗിക്കുന്നതിനുള്ള ഒരു നല്ല ഉദാഹരണം MCP23017 പോർട്ട് എക്സ്പാൻഡർ ചിപ്പ് ആണ്, ഇത് നിങ്ങൾക്ക് കൂടുതൽ ഇൻപുട്ട് / ഔട്ട്പുട്ട് പിൻസ് ഈ I2C പ്രോട്ടോക്കോളിലൂടെ നൽകാം.
(I2C GPIO പിനുകൾ ഭൌതിക പിൻ നമ്പറുകൾ 3 ഉം 5 ഉം ആകുന്നു)
09 ൽ 06
UART (സീരിയൽ) പിൻസ്
ചാരനിറത്തിൽ, UART പിൻകൾ. ഈ കഷണങ്ങൾ സീരിയൽ കണക്ഷനുകൾ ലഭ്യമാക്കുന്ന മറ്റൊരു ആശയവിനിമയ പ്രോട്ടോക്കോളാണ്, മാത്രമല്ല 'ജെനറിക്ക്' ജിപിഐഐ ഇൻപുട്ടുകൾ / ഔട്ട്പുട്ടുകളും കൂടി ഉപയോഗിക്കാവുന്നതാണ്.
UART നായി എന്റെ പ്രിയപ്പെട്ട ഉപയോഗം എന്റെ പൈയിൽ നിന്ന് സീരിയൽ കണക്ഷൻ USB വഴി എന്റെ ലാപ്ടോപ്പിലേക്ക് പ്രവർത്തനക്ഷമമാക്കുക എന്നതാണ്. ആഡ്-ഓൺ ബോർഡുകളോ ലളിതമായ കേബിളുകളോ ഉപയോഗിച്ച് ഇത് നേടിയെടുക്കാം, നിങ്ങളുടെ പൈ ആക്സസ്സുചെയ്യുന്നതിന് സ്ക്രീൻ അല്ലെങ്കിൽ ഇന്റർനെറ്റ് കണക്ഷന്റെ ആവശ്യകതയെ ഇത് നീക്കംചെയ്യും.
(UART GPIO പിൻസിലായി ഫിസിക്കൽ പിൻ നമ്പറുകൾ 8 ഉം 10 ഉം)
09 of 09
SPI പിൻസ്
പിങ്ക് നിറത്തിൽ SPI പിൻസ് ഉണ്ട്. പൈയും മറ്റ് ഹാർഡ്വെയർ / പെരിഫറലുകളും തമ്മിലുള്ള ഡാറ്റ അയയ്ക്കുന്ന ഒരു ഇന്റർഫേസ് ബസ് ആണ് SPI. ഇത് എൽഇഡി മാട്രിക്സ് അല്ലെങ്കിൽ ഡിസ്പ്ലെ പോലുള്ള ഉപകരണങ്ങളുടെ ചങ്ങലയ്ക്ക് സാധാരണയായി ഉപയോഗിക്കുന്നു.
മറ്റുള്ളവരെപ്പോലെ, ഈ പുകൾ 'ജെനറിക്ക്' GPIO ഇൻപുട്ടുകൾ / ഔട്ട്പുട്ടുകളായി ഉപയോഗിക്കാവുന്നതാണ്.
(എസ്പിഐ GPIO പിൻസിൽ ഫിസിക്കൽ പിൻ നമ്പറുകൾ 19, 21, 23, 24, 26 എന്നിവയാണ്)
09 ൽ 08
ഡിഎൻസി പിൻസ്
അവസാനമായി നീലനിറമുള്ള രണ്ട് പിന്നുകൾ, ഇപ്പോൾ 'ഡൺ ഡോട്ട് കണക്ട്' എന്നതിന് വേണ്ടി നിലകൊള്ളുന്ന ഡിഎൻസി എന്ന് ലേബൽ ചെയ്തിരിക്കുന്നു. റാസ്പ്ബെറി പി ഫൌണ്ടേഷൻ ബോർഡുകളോ സോഫ്റ്റ്വെയറോ മാറ്റണമോയെന്ന് ഭാവിയിൽ ഇത് മാറാം.
(DNC GPIO പിൻസ്വരവ് 27 ഉം 28 ഉം ഫിസിക്കൽ പിൻ നമ്പറുകളാണ്)
09 ലെ 09
GPIO നമ്പർ കൺവെൻഷനുകൾ
GPIO മായി കോഡിങ് ചെയ്യുമ്പോൾ, GPIC ലൈബ്രറി രണ്ടു വഴികളിൽ ഒന്ന് - ബിസിഎം അല്ലെങ്കിൽ ബോർഡ് ഇംപോർട്ട് ചെയ്യാനുള്ള ഓപ്ഷൻ നിങ്ങൾക്കുണ്ട്.
ഞാൻ ഇഷ്ടപ്പെടുന്ന ഓപ്ഷൻ GPIO BCM ആണ്. ഇത് ബ്രോഡ്കോം നമ്പറിംഗ് കൺവെൻഷനും പ്രോജക്റ്റുകളും ഹാർഡ്വെയർ ആഡ്-ഓണുകളിലുമാണ് സാധാരണയായി ഉപയോഗിക്കുന്നത് എന്ന് ഞാൻ മനസ്സിലാക്കുന്നു.
രണ്ടാമത്തെ ഓപ്ഷൻ GPIO ബോറാർഡ് ആണ്. ഈ രീതി ശരിക്കും പകരം ഫിസിക്കൽ പിൻ നമ്പറുകൾ ഉപയോഗിക്കുന്നു, ഇത് സൂചിപിടിക്കുന്ന സമയത്ത് കൈകൊടുക്കുന്നു, പക്ഷേ പ്രോജക്റ്റ് ഉദാഹരണങ്ങളിൽ ഇത് ഉപയോഗിക്കുന്നത് നിങ്ങൾക്ക് കാണാം.
GPIO ലൈബ്രറി ഇംപോർട്ട് ചെയ്യുമ്പോൾ GPIO മോഡ് സജ്ജീകരിച്ചിരിക്കുന്നു:
BCM ആയി ഇമ്പോർട്ടുചെയ്യുന്നതിന്:
GPIO GPIO.setmode (GPIO.BCM) ആയി RPi.GPIO ഇറക്കുമതി ചെയ്യുകBOARD ആയി ഇറക്കുമതി ചെയ്യുന്നതിന്:
GPIO GPIO.setmode (GPIO.BOARD) ആയി RPi.GPIO ഇറക്കുമതി ചെയ്യുകഈ രണ്ട് രീതികളും കൃത്യമായി ഒരേ ജോലി തന്നെ ചെയ്യും, ഇത് നമ്പറിംഗ് പ്രാധാന്യം മാത്രം.
ഞാൻ പതിവായി വയറുകളും കണക്ടുചെയ്യുന്നത് ഏത് സൂചി ആണെന്ന് പരിശോധിക്കാൻ റസിപിഒ പോർട്ട്സ്പ്ലസ് (ചിത്രത്തിൽ) പോലെയുള്ള ലളിതമായ GPIO ലേബൽ ബോർഡുകൾ ഉപയോഗിക്കുന്നു. ഒരു വശത്ത് BCM നമ്പറിംഗ് കൺവെൻഷൻ, മറ്റ് പ്രദർശനങ്ങൾ BOARD എന്നിവ കാണിക്കുന്നു - അതിനാൽ നിങ്ങൾ കണ്ടെത്തുന്ന പ്രൊജക്റ്റിനായി നിങ്ങൾ മൂടിയിരിക്കുന്നു.