lamp.housecope.com
मागे

LED ला Arduino बोर्ड कसे जोडायचे

प्रकाशित: 16.08.2021
0
1490

Arduino प्लॅटफॉर्म जगभरात अत्यंत लोकप्रिय आहे. प्रोग्रामिंग आणि हार्डवेअर व्यवस्थापनाच्या विकासाच्या पहिल्या चरणांसाठी एक आदर्श साधन. जसजसे तुम्ही कौशल्यात वाढ करता, तसतसे तुम्ही पेरिफेरल्स जोडून आर्किटेक्चर वाढवू शकता आणि अधिक जटिल प्रोग्राम्स चालवणाऱ्या अधिक जटिल प्रणाली तयार करू शकता. Arduino Uno आणि Arduino Nano बोर्ड प्रारंभिक प्रशिक्षणासाठी योग्य आहेत. त्यांच्या उदाहरणावर, LED चे Arduino ला कनेक्शन मानले जाते.

Arduino Uno आणि Arduino Nano म्हणजे काय

Arduino Uno बोर्डचा आधार ATmega328 मायक्रोकंट्रोलर आहे. त्यात अतिरिक्त घटक देखील आहेत:

  • क्वार्ट्ज रेझोनेटर;
  • रीसेट बटण;
  • यूएसबी कनेक्टर;
  • एकात्मिक व्होल्टेज स्टॅबिलायझर;
  • पॉवर कनेक्टर;
  • मोड दर्शविण्याकरिता अनेक एलईडी;
  • यूएसबी चॅनेलसाठी कम्युनिकेशन चिप;
  • इन-सर्किट प्रोग्रामिंगसाठी कनेक्टर;
  • काही अधिक सक्रिय आणि निष्क्रिय घटक.

हे सर्व तुम्हाला सोल्डरिंग लोह न वापरता पहिली पावले उचलण्यास आणि मुद्रित सर्किट बोर्ड तयार करण्याचा टप्पा टाळण्यास अनुमती देते.युनिट 7..12 V च्या बाह्य व्होल्टेज स्त्रोताद्वारे किंवा USB कनेक्टरद्वारे समर्थित आहे. त्याद्वारे, स्केच डाउनलोड करण्यासाठी मॉड्यूल पीसीशी जोडलेले आहे. बाह्य उपकरणांना उर्जा देण्यासाठी बोर्डमध्ये 3.3 V व्होल्टेज स्त्रोत आहे. 6, 14 सामान्य-उद्देशीय डिजिटल आउटपुट ऑपरेशनसाठी उपलब्ध आहेत. 5 V द्वारे समर्थित असताना डिजिटल आउटपुटची लोड क्षमता 40 mA आहे. याचा अर्थ असा की एलईडी थेट त्याच्याशी जोडला जाऊ शकतो मर्यादित प्रतिरोधक.

Arduino Uno.
Arduino Uno.

Arduino नॅनो बोर्ड Uno शी पूर्णपणे सुसंगत आहे, परंतु आकाराने लहान आहे आणि टेबलमध्ये दर्शविलेले काही फरक आणि सरलीकरण आहेत.

पेनियंत्रकबाह्य वीज पुरवठ्यासाठी कनेक्टरयूएसबी संप्रेषणासाठी मायक्रोचिपयूएसबी कनेक्टर
Arduino UnoATmega328तेथे आहेATmega8U2USB A-B
अर्डिनो नॅनोATmega328नाहीFT232RLमायक्रो यूएसबी
अर्डिनो नॅनो.
अर्डिनो नॅनो.

फरक मूलभूत नाहीत आणि पुनरावलोकनाच्या विषयासाठी काही फरक पडत नाही.

तुम्हाला LED ला Arduino बोर्डशी जोडण्यासाठी काय आवश्यक आहे

एलईडी कनेक्ट करण्यासाठी दोन पर्याय आहेत. शिकण्याच्या हेतूंसाठी, तुम्ही कोणतीही निवड करू शकता.

  1. अंगभूत एलईडी वापरा. या प्रकरणात, पॉवर आणि प्रोग्रामिंगसाठी - USB कनेक्टरद्वारे पीसीशी कनेक्ट करण्यासाठी केबलशिवाय इतर कशाचीही आवश्यकता नाही. बोर्डला उर्जा देण्यासाठी बाह्य व्होल्टेज स्त्रोत वापरण्यात काही अर्थ नाही: सध्याचा वापर कमी आहे.

    USB A-B केबल
    Arduino Uno ला PC ला जोडण्यासाठी USB A-B केबल.
  2. बाह्य LEDs कनेक्ट करा. येथे आपल्याला अतिरिक्तपणे आवश्यक असेल:
    • एलईडी स्वतः;
    • 250-1000 ohms (LED वर अवलंबून) च्या नाममात्र मूल्यासह 0.25 W (किंवा अधिक) शक्तीसह वर्तमान-मर्यादित प्रतिरोधक;
    • बाह्य सर्किट जोडण्यासाठी वायर आणि सोल्डरिंग लोह.
