विषयसूची:

I2C रिले मेट Arduino IDE: 5 चरण
I2C रिले मेट Arduino IDE: 5 चरण

वीडियो: I2C रिले मेट Arduino IDE: 5 चरण

वीडियो: I2C रिले मेट Arduino IDE: 5 चरण
वीडियो: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, जुलाई
Anonim
I2C रिले मेट Arduino IDE
I2C रिले मेट Arduino IDE

मैं एक अच्छा रिलेबोर्ड ऑर्डर करता हूं लेकिन कोई ArduinoIDE निर्देश नहीं था, बस रास्पबेरी पाई ई.ओ. मुझे पता चला कि इसे Arduino के साथ कैसे उपयोग करना है और इसे साझा करना चाहते हैं ताकि आप उस समय को बचा सकें।

मूल रास्पबेरीपी उदाहरण:

wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099

अच्छी बात यह है कि आप 4 बोर्ड तक ढेर कर सकते हैं। तो आप अधिकतम उपयोग कर सकते हैं। एक I2C बस पर 4 x 4 = 16 रिले।

कुछ विपक्ष भी हैं:

  • छोटे टर्मिनस, 1 मिमी2 तार फिट नहीं होते
  • जब वे एक साथ ढेर हो जाते हैं तो आप नीचे के कनेक्टर्स की वायरिंग नहीं बदल सकते हैं

लेकिन फिर भी आसान बोर्ड।

चरण 1: वायरिंग

वायरिंग
वायरिंग
वायरिंग
वायरिंग
वायरिंग
वायरिंग

तस्वीरों में आप वायरिंग देख सकते हैं।

52Pi को 3.3V (I2C चिप) में 5V (रिले के लिए) दोनों की आवश्यकता है।

तो 5 तारों की जरूरत:

  • GND से GND
  • 5 वी से 5 वी
  • 3.3 वी से 3.3 वी
  • SLA से SLA
  • एससीएल से एससीएल

यदि आप एक Arduino UNO या अन्य 5 V का उपयोग करते हैं तो I2C नियंत्रक से अधिकतम 3, 6 V से सावधान रहें! Arduino पिन में से 5 V को कम करने के लिए प्रतिरोधों का उपयोग करें या फिर!

चरण 2: सरल कोड उदाहरण:

/* I2C relaisboard के लिए Arduino IDE (ESP) उदाहरण।

* लॉरेन्स कोर्स्ट द्वारा www.boktorrobotica.nl * उपयोग करने के लिए निःशुल्क। */ #include // I2C संचार के लिए शून्य सेटअप () {// यह नियम UNO या समर्पित I2C पिन वाले बोर्डों के लिए नहीं है Wire.begin(D1, D2); // NodeMCU के लिए SDA=D1 और SCL=D2 के साथ i2c बस में शामिल हों} शून्य लूप () { Wire.beginTransmission(0x10);/* I2C एड्रेस 10 पर ट्रांसमिट करना शुरू करें (11, 12 या 13 में भी बदलने के लिए) */ वायर.लिखें (0x01); /* चॉइस रिले 1 (4 में से) 10 पर (भी 0x02, 0x03, 0x04) */ Wire.write(0xFF); /* 10 से ON बोर्ड पर रिले 1 सेट करें। सभी नंबर> 0 ऐसा करेंगे */ Wire.endTransmission(); /* संचारण बंद करो */ देरी (3000); वायर.बेगिनट्रांसमिशन (0x10); /* */ वायर.राइट (0x01); वायर.राइट (0x00); /* 10 से ऑफ बोर्ड पर रिले 1 सेट करें */ Wire.endTransmission(); /* संचारण बंद करो */ देरी (3000); }

चरण 3: चार रिले टेस्ट कोड

/* Arduino के लिए लॉरेन्स कोर्स्ट द्वारा स्केच (ESP / NodeMCU)

* लेकिन अन्य बोर्ड भी करेंगे * www.boktorrobotica.nl * इस स्कीच में 4 रिले को निष्क्रिय कर दिया जाएगा */ #include // के लिए I2C संचार शून्य सेटअप() { Serial.begin(115200); // डीबग के लिए सीरियल शुरू करें (यूएनओ के लिए 9600) वायर.बेगिन (डी 1, डी 2); // i2c बस में SDA = D1 और SCL = D2 के NodeMCU के साथ शामिल हों, UNO की कोई आवश्यकता नहीं है} शून्य लूप () { के लिए (int i = 1; i <= 4; i ++) { Wire.beginTransmission (0x10); // डिवाइस के पते से शुरू करें Wire.write(i); // पसंद रिले वायर.राइट (0xFF); // "ऑन" कोड एफएफ भेजें (01 से एफएफ तक हर गिनती करेगा) Wire.endTransmission (); // Serial.write (i) को प्रसारित करना बंद करें; Serial.println ("आन"); देरी (1000); वायर.बेगिनट्रांसमिशन (0x10); // डिवाइस के पते से शुरू करें Wire.write(i); वायर.राइट (0x00); // "ऑफ" कोड भेजें Wire.endTransmission (); // Serial.write (i) को प्रसारित करना बंद करें; Serial.println ("यूआईटी"); देरी (1000); } }

