विषयसूची:
- आपूर्ति
- चरण 1: DockerPi Series 4 चैनल रिले बोर्ड के बारे में जानना
- चरण 2: विशेषताएं
- चरण 3: डिवाइस पता मानचित्र
- चरण 4: रिले को मुख्य विद्युत आपूर्ति द्वारा संचालित बल्ब होल्डर से कनेक्ट करें
- चरण 5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
- चरण 6: प्रोग्रामिंग के बिना प्रत्यक्ष नियंत्रण (रास्पबेरी पाई)
- चरण 7: भाषा सी में कार्यक्रम (रास्पबेरी पाई)
- चरण 8: पायथन में कार्यक्रम (रास्पबेरी पाई)
- चरण 9: जावा में प्रोग्राम (रास्पबेरी पाई)
वीडियो: रोशनी नियंत्रण प्रणाली: 9 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
हाल ही में मैं सुरक्षा अनुसंधान उद्देश्यों के लिए माइक्रोकंट्रोलर और IOT आधारित उपकरणों को समझने पर काम कर रहा था। इसलिए, मैंने अभ्यास के लिए एक छोटा होम ऑटोमेशन सिस्टम बनाने के बारे में सोचा। मुझे इसे पूरा करना अभी बाकी है, लेकिन स्टार्टअप के लिए मैं इस पोस्ट में अपने कमरे की रोशनी को नियंत्रित करने के लिए रास्पबेरी पाई 2 और कुछ अन्य विद्युत घटकों का उपयोग करने के तरीके को साझा करूंगा। इसके अलावा, मैं यहां रास्पबेरी के लिए प्रारंभिक सेटअप के बारे में बात नहीं कर रहा हूं, इसके लिए आपको विभिन्न ट्यूटोरियल मिल सकते हैं।
लेकिन इस प्रोजेक्ट में, मैं आपके लिए इस docker pi सीरीज के उत्पाद को पेश करूंगा।
आपूर्ति
घटक सूची:
- 1 एक्स रास्पबेरी पाई 3बी+/3बी/शून्य/शून्य डब्ल्यू/4बी/
- 1 x 16GB कक्षा 10 TF कार्ड
- 1 एक्स डॉकरपी श्रृंखला 4 चैनल रिले बोर्ड (एचएटी)
- 1 x [email protected] बिजली की आपूर्ति जो कि 52Pi. से है
- 4 एक्स लाइट स्ट्रिप
- 1 एक्स डीसी कनेक्टर
- प्रकाश स्ट्रिप्स के लिए 1 x 12V बिजली की आपूर्ति।
- कई तार।
चरण 1: DockerPi Series 4 चैनल रिले बोर्ड के बारे में जानना
DockerPi 4 Channel Relay DockerPi Series का एक सदस्य है, जो आमतौर पर IOT अनुप्रयोगों में उपयोग किया जाता है।
DockerPi 4 चैनल रिले अधिक विचारों को प्राप्त करने के लिए पारंपरिक स्विच के बजाय AC/DC को रिले कर सकता है। DockerPi 4 चैनल रिले 4 तक स्टैक कर सकता है, और इसे अन्य DockerPi विस्तार बोर्ड के साथ स्टैक किया जा सकता है। यदि आपको लंबे समय तक चलने की आवश्यकता है, तो हम यह भी अनुशंसा करते हैं कि आप अधिक शक्ति प्रदान करने के लिए हमारे DockerPi Power विस्तार बोर्ड का उपयोग करें।
सावधानी के नोट इससे पहले कि हम आगे बढ़ें, मैं आपको "मुख्य बिजली" के साथ प्रयोग करने के खतरे के बारे में चेतावनी देना चाहता हूं। अगर कुछ भी गलत हो जाता है तो सबसे खराब परिणाम मौत या कम से कम अपने घर को जलाना हो सकता है। इसलिए, कृपया इस लेख में उल्लिखित कुछ भी करने का प्रयास न करें यदि आप समझ नहीं पा रहे हैं कि आप क्या कर रहे हैं या किसी अनुभवी इलेक्ट्रीशियन की मदद लें। आएँ शुरू करें।
चरण 2: विशेषताएं
- डॉकरपी सीरीज
- निर्देशयोग्य
- सीधे नियंत्रण (प्रोग्रामिंग के बिना)
- GPIO पिन बढ़ाएँ
- 4 चैनल रिले
- 4 Alt I2C Addr सपोर्ट
- रिले स्थिति एलईडी समर्थन
- 3ए 250वी एसी सपोर्ट
- 3ए 30वी डीसी
- मेनबोर्ड हार्डवेयर से स्वतंत्र अन्य स्टैक बोर्ड के साथ स्टैक कर सकते हैं (I2C समर्थन की आवश्यकता है)
चरण 3: डिवाइस पता मानचित्र
इस बोर्ड का अलग रजिस्टर पता है, और आप प्रत्येक रिले को केवल एक कमांड द्वारा नियंत्रित कर सकते हैं।
अन्य आवश्यकताएं:
पायथन या सी या शेल या जावा या किसी अन्य भाषा की बुनियादी समझ (मैं सी, पायथन, शेल और जावा का उपयोग करूंगा)
- लिनक्स सिस्टम की बुनियादी समझ
- बुद्धि तत्परता
अब, आगे बढ़ने से पहले आपको उन विद्युत घटकों को समझना होगा जिनका हम उपयोग करेंगे:
1. रिले:
रिले एक विद्युत उपकरण है जो आम तौर पर इनपुट के रूप में बहुत कम वोल्टेज का उपयोग करके उच्च वोल्टेज को नियंत्रित करने के लिए उपयोग किया जाता है। इसमें एक पोल के चारों ओर लिपटे एक कॉइल और दो छोटे धातु के फ्लैप (नोड्स) होते हैं जिनका उपयोग सर्किट को बंद करने के लिए किया जाता है। नोड में से एक स्थिर है और दूसरा चल रहा है। जब भी कुंडली में से विद्युत प्रवाहित की जाती है, तो यह एक चुंबकीय क्षेत्र बनाती है और गतिमान नोड को स्थिर नोड की ओर आकर्षित करती है और परिपथ पूरा हो जाता है। तो, कॉइल को पावर देने के लिए केवल छोटे वोल्टेज को लागू करके हम वास्तव में उच्च वोल्टेज यात्रा करने के लिए सर्किट को पूरा कर सकते हैं। इसके अलावा, चूंकि स्थिर नोड कॉइल से भौतिक रूप से जुड़ा नहीं है, इसलिए बहुत कम संभावना है कि कुछ गलत होने पर कॉइल को पावर देने वाला माइक्रोकंट्रोलर क्षतिग्रस्त हो जाए।
चरण 4: रिले को मुख्य विद्युत आपूर्ति द्वारा संचालित बल्ब होल्डर से कनेक्ट करें
अब मुश्किल भाग में, हम रिले को मेन इलेक्ट्रिक सप्लाई द्वारा संचालित बल्ब होल्डर से जोड़ेंगे। लेकिन, पहले मैं आपको एक संक्षिप्त विचार देना चाहता हूं कि प्रत्यक्ष बिजली आपूर्ति के माध्यम से रोशनी को कैसे चालू और बंद किया जाता है।
अब, जब प्रकाश बल्ब को मुख्य आपूर्ति से जोड़ा जाता है, तो हम आमतौर पर दो तारों को बल्ब से जोड़कर ऐसा करते हैं। तार में से एक "तटस्थ" तार है और दूसरा "नकारात्मक" तार है जो वास्तव में वर्तमान को वहन करता है, साथ ही एक बंद तंत्र को नियंत्रित करने के लिए पूरे सर्किट में एक स्विच जोड़ा जाता है। इसलिए, जब स्विथ जुड़ा होता है (या चालू होता है) तो करंट बल्ब और न्यूट्रल वायर से होकर प्रवाहित होता है, जिससे सर्किट पूरा हो जाता है। यह प्रकाश बल्ब को चालू करता है। जब स्विच चालू किया जाता है, तो यह सर्किट को तोड़ देता है और प्रकाश बल्ब बंद हो जाता है। इसे समझाने के लिए यहां एक छोटा सर्किट आरेख दिया गया है:
अब, हमारे प्रयोग के लिए, हमें सर्किट को तोड़ने और रिले के स्विचिंग का उपयोग करके बिजली के प्रवाह को नियंत्रित करने के लिए "नेगेटिव वायर" को हमारे रिले से गुजरना होगा। इसलिए, जब रिले चालू हो जाएगा, तो उसे सर्किट पूरा करना चाहिए और लाइट बल्ब चालू होना चाहिए और इसके विपरीत। फुल सर्किट के लिए नीचे दिए गए डायग्राम को देखें।
चरण 5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
sudo raspi-config चलाएँ और ARM कोर और linux कर्नेल के लिए i2c समर्थन स्थापित करने के लिए संकेतों का पालन करें
इंटरफेसिंग विकल्प पर जाएं
चरण 6: प्रोग्रामिंग के बिना प्रत्यक्ष नियंत्रण (रास्पबेरी पाई)
चैनल नंबर 1 रिले चालू करें
i2cset -y 1 0x10 0x01 0xFF
चैनल नंबर 1 रिले बंद करें
i2cset -y 1 0x10 0x01 0x00
चैनल नंबर 2 रिले चालू करें
i2cset -y 1 0x10 0x02 0xFF
चैनल नंबर 2 रिले बंद करें
i2cset -y 1 0x10 0x02 0x00
चैनल नंबर 3 रिले चालू करें
i2cset -y 1 0x10 0x03 0xFF
चैनल नंबर 3 रिले बंद करें
i2cset -y 1 0x10 0x03 0x00
चैनल नंबर 4 रिले चालू करें
i2cset -y 1 0x10 0x04 0xFF
चैनल नंबर 4 रिले बंद करें
i2cset -y 1 0x10 0x04 0x00
चरण 7: भाषा सी में कार्यक्रम (रास्पबेरी पाई)
स्रोत कोड बनाएं और इसे "relay.c" नाम दें
#शामिल
#शामिल
#शामिल
#DEVCIE_ADDR 0x10 परिभाषित करें
# परिभाषित करें RELAY1 0x01
# परिभाषित करें RELAY2 0x02
# परिभाषित करें RELAY3 0x03
# परिभाषित करें RELAY4 0x04
#0xFF पर परिभाषित करें
#परिभाषित करें 0x00
मुख्य अंतर (शून्य)
{
प्रिंटफ ("सी / n में रिले चालू करें");
इंट एफडी;
इंट मैं = 0;
fd = वायरिंगPiI2Cसेटअप (DEVICE_ADDR);
के लिये(;;){
के लिए (i=1; i<=4; i++)
{
प्रिंटफ ("रिले नंबर $ d चालू करें", i);
वायरिंगPiI2CWriteReg8 (fd, i, ON);
नींद (200);
प्रिंटफ ("रिले नंबर $ d बंद करें", i);
वायरिंगPiI2CWriteReg8 (fd, i, OFF);
नींद (200);
}
}
वापसी 0;
}
इसे संकलित करें।
जीसीसी रिले.सी-एलवायरिंगपीआई-ओ रिले
इसे निष्पादित करें
./रिले
चरण 8: पायथन में कार्यक्रम (रास्पबेरी पाई)
निम्नलिखित कोड को पायथन 3 का उपयोग करके निष्पादित करने और smbus लाइब्रेरी स्थापित करने की अनुशंसा की जाती है:
इसे नाम की एक फाइल बनाएं: "relay.py" और निम्नलिखित कोड पेस्ट करें:
समय के रूप में आयात करें
आयात smbus
आयात प्रणाली
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
बस = smbus. SMBus (DEVICE_BUS)
जबकि सच:
प्रयत्न:
मेरे लिए रेंज में (1, 5):
बस.राइट_बाइट_डेटा (DEVICE_ADDR, i, 0xFF)
टी.नींद(1)
बस.राइट_बाइट_डेटा (DEVICE_ADDR, i, 0x00)
टी.नींद(1)
ई के रूप में कीबोर्ड इंटरप्ट को छोड़कर:
प्रिंट ("लूप से बाहर निकलें")
sys.exit ()
* इसे सहेजें और फिर python3 के रूप में चलाएँ:
python3 रिले.py
चरण 9: जावा में प्रोग्राम (रास्पबेरी पाई)
I2CRelay.java नाम की एक नई फाइल बनाएं और निम्नलिखित कोड पेस्ट करें:
java.io. IOException आयात करें;
आयात java.util. Arrays;
आयात com.pi4j.io.i2c. I2CBus;
आयात com.pi4j.io.i2c. I2CDउपकरण;
आयात com.pi4j.io.i2c. I2CFactory;
आयात com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
आयात com.pi4j.platform. PlatformAlreadyAssignedException;
आयात com.pi4j.util. Console;
पब्लिक क्लास I2CRelay {
// रिले का रजिस्टर पता।
सार्वजनिक स्थिर अंतिम int DOCKER_PI_RELAY_ADDR = 0x10;
// रिले का चैनल।
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_1 = (बाइट)0x01;
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_2 = (बाइट) 0x02;
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_3 = (बाइट) 0x03;
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_4 = (बाइट) 0x04;
// रिले स्थिति
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_ON = (बाइट) 0xFF;
सार्वजनिक स्थैतिक अंतिम बाइट DOCKER_PI_RELAY_OFF = (बाइट) 0x00;
सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args) इंटरप्टेड एक्सेप्शन फेंकता है, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
अंतिम कंसोल कंसोल = नया कंसोल ();
I2CBus i2c = I2CFactory.getInstance(I2CBus. BUS_1);
I2CDउपकरण उपकरण = i2c.getDevice(DOCKER_PI_RELAY_ADDR);
console.println ("रिले चालू करें!");
डिवाइस.लिखें (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
थ्रेड.स्लीप (500);
console.println ("रिले बंद करें!");
डिवाइस.लिखें (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
सिफारिश की:
स्टोन एचएमआई का उपयोग करें एक गृह नियंत्रण प्रणाली बनाएं: 9 कदम
स्टोन एचएमआई का उपयोग करें एक गृह नियंत्रण प्रणाली बनाएं: परियोजना परिचय निम्नलिखित ट्यूटोरियल आपको दिखाता है कि एक साधारण घरेलू उपकरण नियंत्रण प्रणाली बनाने के लिए स्टोन STVC050WT-01 टच डिस्प्ले मॉड्यूल का उपयोग कैसे करें। स्टोन STVC050WT - 01 सपोर्ट टच डिस्प्ले मॉड्यूल 5 इंच, 480 * 272 रेजोल्यूशन ऑन
रंग छँटाई प्रणाली: दो बेल्ट के साथ Arduino आधारित प्रणाली: 8 कदम
रंग छँटाई प्रणाली: दो बेल्ट के साथ Arduino आधारित प्रणाली: औद्योगिक क्षेत्र में उत्पादों और वस्तुओं का परिवहन और/या पैकेजिंग कन्वेयर बेल्ट का उपयोग करके बनाई गई लाइनों का उपयोग करके किया जाता है। वे बेल्ट विशिष्ट गति के साथ वस्तु को एक बिंदु से दूसरे स्थान पर ले जाने में मदद करते हैं। कुछ प्रसंस्करण या पहचान कार्य हो सकते हैं
टेरारियम के लिए आर्द्रता और तापमान नियंत्रण प्रणाली: 11 कदम (चित्रों के साथ)
टेरारियम के लिए आर्द्रता और तापमान नियंत्रण प्रणाली: परिचय: यह निर्देश एक Arduino Uno का उपयोग करके एक मॉड्यूलर आर्द्रता और तापमान नियंत्रण प्रणाली के विकास के लिए है। यह प्रणाली पर्यावरणीय मापदंडों की निगरानी के लिए एक जलरोधी आर्द्रता और तापमान जांच का उपयोग करती है और एक Arduino Uno con
NexArdu: रोशनी स्मार्ट नियंत्रण: 5 कदम
NexArdu: Illumination Smart Control: UpdateIf ने होम असिस्टेंट का उपयोग करके समान कार्यक्षमता विकसित की है। गृह सहायक संभावनाओं की एक विशाल श्रृंखला प्रदान करता है। आप यहां विकास पा सकते हैं। ----------------- 433.92 मेगाहर्ट्ज (ए
WS2811 वेबलाइट्स - अपने नए साल की रोशनी पर नियंत्रण रखें!: 8 कदम
WS2811 WebLights - अपने नए साल की रोशनी पर नियंत्रण रखें!: हर स्वाभिमानी मैगपाई की तरह मुझे सभी उज्ज्वल और चमकदार चीजें पसंद हैं। और निश्चित रूप से, इलेक्ट्रिक एलईडी मालाएं इस श्रेणी में आती हैं। दुर्भाग्य से, ये रोशनी मेरे ध्यान में तब आती हैं जब नया साल बीत चुका होता है। लेकिन नमसते! मुझे उम्मीद है कि यह हमारा आखिरी नहीं है