बाह्य एलईडी कनेक्ट करत आहे
बाह्य एलईडी थेट कंट्रोलर आउटपुटशी कनेक्ट करणे.

LEDs कॅथोडला मायक्रोकंट्रोलरच्या कोणत्याही डिजिटल आउटपुटशी, बॅलास्ट रेझिस्टरद्वारे सामान्य वायरशी एनोड जोडलेले असतात. मोठ्या संख्येने एलईडीसह, अतिरिक्त उर्जा स्त्रोताची आवश्यकता असू शकते.

एका आउटपुटमध्ये अनेक एलईडी कनेक्ट करणे शक्य आहे का?

बाह्य LED किंवा LEDs चा गट कोणत्याही आउटपुटशी जोडणे आवश्यक असू शकते. नमूद केल्याप्रमाणे, मायक्रोकंट्रोलरच्या एका आउटपुटची लोड क्षमता लहान आहे. 15 एमए च्या वर्तमान वापरासह एक किंवा दोन एलईडी थेट समांतरपणे कनेक्ट केले जाऊ शकतात. आउटपुटची टिकून राहण्याची क्षमता किंवा संभाव्यतेच्या काठावर असलेल्या लोडसह चाचणी करणे योग्य नाही. ट्रान्झिस्टरवर स्विच वापरणे चांगले (फील्ड किंवा द्विध्रुवीय).

द्विध्रुवीय ट्रायोडवर ट्रान्झिस्टर स्विचद्वारे एलईडी कनेक्ट करणे.
द्विध्रुवीय ट्रायोडवर ट्रान्झिस्टर स्विचद्वारे एलईडी कनेक्ट करणे.

रेझिस्टर R1 निवडले जाणे आवश्यक आहे जेणेकरून त्याद्वारे प्रवाह आउटपुटच्या लोड क्षमतेपेक्षा जास्त नसेल. जास्तीत जास्त अर्धा किंवा कमी घेणे चांगले. तर, मध्ये एक मध्यम प्रवाह सेट करण्यासाठी 10 एमए, पुरवठ्याच्या 5 व्होल्टचा प्रतिकार असावा 500 ओम.

प्रत्येक एलईडीचे स्वतःचे बॅलास्ट रेझिस्टर असणे आवश्यक आहे, ते एका सामान्यसह बदलणे अवांछित आहे. Rbal निवडले जाते जेणेकरून प्रत्येक LED द्वारे त्याचा ऑपरेटिंग करंट सेट करता येईल. तर, 5 व्होल्टच्या पुरवठा व्होल्टेजसाठी आणि एक विद्युत् प्रवाह 20 एमए, प्रतिकार 250 ohms किंवा जवळचे मानक मूल्य असावे.

हे सुनिश्चित करणे आवश्यक आहे की ट्रान्झिस्टरच्या कलेक्टरद्वारे एकूण वर्तमान त्याच्या कमाल मूल्यापेक्षा जास्त नाही. तर, KT3102 ट्रान्झिस्टरसाठी, सर्वात मोठा Ik 100 mA पर्यंत मर्यादित असावा. याचा अर्थ विद्युत प्रवाह असलेल्या 6 पेक्षा जास्त एलईडी त्याच्याशी जोडले जाऊ शकत नाहीत. 15 mA. हे पुरेसे नसल्यास, अधिक शक्तिशाली की वापरणे आवश्यक आहे.अशा सर्किटमध्ये n-p-n ट्रान्झिस्टर निवडण्यासाठी हे एकमेव प्रतिबंध आहे. येथेही, सैद्धांतिकदृष्ट्या, ट्रायोडचा फायदा विचारात घेणे आवश्यक आहे, परंतु या परिस्थितींसाठी (इनपुट वर्तमान 10 एमए, आउटपुट 100) ते किमान 10 असावे. कोणताही आधुनिक ट्रान्झिस्टर अशा h21e तयार करू शकतो.