चरण 4: मेरा प्रोजेक्ट

मेरी परियोजना
मेरी परियोजना
मेरी परियोजना
मेरी परियोजना

मैंने अपने 3 शटर संचालित करने के लिए एक कोड लिखा है। यह स्विच के साथ किया जा सकता है लेकिन BLYNK ऐप के साथ भी, छवि देखें।

  • एक छोटा प्रेस एक शटर को हिलाना शुरू कर देगा (या जब यह चल रहा हो तो इसे रोक दें)।
  • एक लंबा प्रेस और तीनों शटर खुले (या बंद या बंद)।
  • दोहरा दबाव: शटर "छेद" स्थिति में जाते हैं।

जैसा कि चित्र में देखा जा सकता है, मैंने एक तापमान और प्रकाश संवेदक भी एकीकृत किया है।

अब सब कुछ एक अच्छे बेस पीसीबी पर और बड़े करीने से एक बॉक्स में।

चरण 5: एक कमांड के साथ एक रिले को कॉल करें

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

/* I2C रिलेबोर्ड के साथ Arduino (ESP / NodeMCU) के लिए लॉरेन्स कोरस्टे द्वारा स्केच * लेकिन अन्य बोर्ड भी करेंगे * href= https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099; www.boktorrobotica.nl * इस स्केच में रिले को एक कॉल द्वारा सक्रिय किया जाएगा; *// #include // I2C संचार के लिए // रिले घोषणा। 4 पीसीबी प्रति पीसीबी 4 रिले संभव। इस स्केच में केवल दो पीसीबी // पीसीबी और रिले को मिला दिया गया है ताकि उन्हें एक कमांड कॉन्स्ट बाइट पुटऑन = 0xFF के साथ बुलाया जा सके; // कॉन्स्ट बाइट पुटऑफ = 0x00 पर स्विच करने के लिए कमांड; // स्विच ऑफ करने के लिए कमांड कॉन्स्ट शब्द Relay1bord1=0x1001; // आप उदाहरण के द्वारा नामों को मौका दे सकते हैं Relay1 const शब्द Relay2bord1=0x1002; // आप उदाहरण के लिए नामों को मौका दे सकते हैं Relay2 const शब्द Relay3bord1=0x1003; // आप उदाहरण के लिए नामों को मौका दे सकते हैं Relay3 const शब्द Relay4bord1=0x1004; // आप उदाहरण के लिए नामों को मौका दे सकते हैं Relay4 const शब्द Relay1bord2=0x1101; // आप उदाहरण के लिए नामों को मौका दे सकते हैं Relay5 const w ord Relay2bord2=0x1102; // आप उदाहरण के द्वारा नामों को मौका दे सकते हैं Relay6 const शब्द Relay3bord2=0x1103; // आप उदाहरण के लिए नामों को मौका दे सकते हैं Relay7 const शब्द Relay4bord2=0x1104; // आप उदाहरण के द्वारा नामों को मौका दे सकते हैं Relay8 const शब्द Relay1bord3=0x1201; // आप उदाहरण के द्वारा नामों को मौका दे सकते हैं Relay9 const शब्द Relay2bord4=0x1302; // आप उदाहरण के द्वारा नामों को मौका दे सकते हैं Relay14 void setup() { Serial.begin(115200); // डीबग के लिए सीरियल शुरू करें (यूएनओ के लिए 9600) वायर.बेगिन (डी 1, डी 2); // i2c बस में SDA = D1 और SCL = NodeMCU के D2 के साथ शामिल हों, UNO की कोई आवश्यकता नहीं है} शून्य लूप () {// रिले 4 को PCB 2 पर RelayActie (Relay4bord2, PutOn) पर स्विच करने के लिए; देरी (1000); // रिलेएक्टी (Relay4bord2, PutOff) से पीसीबी 2 पर रिले 4 को स्विच करने के लिए; देरी (1000); } शून्य रिलेएक्टी (शब्द रिले, बाइट ऑनऑरऑफ) {वायर.बेगिनट्रांसमिशन (हाईबाइट (रिले)); वायर.राइट (लोबाइट (रिले)); वायर.राइट (ऑनऑरऑफ); वायर.एंडट्रांसमिशन (); }

सिफारिश की: