সুচিপত্র:
- ধাপ 1: উপাদান এবং সরঞ্জাম
- ধাপ 2: ATTINY85 প্রস্তুত করুন
- ধাপ 3: সার্কিট একত্রিত করুন
- ধাপ 4: পরীক্ষা
- ধাপ 5: পরবর্তী পদক্ষেপ
ভিডিও: IOT123 - I2C MQ2 ব্রিক: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
IOT123 BRICKS হল DIY মডুলার ইউনিট যা অন্যান্য IOT123 BRICKS এর সাথে মেশানো যায়, যাতে নোড বা পরিধেয় কার্যকারিতা যোগ করা যায়। তারা ইঞ্চি বর্গক্ষেত্রের উপর ভিত্তি করে, গর্তের মাধ্যমে আন্তconসংযোগযুক্ত ডবল পার্শ্বযুক্ত প্রোটোবোর্ড।
এই ব্রিকগুলির একটি সংখ্যা একাধিক নোডের (মাস্টার MCUs - ESP8266 বা ATTINY84) একটি সাইটে থাকতে পারে বলে আশা করা হচ্ছে। এমসিইউর সেন্সর উদ্দেশ্য বা সফটওয়্যারের প্রয়োজনের পূর্বের জ্ঞানের প্রয়োজন নেই। এটি I2C নোডের জন্য স্ক্যান করে তারপর প্রতিটি ক্রীতদাস থেকে একটি সম্পত্তি ডাম্প (সেন্সর ডেটা) অনুরোধ করে। এই ব্রিকগুলি 5.0V, 3.3V এবং অন্য AUX লাইন সরবরাহ করে যা কাস্টমাইজযোগ্য।
এই I2C MQ2 ব্রিক 3 টি বৈশিষ্ট্য ডাম্প করে:
এলপিজি (পার্টস পার মিলিয়ন), সিও (পিপিএম), স্মোক (পিপিএম)।
এই সেন্সরটি একটি আকর্ষণীয় দৃশ্যপট সরবরাহ করেছে: এটি গরম করার জন্য কমপক্ষে 2 মিনিট (5 মিনিট পর্যন্ত) প্রয়োজন, তারপর ব্যবহারের আগে এটি 20 সেকেন্ডের জন্য ক্রমাঙ্কন করতে হবে। যেহেতু হোস্ট MCU শুধুমাত্র নাম/মান জোড়া (এবং একটি অবিরত বার্তা) পেতে আগ্রহী, আমরা একটি "প্রস্তুত" সম্পত্তি চালু করেছি। যেহেতু তার অব্যাহত বার্তাটি "1" (আরও আসতে হবে), হোস্ট এমসিইউ ব্রিক প্রস্তুত না হওয়া পর্যন্ত ভোট দেবে। এছাড়াও ব্যবহারের আগে MQ2 "বার্ন-ইন" করার পরামর্শ দেওয়া হয় অর্থাৎ আপনার 5V সার্কিটের সাথে 24 ঘন্টার জন্য সংযুক্ত থাকুন।
Keyes টাইপ সেন্সর ইটগুলি প্রথমে বিমূর্ত হবে কারণ তারা ভিটামিন (অতিরিক্ত উপাদান প্রয়োজন) সহ অন্তর্ভুক্ত এবং অপেক্ষাকৃত চিপ (আমি 10AUD এর জন্য 37 কিনেছি)। অন্যান্য বোর্ড/সার্কিটগুলি I2C BRICKS- এ চালু করা হবে।
ATPINY85 সংলগ্ন থ্রু-হোলগুলি অব্যবহৃত রেখে দেওয়া হয়েছে, যাতে একটি পোগো পিন প্রোগ্রামার সক্ষম হয়, যখন DIP8 PCB- এর কাছে বিক্রি হয়।
আরও একটি বিমূর্ততা, ব্রিক্সগুলিকে ছোট সিলিন্ডারে প্যাকেজ করা যা একটি D1M WIFI BLOCK হাবের মধ্যে প্লাগ করে, একটি MQTT সার্ভারে মানগুলি পাম্প করে তৈরি করা হচ্ছে।
ধাপ 1: উপাদান এবং সরঞ্জাম
একটি সম্পূর্ণ বিল উপাদান এবং সোর্সিং তালিকা আছে।
- MQ2 সেন্সর ইট (1)
- ATTINY85 20PU (1)
- 1 "ডবল পার্শ্বযুক্ত প্রোটোবোর্ড (1)
- পুরুষ শিরোলেখ 90º (3P, 3P)
- পুরুষ শিরোলেখ (2P, 2P)
- জাম্পার শান্ট (1)
- হুকআপ ওয়্যার (~ 7)
- ঝাল এবং লোহা (1)
ধাপ 2: ATTINY85 প্রস্তুত করুন
বোর্ড ম্যানেজার থেকে AttinyCore প্রয়োজন। বার্ন বুটলোডার "EEPROM রিটেনড", "8mHZ ইন্টারনাল" (উপরে দেখানো সব কনফিগারেশন)।
অন্তর্ভুক্ত উৎস ব্যবহার করুন; ATtiny85 এ কম্পাইল এবং প্রোগ্রাম করুন।
GIST এখানে:
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), এবং পিছনে ঝাল বন্ধ উপাদানগুলি সন্নিবেশ করান।
- পিছনে, ORANGE1 থেকে ORANGE2 এবং সোল্ডারে একটি কমলা তারের সন্ধান করুন।
- পিছনে, BLUE1 থেকে BLUE2 এবং সোল্ডারে একটি নীল তারের সন্ধান করুন।
- পিছনে, GREEN1 থেকে GREEN2 এবং সোল্ডারে একটি সবুজ তারের সন্ধান করুন।
- পিছনে, সিলভার 1 থেকে সিলভার 2 এবং সোল্ডারের একটি খালি তারের সন্ধান করুন।
- পিছনে, সিলভার 3 থেকে সিলভার 4 এবং সোল্ডারের একটি খালি তারের সন্ধান করুন।
- পিছনে, BLACK1 থেকে BLACK2 এবং সোল্ডার পর্যন্ত একটি কালো তারের সন্ধান করুন।
- পিছনে, BLACK3 থেকে BLACK4 এবং সোল্ডারে একটি কালো তারের সন্ধান করুন।
- পিছনে, RED1 থেকে RED2 এবং সোল্ডারে একটি লাল তারের সন্ধান করুন।
- পিছনে, RED3 থেকে RED4 এবং সোল্ডারে একটি লাল তারের সন্ধান করুন।
- পিছনে, YELLOW1 থেকে YELLOW2 এবং সোল্ডারের একটি হলুদ তারের সন্ধান করুন।
সেন্সরটি এখন তার পিনের মাধ্যমে সরাসরি পিসিবি বা তারের মাধ্যমে পিন চুক্তিতে দেখানো পয়েন্টের সাথে সংযুক্ত হতে পারে।
ধাপ 4: পরীক্ষা
এই ব্রিকগুলির একটি সংখ্যা একটি পরিবেশে একাধিক নোডে (MCUs - ESP8266 বা ATTINY84) থাকবে বলে আশা করা হচ্ছে। এটি একটি ইউনিট পরীক্ষা: ইউএনও অনুরোধ/প্রতিক্রিয়া পরীক্ষা করে যতক্ষণ না সমস্ত ডেটা ফেলে দেওয়া হয়, তারপর I2C স্লেভকে অবহেলা করে।
- ইউএনও কোড আপনার ইউএনও টেস্ট হারনেসে আপলোড করুন। নিশ্চিত করুন ADDRESS_SLAVE ব্রিকের I2C ঠিকানার সাথে মেলে।
- UNO- এ 5.0V ব্রিকের VCC- এর সাথে সংযুক্ত করুন।
- নিশ্চিত করুন যে পিনের জন্য জাম্পার চালু আছে।
- UNO- তে GND- কে BRID- তে GND -এ সংযুক্ত করুন।
- ইউএনও -তে A5 কে BRIC- এ এসসিএল -এ সংযুক্ত করুন।
- ইউএনও -তে A4 কে ব্রিকের SDA- এর সাথে সংযুক্ত করুন।
- এসডিএ থেকে ভিসিসিতে একটি 4K7 পুল-আপ প্রতিরোধক সংযুক্ত করুন।
- এসসিএল থেকে ভিসিসিতে একটি 4K7 পুল-আপ প্রতিরোধক সংযুক্ত করুন।
- ইউএসবি দিয়ে আপনার ইউএনওকে আপনার দেব পিসির সাথে সংযুক্ত করুন।
- আরডুইনো কনসোল খুলুন 9600 বড চয়ন করুন (ইউএনও পুনরায় চালু করুন এবং যদি আপনার প্রয়োজন হয় তবে কনসোলটি আবার খুলুন)।
- সম্পত্তির নাম এবং মানগুলি কনসোলে একবার মুদ্রণ করা উচিত তারপর ঘুম শব্দটি পুনরাবৃত্তি হয়।
যদি আপনি "সেটআপ" দেখতে পান তবে 3 টি আবর্জনার পুনরাবৃত্তি আপনার সামনে আপনার SDA এবং SC লাইন থাকতে পারে।
I2C মাস্টার লগিং I2C স্লেভ থেকে প্লটার/মেটাডেটা সাপোর্ট সহ।
#অন্তর্ভুক্ত |
#defineADDRESS_SLAVE10 |
bool _outputPlotterOnly = মিথ্যা; |
bool _confirmedMetadata = মিথ্যা; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = মিথ্যা; |
char _property [2] [24] = {"name", "value"}; |
অকার্যকর সেটআপ() { |
Wire.begin (); // যোগ দিন i2c বাসে (মাস্টারের জন্য optionচ্ছিক ঠিকানা) |
Serial.begin (9600); // আউটপুটের জন্য সিরিয়াল শুরু করুন |
বিলম্ব (1000); |
যদি (! _outputPlotterOnly) { |
Serial.println ("সেটআপ"); |
Serial.println (); |
} |
} |
voidloop () { |
যদি (_i2cNodeProcessed) { |
if (! _confirmedMetadata) {// ক্রীতদাসকে সেন্সর ডেটা পাঠানো শুরু করতে দিন |
বিলম্ব (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
বিলম্ব (100); |
_confirmedMetadata = সত্য; |
} |
_i2cNodeProcessed = মিথ্যা; |
যদি (! _outputPlotterOnly) { |
Serial.println (); |
} |
প্রত্যাবর্তন; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
চার প্যাকেট [16]; |
intindex = 0; |
bool isContinueSegment = false; // continueSegment (3rd) 1 = more, 0 = last |
যখন (Wire.available ()) {// স্লেভ অনুরোধের চেয়ে কম পাঠাতে পারে |
char c = Wire.read (); |
প্যাকেট [সূচক] = int (c)> -1? c: ''; // স্পেস দিয়ে অবৈধ অক্ষর প্রতিস্থাপন করুন |
যদি (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = true; |
//Serial.println("------------- "); |
// সিরিয়াল.প্রিন্টলিন |
//Serial.println("------------- "); |
যদি (int (c) == 48 || int (c) == 86) {// 0 শেষ সম্পত্তিতে |
_i2cNodeProcessed = সত্য; |
// এমকিউটিটিতে মান পাঠান |
বিরতি; |
} |
} |
সূচক ++; |
} |
যদি (! isContinueSegment) { |
যদি (! _outputPlotterOnly) { |
Serial.println (প্যাকেট); |
} |
strcpy (_property [_packetSegment - 1], প্যাকেট); // নাম/মান সহ স্থানীয় var সেট করুন |
} অন্য { |
যদি (_outputPlotterOnly && _confirmedMetadata) { |
যদি (_i2cNodeProcessed) { |
Serial.println (_property [1]); |
} অন্য { |
Serial.print (_property [1]); |
সিরিয়াল.প্রিন্ট (""); |
} |
} |
} |
} |
GitHub দ্বারা raw দিয়ে হোস্ট করা rawuno_i2c_generic_sensor_test_w_plotter_v2.ino দেখুন
ধাপ 5: পরবর্তী পদক্ষেপ
সার্কিটের মৌলিক বিন্যাস এবং সফটওয়্যারের I2C স্তরটি বিভিন্ন সেন্সরের সাথে সম্পর্কিত। শুরু করার জন্য প্রধান জিনিস, মাস্টার এবং ক্রীতদাসের মধ্যে প্যাকেট চুক্তি।
আমি সেন্সরগুলির একটি (3 ডি প্রিন্টেড) প্যাকেজড নেটওয়ার্ক চালু করেছি/শুরু করেছি যা এই কাঠামোটি ব্যবহার করে এবং অংশগুলি প্রকাশিত হওয়ার সাথে সাথে এটির সাথে সংযুক্ত হবে।
এই ব্লকটি MQ2 ASSIMILATE SENSOR দ্বারা ব্যবহৃত হয়।
প্রস্তাবিত:
IOT123 - D1M BLOCK - 2xAMUX Assembly: 7 ধাপ (ছবি সহ)
IOT123 - D1M BLOCK - 2xAMUX Assembly: D1M BLOCKS জনপ্রিয় Wemos D1 Mini SOC/Shields/Clones এর জন্য স্পর্শকাতর কেস, লেবেল, পোলারিটি গাইড এবং ব্রেকআউট যোগ করে। ESP8266 চিপের একটি সমস্যা হল এটিতে শুধুমাত্র একটি এনালগ আইও পিন পাওয়া যায়। এই নির্দেশযোগ্য দেখায় কিভাবে 2xA একত্রিত করা যায়
IOT123 - একত্রিত সেন্সর: MQ2: 4 ধাপ
IOT123 - একত্রিত সেন্সর: MQ2: ASSIMILATE SENSORS হল পরিবেশ সেন্সর যা একটি অতিরিক্ত হার্ডওয়্যার এবং সফটওয়্যার অ্যাবস্ট্রাকশন লেয়ার আছে, এটি সম্পূর্ণরূপে নতুন ধরনের একটি অ্যাসিমিলেট সেন্সর হাবের সাথে যোগ করা সম্ভব করে এবং রিডিংগুলিকে একটি MQTT সার্ভারে পাম্প করা হয় অতিরিক্ত কোডিন ছাড়া
IOT123 - LIR2032 ব্যাটারি ব্রিক: 4 টি ধাপ
IOT123 - LIR2032 ব্যাটারি ব্রিক: IOT123 BRICKS হল DIY মডুলার ইউনিট যা অন্যান্য IOT123 BRICKS এর সাথে মেশানো যায়, যাতে নোড বা পরিধেয় কার্যকারিতা যোগ করা যায়। তারা ইঞ্চি বর্গক্ষেত্রের উপর ভিত্তি করে, গর্তের মধ্য দিয়ে পরস্পর সংযুক্ত ডবল পার্শ্বযুক্ত প্রোটোবোর্ড। যদিও নির্দেশনা
IOT123 - 3.3V পাওয়ার ব্রিক: 4 টি ধাপ
IOT123 - 3.3V পাওয়ার ব্রিক: IOT123 BRICKS হল DIY মডুলার ইউনিট যা অন্যান্য IOT123 BRICKS এর সাথে মেশানো যায়, যাতে নোড বা পরিধানযোগ্য কার্যকারিতা যোগ করা যায়। তারা ইঞ্চি বর্গক্ষেত্রের উপর ভিত্তি করে, গর্তের মধ্য দিয়ে পরস্পর সংযুক্ত ডবল পার্শ্বযুক্ত প্রোটোবোর্ড। যদিও নির্দেশনা
IOT123 - 5PIN ATTINY85 NRF24L01 ব্রিক: 4 টি ধাপ
IOT123 - 5PIN ATTINY85 NRF24L01 ব্রিক: আপডেট: এই সেটআপটি মূলত একাডেমিক বা সফটওয়্যার/পাওয়ার সাপ্লাই পরীক্ষার ভিত্তি। এমনকি যখন PB5 রিসেট হিসাবে নিষ্ক্রিয় করা হয়, এটি এনালগ রিড ব্যবহার করে সঠিকভাবে মানগুলি পড়ে না: সেন্সর রিডিংগুলির জন্য প্রধান ব্যবহারের ক্ষেত্রে। ATTINY84 সেটআপের দিকে নজর দেবে