विषयसूची:
- चरण 1: सामग्री और उपकरण
- चरण 2: ATTINY85. तैयार करें
- चरण 3: सर्किट को इकट्ठा करें
- चरण 4: परीक्षण
- चरण 5: अगले चरण
वीडियो: IOT123 - I2C MQ2 ईंट: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
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: सामग्री और उपकरण
सामग्री और सोर्सिंग सूची का एक पूर्ण बिल है।
- MQ2 सेंसर ईंट (1)
- ATTINY85 20PU (1)
- 1 "दो तरफा प्रोटोबार्ड (1)
- पुरुष हैडर 90º (3पी, 3पी)
- पुरुष हैडर (2पी, 2पी)
- जम्पर शंट (1)
- हुकअप तार (~ 7)
- सोल्डर और आयरन (1)
चरण 2: 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: सर्किट को इकट्ठा करें
- मोर्चे पर, घटक ATTINY85 (1), 3P 90deg पुरुष हेडर (2) (3), 2P पुरुष हेडर (4) (5), और पीछे की तरफ मिलाप डालें।
- पीछे की तरफ, ऑरेंज 1 से ऑरेंज 2 और सोल्डर तक एक नारंगी तार ट्रेस करें।
- पीछे की तरफ, नीले रंग के तार को BLUE1 से BLUE2 और सोल्डर तक ट्रेस करें।
- पीछे की तरफ, हरे रंग के तार को GREEN1 से GREEN2 और सोल्डर तक ट्रेस करें।
- पीछे की तरफ, सिल्वर 1 से सिल्वर 2 और सोल्डर तक एक नंगे तार को ट्रेस करें।
- पीछे की तरफ, सिल्वर 3 से सिल्वर 4 और सोल्डर तक एक नंगे तार को ट्रेस करें।
- पीछे की तरफ, BLACK1 से BLACK2 और सोल्डर तक एक ब्लैक वायर ट्रेस करें।
- पीछे की तरफ, BLACK3 से BLACK4 और सोल्डर तक एक ब्लैक वायर ट्रेस करें।
- पीछे की तरफ, RED1 से RED2 और सोल्डर तक एक लाल तार ट्रेस करें।
- पीछे की तरफ, RED3 से RED4 और सोल्डर तक एक लाल तार ट्रेस करें।
- पीछे की तरफ, YELLOW1 से YELLOW2 और सोल्डर तक एक पीले रंग के तार को ट्रेस करें।
सेंसर को अब सीधे अपने पिन के माध्यम से पीसीबी या तारों के माध्यम से पिन अनुबंध में दिखाए गए बिंदुओं से जोड़ा जा सकता है।
चरण 4: परीक्षण
इनमें से कई ब्रिक्स एक वातावरण में कई नोड्स (एमसीयू - ईएसपी 8266 या एटीटीआईएनवाई 84) पर होने की उम्मीद है। यह एक इकाई परीक्षण है: यूएनओ अनुरोधों/प्रतिक्रियाओं की जांच करता है जब तक कि सभी डेटा डंप नहीं किया जाता है, फिर I2C दास की उपेक्षा करता है।
- अपने यूएनओ टेस्ट हार्नेस पर यूएनओ कोड अपलोड करें। सुनिश्चित करें कि ADDRESS_SLAVE BRICK के I2C पते से मेल खाता है।
- UNO पर 5.0V को BRICK पर VCC से कनेक्ट करें।
- सुनिश्चित करें कि उस पिन के लिए जम्पर चालू है।
- UNO पर GND को BRICK पर GND से कनेक्ट करें।
- UNO पर A5 को BRICK पर SCL से कनेक्ट करें।
- UNO पर A4 को BRICK पर SDA से कनेक्ट करें।
- एक 4K7 पुल-अप रोकनेवाला SDA से VCC से कनेक्ट करें।
- एक 4K7 पुल-अप रोकनेवाला SCL से VCC से कनेक्ट करें।
- यूएसबी के साथ अपने यूएनओ को अपने देव पीसी से कनेक्ट करें।
- Arduino कंसोल खोलें। 9600 बॉड चुनें (यूएनओ को पुनरारंभ करें और यदि आपको करना है तो कंसोल को फिर से खोलें)।
- संपत्ति के नाम और मूल्यों को एक बार कंसोल पर मुद्रित किया जाना चाहिए, फिर नींद शब्द दोहराया जाता है।
यदि आप "सेटअप" देखते हैं तो कचरे की 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 सेंसर द्वारा किया जाता है।
सिफारिश की:
Makey Makey के लिए ईंट स्विच पर क्लिक करें: 4 कदम (चित्रों के साथ)
मेकी मेकी के लिए ब्रिक स्विच पर क्लिक करें: यह ३डी प्रिंटेड स्विच उपयोगकर्ता को मेकी मेकी को "उंगली की स्लाइड" एक "क्लिक" के लिए गेमिंग में या प्रस्तुतियों के माध्यम से स्क्रॉल करने के लिए दाएं/बाएं तीर हो सकते हैं। दाएं और बाएं टर्मिनल माउंट के अलावा
सेल फोन की बैटरी ईंट: 6 कदम
सेल फोन बैटरी ब्रिक: यह एक अच्छा सप्ताहांत प्रोजेक्ट है जो आपको छोटे बोर्डों पर सोल्डर सीखने का अवसर देता है। यह DIY परियोजनाओं में शामिल होने वाले किसी भी व्यक्ति के लिए इसे एक महान शुरुआती प्रोजेक्ट बनाने के लिए सस्ते और आसान भागों का उपयोग करता है
५०० एलईडी-पिक्सेल आरजीबी-ईंट: ९ कदम (चित्रों के साथ)
500 LED-Pixel RGB-Brick: कुछ समय पहले मैंने इनमें से कुछ WS2812 LED के साथ 10x10 LED-कॉफ़ेटेबल का निर्माण किया था, लेकिन भले ही पुराने स्कूल के गेम स्नेक को इससे जुड़े स्मार्टफोन के साथ खेलना संभव हो, मुझे कुछ और चाहिए विशेष। इसलिए मैंने इसमें कुछ और लीड डालने का फैसला किया, अरे
IOT123 - आत्मसात सेंसर: MQ2: 4 कदम
IOT123 - ASSIMILATE SENSORS: MQ2: ASSIMILATE SENSORS पर्यावरण सेंसर हैं जिनमें एक अतिरिक्त हार्डवेयर और सॉफ़्टवेयर एब्स्ट्रैक्शन लेयर है, जिससे पूरी तरह से नए प्रकारों को ASSIMILATE सेंसर हब में जोड़ा जा सकता है और रीडिंग को MQTT सर्वर पर बिना कोडिन जोड़े पंप किया जा सकता है
IOT123 - 5PIN ATTINY85 NRF24L01 ईंट: 4 कदम
IOT123 - 5PIN ATTINY85 NRF24L01 ईंट: अद्यतन: यह सेटअप काफी हद तक अकादमिक या परीक्षण सॉफ्टवेयर/बिजली आपूर्ति के लिए आधार है। यहां तक कि जब PB5 को RESET के रूप में अक्षम किया जाता है, तो यह एनालॉग रीड का उपयोग करके मूल्यों को सटीक रूप से नहीं पढ़ता है: सेंसर रीडिंग के लिए मुख्य उपयोग का मामला। ATTINY84 सेटअप पर गौर करेंगे