विषयसूची:

IOT123 - I2C MQ2 ईंट: 5 कदम
IOT123 - I2C MQ2 ईंट: 5 कदम

वीडियो: IOT123 - I2C MQ2 ईंट: 5 कदम

वीडियो: IOT123 - I2C MQ2 ईंट: 5 कदम
वीडियो: MQ-2 датчик газов и дыма подключаем к Arduino 2024, जुलाई
Anonim
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK

IOT123 ब्रिक्स DIY मॉड्यूलर इकाइयां हैं जिन्हें नोड या पहनने योग्य में कार्यक्षमता जोड़ने के लिए अन्य IOT123 ब्रिक्स के साथ मैश किया जा सकता है। वे छेद के माध्यम से परस्पर जुड़े हुए इंच वर्ग, दो तरफा प्रोटोबार्ड पर आधारित होते हैं।

इनमें से कई ब्रिक्स एक साइट पर कई नोड्स (मास्टर MCUs - ESP8266 या ATTINY84) पर होने की उम्मीद है। MCU को सेंसर के उद्देश्य या सॉफ़्टवेयर की ज़रूरतों के पूर्व ज्ञान की आवश्यकता नहीं है। यह I2C नोड्स के लिए स्कैन करता है और फिर प्रत्येक दास से एक संपत्ति डंप (सेंसर डेटा) का अनुरोध करता है। ये BRICKs 5.0V, 3.3V और एक अन्य AUX लाइन की आपूर्ति करते हैं जो कि अनुकूलन योग्य है।

यह I2C MQ2 BRICK 3 संपत्तियों को डंप करता है:

एलपीजी (पार्ट्स प्रति मिलियन), सीओ (पीपीएम), स्मोक (पीपीएम)।

इस सेंसर ने एक दिलचस्प परिदृश्य प्रदान किया: इसे गर्म करने के लिए कम से कम 2 मिनट (5 मिनट तक) की आवश्यकता होती है, फिर इसे उपयोग करने से पहले 20 सेकंड के लिए कैलिब्रेट करने की आवश्यकता होती है। चूंकि मेजबान एमसीयू केवल नाम/मूल्य जोड़े (और एक जारी संदेश) प्राप्त करने में व्यस्त है, इसलिए हमने "तैयार" संपत्ति पेश की है। चूंकि इसका जारी संदेश "1" (आने वाला और अधिक) है, मेजबान एमसीयू तैयार होने तक ब्रिक को मतदान करता रहेगा। इसके अलावा, उपयोग करने से पहले MQ2 को "बर्न-इन" करने की सिफारिश की जाती है यानी 24 घंटे के लिए आपके 5V सर्किट से जुड़ा हुआ छोड़ दें।

Keyes टाइप सेंसर ईंटों को पहले अमूर्त किया जाएगा क्योंकि वे विटामिन (अतिरिक्त घटकों की आवश्यकता) के साथ आते हैं और अपेक्षाकृत चीप होते हैं (मैंने 10AUD के लिए 37 खरीदा)। अन्य बोर्ड/सर्किट I2C BRICS में शामिल किए जाएंगे।

ATTINY85 से सटे थ्रू-होल को एक पोगो पिन प्रोग्रामर को सक्षम करने के लिए अप्रयुक्त छोड़ दिया गया है, जबकि DIP8 को PCB में मिलाया जाता है।

एक और अमूर्तता, ब्रिक्स को छोटे सिलेंडरों में पैक करना जो एक डी1एम वाईफ़ाई ब्लॉक हब में प्लग करते हैं, एक एमक्यूटीटी सर्वर पर मूल्यों को पंप करते हैं, विकसित किया जा रहा है।

चरण 1: सामग्री और उपकरण

सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण
सामग्री और उपकरण

सामग्री और सोर्सिंग सूची का एक पूर्ण बिल है।

  1. MQ2 सेंसर ईंट (1)
  2. ATTINY85 20PU (1)
  3. 1 "दो तरफा प्रोटोबार्ड (1)
  4. पुरुष हैडर 90º (3पी, 3पी)
  5. पुरुष हैडर (2पी, 2पी)
  6. जम्पर शंट (1)
  7. हुकअप तार (~ 7)
  8. सोल्डर और आयरन (1)

चरण 2: ATTINY85. तैयार करें

ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें
ATTINY85. तैयार करें

बोर्ड प्रबंधक से AttinyCore की आवश्यकता है। बूटलोडर "EEPROM रिटेन्ड", "8mHZ इंटरनल" (ऊपर दिखाया गया सभी कॉन्फिगरेशन) को बर्न करें।

शामिल स्रोत का उपयोग करें; ATtiny85 को संकलित करें और प्रोग्राम करें।

जीआईएसटी यहां है:

gist.github.com/IOT-123/4c501046d365d01a60…

आप इन निर्देशों में अधिक विवरण पा सकते हैं:

www.instructables.com/id/Programming-the-A…

www.instructables.com/id/How-to-Program-AT…

www.instructables.com/id/How-to-program-th…

www.instructables.com/id/Programming-the-A…

www.instructables.com/id/Programming-an-At…

जारी रखने से पहले ब्रेडबोर्ड के माध्यम से परीक्षण करना सबसे अच्छा है।

यदि आपके पास मौजूदा एसिमिलेट सेंसर हैं, तो सुनिश्चित करें कि सेंसर/एमसीयू होस्ट संयोजन पर दास का पता अलग है यानी सभी तापमान सेंसर का एक ही पता हो सकता है जब तक कि आपके पास एमसीयू/नोड पर केवल एक तापमान सेंसर हो।

चरण 3: सर्किट को इकट्ठा करें

सर्किट को इकट्ठा करो
सर्किट को इकट्ठा करो
सर्किट को इकट्ठा करो
सर्किट को इकट्ठा करो
सर्किट को इकट्ठा करो
सर्किट को इकट्ठा करो
  1. मोर्चे पर, घटक ATTINY85 (1), 3P 90deg पुरुष हेडर (2) (3), 2P पुरुष हेडर (4) (5), और पीछे की तरफ मिलाप डालें।
  2. पीछे की तरफ, ऑरेंज 1 से ऑरेंज 2 और सोल्डर तक एक नारंगी तार ट्रेस करें।
  3. पीछे की तरफ, नीले रंग के तार को BLUE1 से BLUE2 और सोल्डर तक ट्रेस करें।
  4. पीछे की तरफ, हरे रंग के तार को GREEN1 से GREEN2 और सोल्डर तक ट्रेस करें।
  5. पीछे की तरफ, सिल्वर 1 से सिल्वर 2 और सोल्डर तक एक नंगे तार को ट्रेस करें।
  6. पीछे की तरफ, सिल्वर 3 से सिल्वर 4 और सोल्डर तक एक नंगे तार को ट्रेस करें।
  7. पीछे की तरफ, BLACK1 से BLACK2 और सोल्डर तक एक ब्लैक वायर ट्रेस करें।
  8. पीछे की तरफ, BLACK3 से BLACK4 और सोल्डर तक एक ब्लैक वायर ट्रेस करें।
  9. पीछे की तरफ, RED1 से RED2 और सोल्डर तक एक लाल तार ट्रेस करें।
  10. पीछे की तरफ, RED3 से RED4 और सोल्डर तक एक लाल तार ट्रेस करें।
  11. पीछे की तरफ, YELLOW1 से YELLOW2 और सोल्डर तक एक पीले रंग के तार को ट्रेस करें।

सेंसर को अब सीधे अपने पिन के माध्यम से पीसीबी या तारों के माध्यम से पिन अनुबंध में दिखाए गए बिंदुओं से जोड़ा जा सकता है।

चरण 4: परीक्षण

परिक्षण
परिक्षण
परिक्षण
परिक्षण
परिक्षण
परिक्षण

इनमें से कई ब्रिक्स एक वातावरण में कई नोड्स (एमसीयू - ईएसपी 8266 या एटीटीआईएनवाई 84) पर होने की उम्मीद है। यह एक इकाई परीक्षण है: यूएनओ अनुरोधों/प्रतिक्रियाओं की जांच करता है जब तक कि सभी डेटा डंप नहीं किया जाता है, फिर I2C दास की उपेक्षा करता है।

  1. अपने यूएनओ टेस्ट हार्नेस पर यूएनओ कोड अपलोड करें। सुनिश्चित करें कि ADDRESS_SLAVE BRICK के I2C पते से मेल खाता है।
  2. UNO पर 5.0V को BRICK पर VCC से कनेक्ट करें।
  3. सुनिश्चित करें कि उस पिन के लिए जम्पर चालू है।
  4. UNO पर GND को BRICK पर GND से कनेक्ट करें।
  5. UNO पर A5 को BRICK पर SCL से कनेक्ट करें।
  6. UNO पर A4 को BRICK पर SDA से कनेक्ट करें।
  7. एक 4K7 पुल-अप रोकनेवाला SDA से VCC से कनेक्ट करें।
  8. एक 4K7 पुल-अप रोकनेवाला SCL से VCC से कनेक्ट करें।
  9. यूएसबी के साथ अपने यूएनओ को अपने देव पीसी से कनेक्ट करें।
  10. Arduino कंसोल खोलें। 9600 बॉड चुनें (यूएनओ को पुनरारंभ करें और यदि आपको करना है तो कंसोल को फिर से खोलें)।
  11. संपत्ति के नाम और मूल्यों को एक बार कंसोल पर मुद्रित किया जाना चाहिए, फिर नींद शब्द दोहराया जाता है।