असे सर्किट केवळ मायक्रोकंट्रोलरच्या वर्तमान आउटपुटला चालना देण्यासाठी योग्य नाही. त्यामुळे तुम्ही वाढीव व्होल्टेज (उदाहरणार्थ, 12 व्होल्ट) द्वारे समर्थित पुरेसे शक्तिशाली अॅक्ट्युएटर (रिले, सोलेनोइड्स, इलेक्ट्रिक मोटर्स) कनेक्ट करू शकता. गणना करताना, आपल्याला संबंधित व्होल्टेज मूल्य घेणे आवश्यक आहे.

तुम्ही की कार्यान्वित करण्यासाठी देखील वापरू शकता MOSFETs, परंतु त्यांना उघडण्यासाठी Arduino आउटपुटपेक्षा जास्त व्होल्टेजची आवश्यकता असू शकते. या प्रकरणात, अतिरिक्त सर्किट आणि घटक प्रदान करणे आवश्यक आहे. हे टाळण्यासाठी, तथाकथित "डिजिटल" फील्ड-इफेक्ट ट्रान्झिस्टर वापरणे आवश्यक आहे - त्यांना 5 आवश्यक आहेत व्होल्ट उघडण्यासाठी. परंतु ते कमी सामान्य आहेत.

प्रोग्रामॅटिकली एलईडी नियंत्रित करणे

मायक्रोकंट्रोलरच्या आउटपुटशी फक्त LED कनेक्ट केल्याने थोडेच काम होते. Arduino वरून LED चे नियंत्रण प्रोग्रॅमॅटिक पद्धतीने मिळवणे आवश्यक आहे. हे C (C) वर आधारित असलेल्या Arduino भाषेत करता येते. ही प्रोग्रामिंग भाषा प्रारंभिक शिक्षणासाठी C चे रूपांतर आहे. त्यावर प्रभुत्व मिळवल्यानंतर, C++ मध्ये संक्रमण सोपे होईल. स्केचेस लिहिण्यासाठी (जसे Arduino साठी प्रोग्राम म्हणतात) आणि त्यांना थेट डीबग करण्यासाठी, तुम्हाला पुढील गोष्टी करण्याची आवश्यकता आहे:

  • वैयक्तिक संगणकावर Arduino IDE स्थापित करा;
  • यूएसबी कम्युनिकेशन चिपसाठी तुम्हाला ड्रायव्हर स्थापित करण्याची आवश्यकता असू शकते;
  • USB-microUSB केबल वापरून बोर्ड पीसीशी कनेक्ट करा.
Arduino विकास पर्यावरण इंटरफेस
Arduino IDE विकास वातावरणाचा इंटरफेस हा प्रोग्राम लिहिण्यासाठी आमंत्रण आहे.

संगणक सिम्युलेटरचा वापर साधे प्रोग्राम आणि सर्किट डीबग करण्यासाठी केला जाऊ शकतो. Arduino Uno आणि Nano बोर्डच्या ऑपरेशनचे सिम्युलेशन समर्थित आहे, उदाहरणार्थ, Proteus द्वारे (आवृत्ती 8 पासून सुरू होणारी). सिम्युलेटरची सोय अशी आहे की चुकीच्या पद्धतीने एकत्रित केलेल्या सर्किटसह हार्डवेअर अक्षम करणे अशक्य आहे.

सह Arduino च्या कामाचे सिम्युलेशन
Proteus 8.23 ​​मध्ये कनेक्टेड LED सह Arduino चे सिम्युलेशन.

स्केचमध्ये दोन मॉड्यूल असतात:

  • सेटअप - प्रोग्राम स्टार्टअपवर एकदाच अंमलात आणले, हार्डवेअरचे व्हेरिएबल्स आणि ऑपरेशनचे मोड सुरू करते;
  • पळवाट - सेटअप ब्लॉक टू इन्फिनिटी नंतर चक्रीयपणे अंमलात आणले जाते.

च्या साठी एलईडी कनेक्शन तुम्ही 14 फ्री पिन (पिन) पैकी कोणतेही वापरू शकता, ज्यांना अनेकदा चुकीचे पोर्ट म्हटले जाते. खरं तर, बंदर म्हणजे, सोप्या भाषेत, पिनचा एक समूह. पिन फक्त एक घटक आहे.

पिन 13 साठी नियंत्रणाचे उदाहरण मानले जाते - बोर्डवर एक एलईडी आधीपासूनच जोडलेला आहे (Uno बोर्डवरील अॅम्प्लीफायर-फॉलोअरद्वारे, नॅनोवरील रेझिस्टरद्वारे). पोर्ट पिनसह कार्य करण्यासाठी, ते इनपुट किंवा आउटपुट मोडमध्ये कॉन्फिगर केले जाणे आवश्यक आहे. सेटअप बॉडीमध्ये हे करणे सोयीचे आहे, परंतु आवश्यक नाही - आउटपुट गंतव्य गतिशीलपणे बदलले जाऊ शकते. म्हणजेच, प्रोग्रामच्या अंमलबजावणीदरम्यान, पोर्ट एकतर इनपुट किंवा डेटा आउटपुटसाठी कार्य करू शकते.

Arduino च्या पिन 13 चे आरंभीकरण (ATmega 328 मायक्रोकंट्रोलरच्या पोर्ट B चा पिन PB5) खालीलप्रमाणे आहे:

निरर्थक सेटअप()

{

पिनमोड(13, आउटपुट);

}

ही कमांड कार्यान्वित केल्यानंतर, बोर्डचा पिन 13 आउटपुट मोडमध्ये कार्य करेल, डीफॉल्टनुसार ते लॉजिक कमी असेल. प्रोग्रामच्या अंमलबजावणीदरम्यान, त्यावर शून्य किंवा एक लिहिता येईल. युनिट रेकॉर्ड असे दिसते:

शून्य पळवाट()

{

डिजिटलराइट(13, उच्च);

}

आता बोर्डचा पिन 13 उंच सेट केला जाईल - एक तर्कशास्त्र, आणि त्याचा वापर एलईडी दिवा लावण्यासाठी केला जाऊ शकतो.

एलईडी बंद करण्यासाठी, तुम्हाला आउटपुट शून्यावर सेट करणे आवश्यक आहे:

डिजिटलराइट (13, कमी);

त्यामुळे, पोर्ट रजिस्टरच्या संबंधित बिटवर वैकल्पिकरित्या एक आणि शून्य लिहून, तुम्ही बाह्य उपकरणे नियंत्रित करू शकता.

आता तुम्ही LED नियंत्रित करण्यासाठी Arduino प्रोग्राम क्लिष्ट करू शकता आणि प्रकाश उत्सर्जक घटक कसे ब्लिंक करायचे ते शिकू शकता:

निरर्थक सेटअप()

{

पिनमोड(13, आउटपुट);

}

शून्य पळवाट()

{

डिजिटलराइट(13, उच्च);

विलंब (1000);

डिजिटलराइट (13, कमी);

विलंब (1000);

}

संघ विलंब(1000) 1000 मिलीसेकंद किंवा एक सेकंदाचा विलंब निर्माण करतो. हे मूल्य बदलून, आपण LED ब्लिंकिंगची वारंवारता किंवा कर्तव्य चक्र बदलू शकता. जर बाह्य एलईडी बोर्डच्या दुसर्या आउटपुटशी कनेक्ट केलेले असेल, तर प्रोग्राममध्ये, 13 ऐवजी, आपण निवडलेल्या पिनची संख्या निर्दिष्ट करणे आवश्यक आहे.

स्पष्टतेसाठी, आम्ही व्हिडिओंच्या मालिकेची शिफारस करतो.

Arduino ला LED कनेक्शन्समध्ये प्रभुत्व मिळवल्यानंतर आणि ते कसे नियंत्रित करायचे हे शिकून, तुम्ही नवीन स्तरावर जाऊ शकता आणि इतर, अधिक जटिल प्रोग्राम लिहू शकता. उदाहरणार्थ, तुम्ही एका बटणाने दोन किंवा अधिक एलईडी कसे बदलायचे, बाह्य पोटेंशियोमीटर वापरून ब्लिंकिंग फ्रिक्वेंसी कशी बदलायची, PWM वापरून ग्लोची चमक समायोजित करणे, RGB एमिटरचा रंग बदलणे हे शिकू शकता. कार्यांची पातळी केवळ कल्पनेने मर्यादित आहे.

टिप्पण्या:
अद्याप कोणत्याही टिप्पण्या नाहीत. प्रथम व्हा!

आम्ही तुम्हाला वाचण्याचा सल्ला देतो

एलईडी दिवा स्वतः कसा दुरुस्त करावा