संक्षिप्त उत्तर
नहीं, आप (लगभग) नहीं। यह वास्तव में आसपास का दूसरा तरीका है - आपको उन्हें GPIO होने के लिए नहीं बल्कि उनके विशेष उद्देश्य की सेवा के लिए स्थापित करना होगा। एकमात्र अपवाद UART पिन हैं। इसके अलावा और I²C किसी तरह विशेष पिन।
उरट पिंस
UART पिन कंसोल के लिए कर्नेल द्वारा उपयोग किया जाता है। यदि आप चाहते हैं कि आप उन्हें अपने उपयोग के लिए उपलब्ध कर सकें, तो आपको उनका उपयोग न करने के लिए सिस्टम को कॉन्फ़िगर करना होगा:
- संपादित करें
/boot/cmdline.txt
और निकालें console=ttyAMA0,115200
और kgdboc=ttyAMA0,115200
मापदंडों
संपादित करें /etc/inittab
और टिप्पणी करें ( #
इसके सामने चरित्र डालें ) पंक्ति:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
अपने रास्पबेरी पे रिबूट करें
अब पिन को सिस्टम द्वारा उपयोग नहीं किया जाना चाहिए और आप उनका उपयोग कर सकते हैं
IinsC पिंस
I onC पिंस में ऑन-बोर्ड 1.8k पुल-अप रेसिस्टर्स लगाए गए हैं। उन्हें निष्क्रिय नहीं किया जा सकता। यह कुछ स्थितियों में उन पिनों के उपयोग को सीमित करता है (लेकिन दूसरों के काम आ सकता है)।
अतिरिक्त समाधान
यदि GPIO पिन पर कम चल रहा है, तो आप कभी-कभी कुछ अतिरिक्त (लेकिन सरल) हार्डवेयर का उपयोग करके आसानी से इसकी संख्या बढ़ा सकते हैं। उदाहरण के लिए उत्पादन के लिए, आप उपयोग कर सकते हैं shift registers
या I²C I/O expanders
आसानी से (भी `I²C बस विस्तारक कहा जाता है), दोनों को खरीदने और उपयोग करने के लिए। आप इसका उदाहरण यहां पा सकते हैं ।
PFC8574
(या इस परिवार से समान) इतने लोकप्रिय हैं कि कर्नेल मॉड्यूल का उपयोग करने के लिए तैयार है जो आपके लिए सभी संचार को संभालता है ( यह आधिकारिक रास्पबेरीपी कर्नेल में सक्षम नहीं है, आपको इसका उपयोग करने के लिए अपना कर्नेल संकलित करने की आवश्यकता होगी )। मॉड्यूल को कहा जाता है gpio_pcf857x
, यह प्रदान करते हुए कि आपने इसे modprobe
(I driversC ड्राइवरों के साथ) लोड किया है और आपके पास I²C
बस से जुड़ी चिप है , आप इसे इस तरह सक्रिय कर सकते हैं:
echo pcf8574 0x27 > /sys/class/i2c-adapter/i2c-0/new_device
जहां pcf8574
अपने वास्तविक चिप नाम है (इस मॉड्यूल की तरह कुछ अलग चिप्स संभाल कर सकते हैं pca967x
और max732x
) और 0x27
इसका पता चल रहा है I²C
(जब यह तारों आप चिप के पते कॉन्फ़िगर कर सकते हैं)।
यह /sys/class/gpio/
निर्देशिका में प्रविष्टियाँ बनाएगा जो आपको रास्पबेरीपी में अन्य GPIO पोर्ट्स के समान उपयोग करने की अनुमति देगा, बशर्ते आप sys
इंटरफ़ेस का उपयोग कर रहे हों (उदाहरण के लिए wiringPiSetupSys()
वायरिंगपीआई में)। दुर्भाग्य से, पायथन का RPi.GPIO
मॉड्यूल इस मोड का समर्थन नहीं करता है इसलिए यह इस पुस्तकालय के साथ इस पिन का उपयोग करने में सक्षम नहीं होगा। पिंस में 248-255 या इसी तरह के कुछ उच्च नंबर होंगे।
नोट: PCF8574
है sinking current
- यह ड्राइव सिंक दे सकते हैं (कम राज्य में स्वीकार करते हैं) 20mA जितना लेकिन उच्च राज्य में यह एक मात्र स्रोत 0.1mA कर सकते हैं। इसका मतलब है कि आप आमतौर पर इसका उपयोग रिवर्स लॉजिक में करने वाले हैं, अर्थात +3.3V -> LED -> RESISTOR -> PCF8574_PIN
।