यदि आप "सेटअप" देखते हैं तो कचरे की 3 लाइनें दोहराई जाती हैं, आपके पास आपकी एसडीए और एससीएल लाइनें पीछे की ओर हो सकती हैं।

प्लॉटर/मेटाडेटा समर्थन के साथ I2C स्लेव से I2C मास्टर लॉगिंग।

#शामिल
#defineADDRESS_SLAVE10
बूल _आउटपुटप्लॉटर केवल = झूठा;
बूल _confirmedMetadata = false;
int _packetSegment = 0;
बूल _i2cNodeProcessed = झूठा;
चार _प्रॉपर्टी [2] [24] = {"नाम", "मान"};
व्यर्थ व्यवस्था() {
वायर.बेगिन (); // i2c बस में शामिल हों (मास्टर के लिए वैकल्पिक पता)
सीरियल.बेगिन (९६००); // आउटपुट के लिए सीरियल शुरू करें
देरी (1000);
अगर (!_outputPlotterOnly){
Serial.println ("सेटअप");
सीरियल.प्रिंट्लन ();
}
}
शून्य लूप () {
अगर (_i2cNodeProcessed){
अगर (!_confirmedMetadata){// गुलाम को सेंसर डेटा भेजना शुरू करने के बारे में बताएं
देरी(1);
Wire.beginTransmission (ADDRESS_SLAVE);
वायर.लिखें(1);
वायर.एंडट्रांसमिशन ();
देरी (100);
_confirmedMetadata = सच;
}
_i2cNodeProcessed = असत्य;
अगर (!_outputPlotterOnly){
सीरियल.प्रिंट्लन ();
}
वापसी;
}
Wire.requestFrom (ADDRESS_SLAVE, 16);
_पैकेटसेगमेंट++;
चार पैकेट [16];
इंइंडेक्स = 0;
बूल isContinueSegment = false; // जारी रखें सेगमेंट (तीसरा) 1 = अधिक, 0 = अंतिम
जबकि (वायर.उपलब्ध ()) {// दास अनुरोध से कम भेज सकता है
चार सी = वायर.रीड ();
पैकेट [सूचकांक] = int (सी)> -1? c: '';// अमान्य वर्णों को रिक्त स्थान से बदलें
अगर (_packetSegment == 3){
_पैकेट सेगमेंट = 0;
isContinueSegment = सच;
// सीरियल.प्रिंट्लन ("----------------");
// सीरियल.प्रिंट्लन (इंट (सी));
// सीरियल.प्रिंट्लन ("----------------");
अगर (int(c) == 48 || int(c) == 86){// 0 अंतिम संपत्ति पर
_i2cNodeProcessed = सच;
// MQTT को मान भेजें
टूटना;
}
}
सूचकांक++;
}
अगर (!isContinueSegment){
अगर (!_outputPlotterOnly){
Serial.println (पैकेट);
}
strcpy(_property[_packetSegment-1], पैकेट);// नाम/मूल्य के साथ स्थानीय संस्करण सेट करें
}अन्यथा{
अगर (_outputPlotterOnly && _confirmedMetadata){
अगर (_i2cNodeProcessed){
Serial.println(_property[1]);
}अन्यथा{
सीरियल.प्रिंट (_property[1]);
सीरियल.प्रिंट ("");
}
}
}
}

देखें rawuno_i2c_generic_sensor_test_w_plotter_v2.ino ❤ के साथ GitHub द्वारा होस्ट किया गया

चरण 5: अगले चरण

सर्किट का मूल लेआउट और सॉफ्टवेयर की I2C परत कई अलग-अलग सेंसर से संबंधित है। आरंभ करने का अधिकार प्राप्त करने के लिए मुख्य बात मास्टर और दास के बीच पैकेट अनुबंध है।

मैंने सेंसरों का एक (3डी प्रिंटेड) पैकेज्ड नेटवर्क स्लेट/शुरू किया है जो इस ढांचे का उपयोग करते हैं और भागों के प्रकाशित होने पर इसे लिंक करेंगे।

इस ब्लॉक का उपयोग MQ2 ASSIMILATE सेंसर द्वारा किया जाता है।

सिफारिश की: