فهرست مطالب:
- مرحله 1: مواد و ابزارها
- مرحله 2: ATTINY85 را آماده کنید
- مرحله 3: مدار را جمع کنید
- مرحله 4: آزمایش
- مرحله 5: مراحل بعدی
تصویری: IOT123 - I2C MQ2 BRICK: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
آجرهای IOT123 واحدهای ماژولار DIY هستند که می توانند با سایر آجرهای IOT123 ترکیب شوند تا عملکرد را به یک گره یا پوشیدنی اضافه کنند. آنها بر روی صفحه اصلی مربع دو ضلعی دو طرفه با سوراخ هایی به هم متصل شده اند.
انتظار می رود تعدادی از این آجرها روی چندین گره (Master MCUs - ESP8266 یا ATTINY84) در یک سایت قرار گیرند. MCU نیازی به دانش قبلی در مورد هدف سنسورها یا نیازهای نرم افزاری ندارد. این دستگاه گره های I2C را اسکن می کند و سپس از هر برده درخواست یک دامپ ویژگی (داده های حسگر) می کند. این آجرها 5.0V ، 3.3V و یک خط AUX دیگر را که قابل تنظیم است ، تامین می کند.
این I2C MQ2 BRICK 3 ویژگی را تخلیه می کند:
LPG (قطعات در میلیون) ، CO (PPM) ، دود (PPM)
این سنسور سناریوی جالبی ارائه داد: برای گرم شدن حداقل 2 دقیقه (حداکثر 5 دقیقه) زمان لازم است ، سپس قبل از استفاده باید 20 ثانیه کالیبره شود. از آنجا که MCU میزبان فقط قصد دارد جفت نام/مقدار (و پیام ادامه) را دریافت کند ، ما ویژگی "PREPARE" را معرفی کرده ایم. از آنجا که پیام ادامه آن "1" است (موارد بعدی در آینده) ، MCU میزبان تا زمان آماده شدن به نظرسنجی از BRICK ادامه می دهد. همچنین توصیه می شود قبل از استفاده MQ2 را "بسوزانید" یعنی به مدت 24 ساعت به مدار 5 ولت متصل شوید.
آجرهای سنسور نوع کیز ابتدا چکیده می شوند زیرا دارای ویتامین (اجزای اضافی مورد نیاز) هستند و نسبتاً گران هستند (من 37 دستگاه را برای 10AUD خریدم). سایر تابلوها/مدارها نیز به آجر I2C معرفی می شوند.
سوراخ های مجاور ATTINY85 بدون استفاده رها شده اند تا برنامه نویس pogo pin را در حالی که 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…
بهتر است قبل از ادامه از طریق تخته نان تست کنید.
اگر سنسورهای ASSIMILATE موجود دارید ، مطمئن شوید آدرس برده در ترکیب میزبان SENSOR/MCU متفاوت است ، یعنی همه سنسورهای دما می توانند آدرس یکسانی داشته باشند به شرطی که فقط یک سنسور دما در یک MCU/گره داشته باشید.
مرحله 3: مدار را جمع کنید
- در قسمت جلو ، اجزای ATTINY85 (1) ، سربرگ های مردانه 3P 90 درجه (2) (3) ، سربرگ های مردانه 2P (4) (5) و قسمت پشتی را لحیم کنید.
- در قسمت عقب ، یک سیم نارنجی از ORANGE1 تا ORANGE2 و لحیم کنید.
- در پشت ، یک سیم آبی را از BLUE1 تا BLUE2 و لحیم کنید.
- در قسمت عقب ، یک سیم سبز از GREEN1 تا GREEN2 و لحیم کنید.
- در پشت ، یک سیم برهنه را از SILVER1 تا SILVER2 و لحیم کنید.
- در پشت ، یک سیم برهنه را از SILVER3 تا SILVER4 و لحیم کنید.
- در قسمت عقب ، یک سیم سیاه از BLACK1 تا BLACK2 و لحیم کنید.
- در قسمت عقب ، یک سیم سیاه از BLACK3 تا BLACK4 و لحیم کنید.
- در قسمت عقب ، یک سیم قرمز از RED1 تا RED2 و لحیم کنید.
- در قسمت عقب ، یک سیم قرمز از RED3 تا RED4 و لحیم کنید.
- در قسمت عقب ، یک سیم زرد از YELLOW1 تا YELLOW2 و لحیم کنید.
اکنون می توان سنسور را مستقیماً از طریق پین های آن به PCB یا از طریق سیم ، به نقاطی که در قرارداد پین نشان داده شده است ، متصل کرد.
مرحله 4: آزمایش
انتظار می رود تعدادی از این آجرها روی چندین گره (MCUs - ESP8266 یا ATTINY84) در یک محیط باشند. این یک آزمایش واحد است: درخواستها/پاسخهای UNO را بررسی می کند تا زمانی که همه داده ها ریخته شوند ، سپس از برده I2C غافل می شود.
- کد UNO را در مهار آزمایشی UNO خود بارگذاری کنید. اطمینان حاصل کنید که ADDRESS_SLAVE با آدرس I2C BRICK مطابقت دارد.
- 5.0V را در UNO به VCC در BRICK وصل کنید.
- مطمئن شوید که بلوز آن پین روشن است.
- GND را در UNO به GND در BRICK وصل کنید.
- A5 را در UNO به SCL در BRICK وصل کنید.
- A4 را در UNO به SDA در BRICK وصل کنید.
- یک مقاومت کششی 4K7 را از SDA به VCC وصل کنید.
- یک مقاومت کششی 4K7 را از SCL به VCC وصل کنید.
- UNO خود را با USB به رایانه Dev خود متصل کنید.
- کنسول آردوینو را باز کنید. 9600 baud را انتخاب کنید (UNO را مجدداً راه اندازی کنید و در صورت لزوم کنسول را باز کنید).
- نام ها و مقادیر ویژگی باید یکبار روی کنسول چاپ شود و سپس کلمه sleep تکرار شود.
اگر "راه اندازی" را مشاهده کردید و سپس 3 سطل زباله تکرار شد ، ممکن است خطوط SDA و SCL خود را به جلو برگردانید.
ورود I2C Master از برده I2C با پشتیبانی پلاتر/فراداده
#عبارتند از |
#defineADDRESS_SLAVE10 |
bool _outputPlotterOnly = false؛ |
bool _confirmMetadata = false؛ |
int _packetSegment = 0؛ |
bool _i2cNodeProcessed = false؛ |
char _property [2] [24] = {"نام" ، "ارزش"}؛ |
voidsetup () { |
Wire.begin ()؛ // پیوستن به گذرگاه i2c (آدرس اختیاری برای کارشناسی ارشد) |
Serial.begin (9600)؛ // شروع سریال برای خروجی |
تاخیر (1000) ؛ |
if (! _outputPlotterOnly) { |
Serial.println ("راه اندازی") ؛ |
Serial.println ()؛ |
} |
} |
voidloop () { |
if (_i2cNodeProcessed) { |
if (! _confirmMetadata) {// به برده اطلاع دهید که شروع به ارسال داده های حسگر کند |
تأخیر (1) ؛ |
Wire.beginTransmission (ADDRESS_SLAVE) ؛ |
Wire.write (1) ؛ |
Wire.endTransmission ()؛ |
تأخیر (100) ؛ |
_confirmMetadata = true؛ |
} |
_i2cNodeProcessed = false؛ |
if (! _outputPlotterOnly) { |
Serial.println ()؛ |
} |
برگشت؛ |
} |
سیم. درخواست از (ADDRESS_SLAVE ، 16) ؛ |
_packetSegment ++؛ |
بسته char [16]؛ |
intindex = 0 ؛ |
bool isContinueSegment = false؛ // continueSegment (سوم) 1 = بیشتر ، 0 = آخرین |
در حالی که (Wire.available ()) {// برده ممکن است کمتر از درخواست ارسال کند |
char c = Wire.read ()؛ |
بسته [index] = int (c)> -1؟ c: ''؛ // نویسه های نامعتبر را با فاصله جایگزین کنید |
if (_packetSegment == 3) { |
_packetSegment = 0؛ |
isContinueSegment = true؛ |
//Serial.println("------------- ")؛ |
//Serial.println(int(c))؛ |
//Serial.println("------------- ")؛ |
if (int (c) == 48 || int (c) == 86) {// 0 در آخرین ویژگی |
_i2cNodeProcessed = true؛ |
// ارسال مقادیر به MQTT |
زنگ تفريح؛ |
} |
} |
شاخص ++ ؛ |
} |
if (! isContinueSegment) { |
if (! _outputPlotterOnly) { |
Serial.println (بسته) ؛ |
} |
strcpy (_property [_packetSegment - 1] ، packet) ؛ // تنظیم var محلی با نام/مقدار |
} دیگری { |
if (_outputPlotterOnly && _confirmMetadata) { |
if (_i2cNodeProcessed) { |
Serial.println (_دارایی [1])؛ |
} دیگری { |
Serial.print (_دارایی [1]) ؛ |
Serial.print ("")؛ |
} |
} |
} |
} |
مشاهده rawuno_i2c_generic_sensor_test_w_plotter_v2.ino میزبانی شده توسط ❤ توسط GitHub
مرحله 5: مراحل بعدی
طرح اولیه مدار و لایه I2C نرم افزار با سنسورهای مختلف قابل ارتباط است. اصلی ترین چیزی که برای شروع باید بدانید ، قرارداد بسته بین master و slave است.
من یک شبکه حسگر بسته بندی شده (چاپ سه بعدی) را طراحی کرده ام که از این چارچوب استفاده می کند و با انتشار قطعات به آن پیوند می یابد.
این BLOCK توسط سنسور MQ2 ASSIMILATE استفاده می شود.
توصیه شده:
روی Brick Switch for Makey Makey کلیک کنید: 4 مرحله (همراه با تصاویر)
روی Brick Switch for Makey Makey کلیک کنید: این سوئیچ چاپ سه بعدی به کاربر اجازه می دهد Makey Makey را به & quot؛ اسلاید انگشت & quot؛ برای & quot؛ کلیک کنید & quot؛ در بازی یا می تواند فلش راست/چپ برای حرکت در ارائه ها باشد. افزودن پایه های ترمینال راست و چپ برای
500 LED-Pixel RGB-Brick: 9 مرحله (همراه با تصاویر)
500 LED-Pixel RGB-Brick: چندی پیش من یک LED-Coffetable 10x10 با برخی از این LED های WS2812 می سازم ، اما حتی اگر امکان بازی قدیمی بازی Snake با تلفن هوشمند متصل به آن وجود داشته باشد ، من چیز بیشتری می خواهم خاص بنابراین تصمیم گرفتم چند راهنمای دیگر برای آن بگذارم ، arra
IOT123 - D1M BLOCK - 2xAMUX مونتاژ: 7 مرحله (همراه با تصاویر)
IOT123 - D1M BLOCK - 2xAMUX مونتاژ: D1M BLOCKS موارد لمسی ، برچسب ها ، راهنماهای قطبی و شکست ها را برای WEMOS D1 Mini SOC/Shields/Clones محبوب اضافه می کند. یکی از مشکلات تراشه ESP8266 این است که تنها یک پین IO آنالوگ در دسترس است. این دستورالعمل نحوه مونتاژ 2xA را نشان می دهد
IOT123 - D1M BLOCK - RFTXRX مونتاژ: 8 مرحله
IOT123 - D1M BLOCK - RFTXRX مونتاژ: D1M BLOCKS موارد لمسی ، برچسب ها ، راهنماهای قطبی و شکست ها را برای Wemos D1 Mini SOC/Shields/Clones محبوب اضافه می کند. فرستنده/گیرنده RF به ESP8266 اجازه می دهد تا به اتوماسیون خانگی/صنعتی موجود دسترسی پیدا کند. این روکش برای 433
IOT123 - سنسور جذب: MQ2: 4 مرحله
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS سنسورهای محیطی هستند که دارای یک لایه انتزاعی سخت افزاری و نرم افزاری هستند و این امکان را ایجاد می کند که انواع کاملاً جدیدی به یک HUB سنسور ASSIMILATE اضافه شوند و قرائت ها بدون اضافه کردن کد به سرور MQTT پمپ شوند