GPIO: रास्पबेरी पाई 4 और 3 कनेक्शन के बारे में सब

रास्पबेरी पाई 4 GPIO

L रास्पबेरी पाई 4 बोर्ड के GPIO पिन, 3, और इसके पूर्ववर्तियों, एसबीसी बोर्ड को उन क्षमताओं के साथ प्रदान करते हैं जो अरडिनो के पास हो सकती हैं, क्योंकि उनके साथ आप विभिन्न भाषाओं में कोड के माध्यम से ऑपरेटिंग सिस्टम से नियंत्रित बहुत दिलचस्प इलेक्ट्रॉनिक प्रोजेक्ट बना सकते हैं, जैसे कि पायथन।

यह बोर्ड को केवल एक सस्ते कंप्यूटर से अधिक बनाता है। यह आप की एक भीड़ को जोड़ने के लिए अनुमति देगा इलेक्ट्रॉनिक तत्व कि आप Arduino के साथ उपयोग कर सकते हैं, लेकिन यह भी पाई से नियंत्रित किया जा सकता है। इस गाइड में मैं आपको इन GPIO पिन के बारे में अधिक से अधिक जानकारी देने का प्रयास करूंगा ताकि आप उनका लाभ उठाना शुरू कर सकें ...

GPIO क्या है?

GPIO

GPIO सामान्य प्रयोजन इनपुट / आउटपुट के लिए, सामान्य प्रयोजन इनपुट / आउटपुट है। विभिन्न इलेक्ट्रॉनिक उत्पादों में यह हो सकता है, जैसे चिप्स स्वयं या कुछ पीसीबी बोर्ड जैसे कि रास्पबेरी पाई। जैसा कि उनके नाम से पता चलता है, वे पिन हैं जिन्हें विभिन्न कार्यों को करने के लिए कॉन्फ़िगर किया जा सकता है, इसलिए वे सामान्य उद्देश्य हैं और विशिष्ट उपयोग के लिए नहीं।

यह रनटाइम पर उपयोगकर्ता होगा जो कर सकता है इन GPIO पिन को कॉन्फ़िगर करें ताकि वे वही करें जो वह चाहता है। यह अलग-अलग तरीकों से किया जा सकता है, जैसे कि कुछ कोड या स्क्रिप्ट कंसोल से या पायथन प्रोग्राम के साथ, जो आपके निपटान में आपके पास मौजूद विकल्पों की मात्रा के कारण सबसे सरल और पसंदीदा तरीकों में से एक है।

इस तरह, रास्पबेरी पाई में न केवल बंदरगाहों की श्रृंखला है और इंटरफेस कई मानक उपकरणों को जोड़ने के लिए, लेकिन इन GPIO पिन को जोड़ें ताकि आप अन्य इलेक्ट्रॉनिक उपकरणों या निर्माता परियोजनाओं को जोड़ सकें जो आपने खुद बनाई हैं। उसी तरह से जिस तरह से आप नियंत्रण के लिए Arduino और इसके I / O पिन के साथ करेंगे।

Y Arduino या रास्पबेरी पाई के लिए विशेष नहीं, इसलिए अन्य समान एसबीसी बोर्ड और एम्बेडेड उत्पाद करते हैं।

GPIO फ़ंक्शन

और बीच में उसके कैरिकेक्टिक्स अत्यंत उल्लेखनीय:

  • वे कर सकते हैं कॉन्फ़िगर होना ऐसा आउटपुट के रूप में इनपुट के रूप में। उनमें वह द्वंद्व है जैसा कि उन लोगों के साथ होता है Arduino.
  • GPIO पिन भी सक्रिय और निष्क्रिय किया जा सकता है कोड द्वारा। यही है, उन्हें 1 (उच्च वोल्टेज स्तर) या 0 (कम वोल्टेज स्तर) पर सेट किया जा सकता है।
  • बेशक वे कर सकते हैं बाइनरी डेटा पढ़ें, जैसा कि लोगों और शून्य, जो कहना है, वोल्टेज संकेत या इसके अभाव।
  • का आउटपुट मान पढ़ने और लिखने.
  • इनपुट मानों को कुछ मामलों में कॉन्फ़िगर किया जा सकता है घटनाओं ताकि वे बोर्ड या सिस्टम पर कुछ प्रकार की कार्रवाई उत्पन्न करें। कुछ एम्बेडेड सिस्टम उन्हें IRQ के रूप में उपयोग करते हैं। एक और मामला यह कॉन्फ़िगर करना है कि जब एक या अधिक पिन कुछ सेंसर द्वारा सक्रिय होते हैं, तो कुछ कार्रवाई करते हैं ...
  • जैसा कि वोल्टेज और तीव्रता के लिए, आपको बोर्ड के लिए स्वीकार्य अधिकतम क्षमताओं को अच्छी तरह से पता होना चाहिए, इस मामले में रास्पबेरी पाई 4 या 3. आपको इसे नुकसान पहुंचाने से बचने के लिए उन्हें पास नहीं करना चाहिए।

वैसे, जब GPIO पिन का एक समूह समूहीकृत होता है, जैसा कि रास्पबेरी पाई के साथ होता है, तो समूह को इस रूप में जाना जाता है GPIO पोर्ट.

रास्पबेरी पाई के GPIO पिन

रास्पबेरी पाई GPIO

संस्करण 4, 3, शून्य के लिए मान्य योजना

नई रास्पबेरी पाई 4 बोर्ड और संस्करण 3 वे बड़ी संख्या में GPIO पिन से लैस हैं। सभी संस्करण एक ही राशि की पेशकश नहीं करते हैं, न ही वे एक ही तरीके से गिने जाते हैं, इसलिए आपको यह जानने के लिए सावधानी बरतनी चाहिए कि आपके पास मॉडल और संशोधन के अनुसार आपको कैसा संबंध बनाना चाहिए।

लेकिन क्या अधिक सामान्य है GPIO के प्रकार जो आप रास्पबेरी पाई बोर्डों के बंदरगाह में पा सकते हैं। और वह पहली चीज होगी जिसे मैं स्पष्ट करना चाहूंगा, क्योंकि इस तरह से आपको पता चल जाएगा पिन के प्रकार आप अपनी परियोजनाओं के लिए भरोसा कर सकते हैं:

  • ALIMENTACION: इन पिनों का उपयोग आपकी इलेक्ट्रॉनिक परियोजनाओं के लिए बिजली लाइनों या तारों को जोड़ने के लिए किया जाता है। वे Arduino बोर्ड पर उन लोगों के समान पिन के अनुरूप हैं, और जो 5v और 3v3 (3.3v 50mA लोड तक सीमित) के वोल्टेज प्रदान करते हैं। इसके अलावा, आपको ग्राउंड वाले (जीएनडी या ग्राउंड) भी मिलेंगे। यदि आप बाहरी बिजली स्रोतों जैसे बैटरी, या एडेप्टर का उपयोग नहीं करते हैं, तो ये पिन आपके सर्किट को बिजली देने में बहुत मदद कर सकते हैं।
  • DNC (कनेक्ट न करें): वे पिन हैं जो कुछ संस्करणों में हैं और जिनका कोई कार्य नहीं है, लेकिन नए बोर्डों में उन्हें एक और उद्देश्य दिया गया है। आप केवल पाई के अधिक आदिम मॉडल में ये पाएंगे। नए 3 और 4 में उन्हें आमतौर पर GND के रूप में चिह्नित किया जाएगा, जो पिछले समूह में एकीकृत करने में सक्षम है।
  • कॉन्फ़िगर करने योग्य पिन: वे सामान्य GPIO हैं, और कोड द्वारा क्रमादेशित किया जा सकता है क्योंकि मैं बाद में समझाऊंगा कि आपको क्या करना है।
  • विशेष पिन: ये कुछ कनेक्शन हैं जो विशेष कनेक्शन या UART, TXD और RXD सीरियल कनेक्शन आदि जैसे इंटरफेस के लिए हैं, जैसा कि Arduino के साथ होता है। आपको कुछ SDA, SCL, MOSI, MISO, SCLK, CE0, CE1, आदि भी मिलेंगे। वे उनमें से बाहर खड़े हैं:
    • PWM, जो पल्स चौड़ाई को विनियमित कर सकता है जैसा कि हमने पिछले लेख में देखा था। रास्पबेरी पाई 3 और 4 पर वे GPIO12, GPIO13, GPIO18 और GPIO19 हैं।
    • SPI एक अन्य संचार इंटरफ़ेस है जिसकी चर्चा मैंने एक अन्य लेख में भी की है। नए 40-पिन बोर्डों के मामले में, वे पिन हैं (विभिन्न संचार चैनलों के साथ, जैसा कि आप देख सकते हैं):
      • SPI0: MOSI (GPIO10), MISO (GPIO9), SCLK (GPIO11), CE0 (GPIO8), CE1 (GPIO7)
      • SPI1: MOSI (GPIO20); मिसो (GPIO19); एससीएलके (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
    • I2C एक और कनेक्शन है जो मैंने इस ब्लॉग में भी बताया है। यह बस डेटा सिग्नल (GPIO2) और घड़ी (GPIO3) से बनी है। EEPROM डेटा (GPIO0) और EEPROM क्लॉक (GPIO1) के अलावा।
    • सीरियल, TX (GPIO14) और RX (GPIO15) पिन के साथ एक और बहुत ही व्यावहारिक संचार, जिसे आप बोर्ड पर पा सकते हैं Arduino UNO.

याद रखें कि GPIO रास्पबेरी पाई और बाहरी दुनिया के बीच का इंटरफ़ेस है, लेकिन उनके पास है इसकी सीमाएँ, विशेष रूप से बिजली। कुछ ऐसा है जिसे आपको ध्यान में रखना चाहिए ताकि बोर्ड को खराब न करें याद रखें कि ये GPIO पिन आमतौर पर अप्रभावित होते हैं, अर्थात, बिना बफर के। इसका मतलब है कि उनके पास सुरक्षा नहीं है, इसलिए आपको वोल्टेज और तीव्रता के परिमाणों की निगरानी करनी चाहिए ताकि एक बेकार प्लेट के साथ समाप्त न हो ...

संस्करणों के बीच GPIO अंतर

पुरानी रास्पबेरी पाई GPIO पिन

जैसा मैंने कहा, सभी मॉडल समान पिन नहीं हैंयहां कुछ आरेख दिए गए हैं ताकि आप मॉडल के बीच के अंतर को देख सकें और इस प्रकार रास्पबेरी पाई 4 और 3 पर ध्यान केंद्रित करने में सक्षम हो सकें, जो कि सबसे नए और संभवतः आपके पास हैं। यह अलग-अलग होता है (सभी समूह समान पिन साझा करते हैं):

  • रास्पबेरी पाई 1 मॉडल बी रेव 1.0, 26-पिन के साथ Rev2 से थोड़ा अलग है।
  • रास्पबेरी पाई 1 मॉडल ए और बी रेव 2.0, दोनों मॉडल 26-पिन के साथ।
  • Rapsberry Pi मॉडल A +, B +, 2B, 3B, 3B +, Zero और Zero W, और भी 4 मॉडल। इन सभी में 40-पिन GPIO हैडर है।

मैं GPIO में क्या प्लग कर सकता हूं?

रास्पबेरी पाई टोपी

आप न केवल कर सकेंगे इलेक्ट्रॉनिक उपकरणों को कनेक्ट करें जैसा ट्रांजिस्टर, आर्द्रता / तापमान सेंसर, thermistors, स्टेपर मोटर्स, एल ई डी, आदि। आप रास्पबेरी पाई के लिए विशेष रूप से बनाए गए घटकों या मॉड्यूल को भी कनेक्ट कर सकते हैं और जो कि आधार में शामिल किए जाने से परे बोर्ड की क्षमताओं का विस्तार करते हैं।

मैं प्रसिद्ध की बात कर रहा हूँ टोपी या टोपी और प्लेट जो आपको बाजार में मिल सकती हैं। कई प्रकार हैं, जिनमें ड्राइवरों को ड्राइवरों को नियंत्रित करने के लिए, दूसरों को बनाने के लिए उपयोग किया जाता है एक कंप्यूटिंग क्लस्टरके साथ, एलईडी पैनल नियंत्रणीय, जोड़ने के लिए डीवीबी टीवी की क्षमता, एलसीडी चित्रपट, आदि

ये टोपियाँ या टोपियाँ उन्हें रास्पबेरी पाई बोर्ड पर रखा गया है, काम करने के लिए आवश्यक GPIO का मिलान करना। इसलिए, इसकी विधानसभा काफी सरल और तेज है। निश्चित रूप से, प्रत्येक हैट के साथ संगत प्लेट संस्करण को सुनिश्चित करें, क्योंकि GPIO पोर्ट अलग-अलग है जैसा कि आपने देखा है ...

मैं कहता हूं कि आपके पास एक पुरानी प्लेट है, क्योंकि टोपियां हैं केवल नवीनतम के साथ संगत। जैसा कि रास्पबेरी पाई मॉडल ए +, बी +, 2, 3 और 4 मॉडल हैं।

रास्पबेरी पाई पर GPIO का उपयोग करने का परिचय

पिनआउट कमांड आउटपुट

स्रोत: रास्पबेरी पाई

आरंभ करने के लिए, रास्पियन पर, आप कंसोल खोल सकते हैं और टाइप कर सकते हैं आज्ञा बाहर पिनयह आपके पास क्या लौटेगा, आपके बोर्ड पर उपलब्ध GPIO पिन के साथ टर्मिनल में एक छवि है और प्रत्येक के लिए क्या है। हमेशा काम के क्षण में मौजूद कुछ बहुत ही व्यावहारिक ताकि आप भ्रमित न हों।

पहली परियोजना: GPIOs के साथ एक एलईडी चमकती

रास्पबेरी पाई पर एलईडी के साथ GPIO

एक तरह का बनाने का सबसे बुनियादी तरीका है GPIOs के साथ "हैलो वर्ल्ड" रास्पबेरी पाई के पिन से जुड़ी एक साधारण एलईडी का उपयोग करना है ताकि आप देख सकें कि वे कैसे काम करते हैं। इस मामले में, मैंने इसे 17 को पिन करने के लिए जीएनडी और दूसरे से जोड़ा है, हालांकि आप सामान्य पिंस में से एक चुन सकते हैं ...

एक बार जुड़ा, आप कर सकते हैं रास्पियन से उन्हें नियंत्रित करें टर्मिनल का उपयोग करना। लिनक्स में, विशिष्ट फाइलों का उपयोग / sys / class / gpio / निर्देशिका की तरह किया जाता है। उदाहरण के लिए, काम शुरू करने के लिए आवश्यक संरचना के साथ एक फ़ाइल बनाने के लिए:

echo 17 > /sys/class/gpio/export

तब आप कर सकते हो इनपुट (इन) या आउटपुट के रूप में कॉन्फ़िगर करें (आउट) उस पिन 17 को हमारे उदाहरण के लिए चुना गया। आप इसे बहुत आसानी से कर सकते हैं:

echo out > /sys/class/gpio/gpio17/direction

इस मामले में एक आउटपुट के रूप में, चूंकि हम इसे चालू करने के लिए एलईडी में एक विद्युत पल्स भेजना चाहते हैं, लेकिन अगर यह एक सेंसर आदि था, तो आप उपयोग कर सकते हैं। अब के लिए चालू करें (1) या बंद करें (0) एलईडी आप उपयोग कर सकते हैं:

echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

यदि आप किसी अन्य प्रोजेक्ट पर जाना चाहते हैं और प्रविष्टि हटाएं बनाया, आप इसे इस तरह से कर सकते हैं:

echo 17 > /sys/class/gpio/unexport

वैसे, आप अपने प्रोजेक्ट के लिए सभी आवश्यक कमांड भी इकट्ठा कर सकते हैं, पिछले सभी की तरह, उन्हें एक फ़ाइल प्रकार में सहेजें बैश स्क्रिप्ट और फिर उन्हें एक-एक करके टाइप करने के बजाए एक साथ बंडल में चलाएं। जब आप एक ही व्यायाम को कई बार दोहराते हैं तो यह आसान होता है, इसलिए आपको फिर से लिखना नहीं पड़ता है। बस दौड़ो और जाओ। उदाहरण के लिए:

nano led.sh

#!/bin/bash
source gpio 
gpio mode 17 out
while true; do 
gpio write 17 1 
sleep 1.3 
gpio write 17 0 
sleep 1.3 done

एक बार जब आप समाप्त कर लेते हैं, तो आप सहेज लेते हैं और फिर आप इसे उपयुक्त निष्पादन और अनुमतियाँ निष्पादित कर सकते हैं लिपि एलईडी को चालू करने के लिए, 1.3 सेकंड प्रतीक्षा करें और एक लूप में इस तरह बंद करें ...

chmod +x led.sh
./led.sh

कार्यक्रम अग्रिम

प्रोग्रामिंग भाषा स्रोत कोड

स्पष्ट रूप से उपरोक्त कुछ घटकों के साथ छोटे इलेक्ट्रॉनिक प्रोजेक्ट्स के लिए काम करता है, लेकिन अगर आप कमांड के बजाय कुछ और उन्नत बनाना चाहते हैं, तो आप क्या उपयोग कर सकते हैं प्रोग्रामिंग भाषाएं विभिन्न स्क्रिप्ट या स्रोत कोड बनाने के लिए जो ऑपरेशन को स्वचालित करता है।

उनका उपयोग किया जा सकता है विभिन्न उपकरण कार्यक्रम के लिए, बहुत अलग भाषाओं के साथ। जिन पुस्तकालयों को समुदाय ने विकसित किया है, वे आपके लिए चीजों को बहुत आसान बना देते हैं, जैसे कि वायरिंगपीआई, सीसफ़्स, पिगिओ इत्यादि। रूबी, जावा, पर्ल, बेसिक और यहां तक ​​कि सी # के माध्यम से, पायथन से, जो कि कई का पसंदीदा विकल्प है, कार्यक्रम बहुत विविध हो सकते हैं।

आधिकारिक तौर पर, रास्पबेरी पाई आपको प्रदान करता है कई सुविधाएं अपने GPIO को प्रोग्राम करने के लिए, जैसे:

  • स्क्रैच, उन लोगों के लिए जो इस कार्यक्रम के पहेली ब्लॉकों का उपयोग नहीं करना चाहते हैं, जिनके साथ Arduino को भी प्रोग्राम किया जा सकता है, आदि। ग्राफिक ब्लॉकों के साथ प्रोग्रामिंग काफी सहज और शिक्षा के क्षेत्र के लिए बहुत व्यावहारिक है।
  • अजगर: यह सरल व्याख्या की गई प्रोग्रामिंग भाषा आपको सरल और शक्तिशाली कोड बनाने की अनुमति देती है, जो आपके द्वारा कल्पना की जाने वाली लगभग हर चीज को करने के लिए आपके निपटान में पुस्तकालयों की भीड़ के साथ है।
  • C / C ++ / C #: बायनेरिज़ बनाने के लिए अधिक शक्तिशाली प्रोग्रामिंग लैंग्वेज हैं जिनके साथ GPIO को इंटरैक्ट करना है। पुस्तकालय के माध्यम से मानक रूप या कर्नेल इंटरफ़ेस का उपयोग करके आप इसे कई तरीकों से कर सकते हैंकामेच्छा, लेकिन यह भी जैसे कि एक तृतीय-पक्ष पुस्तकालय के माध्यम से सूअर का बच्चा.
  • प्रसंस्करण ३Arduino के समान है।

लचीले ढंग से चुनें आप जिसे सबसे ज्यादा पसंद करते हैं या आपको लगता है कि वह सरल है।


4 टिप्पणियाँ, तुम्हारा छोड़ दो

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   शत्रु कहा

    रास्पबेरी से शुरू करने के बारे में बहुत अच्छा लेख

    1.    इसहाक कहा

      बहुत बहुत धन्यवाद.

      1.    रूथ मदीना कहा

        क्या आप लेखक हैं?

        1.    इसहाक कहा

          हां