فهرست مطالب:

IoT Outdoor Pet Door: 6 مرحله (همراه با تصاویر)
IoT Outdoor Pet Door: 6 مرحله (همراه با تصاویر)

تصویری: IoT Outdoor Pet Door: 6 مرحله (همراه با تصاویر)

تصویری: IoT Outdoor Pet Door: 6 مرحله (همراه با تصاویر)
تصویری: Visiting the Biggest Cat Cafe in Japan | Cat Cafe MOCHA Lounge Shinjuku | ASMR 2024, نوامبر
Anonim
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door

من با الهام از این دستورالعمل ایجاد درب اتوماتیک مرغداری کار کردم. من نه تنها می خواستم درب مرغداری را روی یک تایمر بخوانم ، بلکه می خواستم درب را به اینترنت وصل کنم تا بتوانم آن را با تلفن یا رایانه ام کنترل کنم. این درب برای مرغداری من ساخته شده است ، با این حال ، به راحتی می توان آن را در انواع دیگر مسکن برای انواع حیوانات خانگی استفاده کرد. شما همچنین می توانید از انواع مختلف موتورهای 12 ولت به غیر از موتور آنتن ماشین قدیمی که استفاده می کردم ، استفاده کنید.

پس از راه اندازی و اتصال Adafruit IO و IFTTT به ESP8266 من ، درب مرغ من را می توان به صورت آنلاین کنترل کرد. درب را می توان باز یا بسته کرد:

1) در زمان های دقیق که در adafruit.io وارد می کنم

2) با فشار دادن یک دکمه روی تلفن من

3) با ارسال پیام متنی به یک شماره خاص

4) با کلیک روی یک دکمه در adafruit.io

5) با فشار دادن یک دکمه فیزیکی

علاوه بر این ویژگی ها ، درب مرغداری می تواند اعلان های فشار را از طریق برنامه IFTTT به تلفن من در مورد مشکلات مربوط به درب مانند باز نشدن یا بسته شدن درب ارسال کند.

از آنجا که مرغداری من حدود 500 فوت با روتر WiFi من فاصله دارد ، از یک فرستنده و گیرنده 433 مگاهرتز RFM69HCW با یک ESP8266 برای انجام این پروژه استفاده کردم. یک جعبه فرستنده داخلی مشکی با سخت افزار متصل به اینترنت و یک جعبه گیرنده خاکستری در فضای باز وجود دارد که موتور را کنترل می کند.

این دستورالعمل شما را از طریق ایجاد سخت افزار مورد نیاز برای کنترل موتور 12 ولت که در قفس مرغ من را باز یا بسته می کند ، راهنمایی می کند.

من از قسمت های زیر استفاده کردم:

Adafruit 32u4 با 433 مگاهرتز RFM69HCW - 25 دلار

درگاه ورودی/خروجی Adafruit MCP23017 I2C 16 IC - 2.95 دلار

Adafruit Feather HUZZAH با وای فای ESP8266 - 16.95 دلار

Adafruit Radio FeatherWing 433 مگاهرتز RFM69HCW - 10 دلار

Adafruit SMA Connector برای ضخامت PCB های 1.6 میلی متری - 2.50 دلار

اتصال آنتن Adafruit uFL SMA - 0.75 دلار

دکمه Adafruit RGB Push - 10.95 دلار

منبع تغذیه 12 ولت - 7 دلار

منبع تغذیه USB 5 ولت - 7 دلار

کابل میکرو USB - 5 دلار

تخته رله 4 کانال (می تواند از 2 کانال استفاده کند)- 7 دلار

مبدل باک DC -DC (فقط از یکی استفاده می شود اما به صورت بسته 5 تایی موجود است) - 20 دلار

Reed Switch (سنسور سوئیچ مغناطیسی درب) - 9 دلار

2x 433 مگاهرتز آنتن همه طرفه - 6 دلار

آداپتور uFL به SMA کابل (فقط از یکی استفاده می شود اما به صورت بسته 2 عددی عرضه می شود) - 5 دلار

جعبه پروژه ABS بیرونی ضد آب - 11 دلار

جعبه پروژه ABS سیاه - 10 دلار

LCD 20x4 کاراکتر آبی - 10 دلار

موتور آنتن اتومبیل 12 ولت - 25 پوند در ebay

سیم و مقاومت

مرحله 1: گیرنده در فضای باز

گیرنده در فضای باز
گیرنده در فضای باز
گیرنده در فضای باز
گیرنده در فضای باز

گیرنده بیرونی شامل یک Adafruit 32u4 با 433 مگاهرتز RFM69HCW متصل به چند رله است که برق 12 ولت را روشن یا خاموش می کند. این ماژول ها و همچنین مبدل 12 ولت به 5 ولت DC-DC در داخل جعبه پروژه خاکستری ضد آب قرار دارند. در نهایت ، یک سنسور سوئیچ درب به یکی از پایه های میکروکنترلر 32u4 Arduino متصل شده است که تشخیص می دهد درب به درستی باز یا بسته می شود یا خیر.

هر 15 ثانیه ، فرستنده داخلی "باز" یا "بستن" را ارسال می کند. بر اساس فرمان دریافت شده ، Arduino 32u4 یک رله را روشن یا خاموش می کند. برای موتوری که انتخاب کردم که یک موتور آنتن ماشین قدیمی است ، به دلیل نحوه سیم کشی موتور مجبور شدم دو رله را روشن یا خاموش کنم. اساساً یک رله برای روشن کردن قدرت و سپس یک رله دیگر وجود داشت که طول یا عقب رفتن موتور را کنترل می کرد.

هنگامی که گیربکس باز یا بسته دریافت می شود ، گیرنده خارجی با "sensorOpen" یا "sensorClosed" پاسخ می دهد تا وضعیت سنسور سوئیچ درب را نشان دهد. در حالت ایده آل ، فرمان "باز" پاسخ "sensorOpen" را باز می گرداند ، اما اگر درب گیر کند یا موتور گیر کند ، اینها مطابقت ندارند. هنگامی که آنها مطابقت ندارند ، فرستنده داخلی این اطلاعات را نمایش می دهد و یک اعلان فشار به تلفن شما ارسال می شود.

مرحله 2: اتصال سخت افزار گیرنده در فضای باز

اتصال سخت افزار گیرنده در فضای باز
اتصال سخت افزار گیرنده در فضای باز
اتصال سخت افزار گیرنده در فضای باز
اتصال سخت افزار گیرنده در فضای باز
اتصال سخت افزار گیرنده در فضای باز
اتصال سخت افزار گیرنده در فضای باز

سیم کشی سخت افزار گیرنده بیرونی چندان دشوار نیست. من یک طرح کلی ذیل را در زیر قرار دادم تا پین هایی که استفاده کردم به راحتی قابل مشاهده باشند.

همانطور که در بالا اشاره کردم ، موتور مورد استفاده من به دو رله نیاز داشت. من یک عکس از pinout را قرار دادم. دومی که ولت 12 ولت را به سیم قرمز وصل می کنید ، در صورت باز شدن موتور عقب می افتد. اگر همزمان 12 ولت را به سیم قرمز و سیم سبز وصل کنید ، موتور امتداد می یابد.

سوئیچ نی که در بالا پیوند دادم باید به عنوان یک سوئیچ معمولاً بسته سیم دار شود. تفاوت بین معمولاً باز و معمولاً بسته در تصویری که در بالا پیوست کردم توضیح داده شده است. با استفاده از نرم افزار ، یک مقاومت کششی داخلی به پین ورودی در 32u4 متصل شده است ، بنابراین تنها کاری که باید انجام دهید این است که سوئیچ در را به پین ورودی و همچنین به زمین وصل کنید.

شما باید یک آنتن به Adafruit 32u4 وصل کنید. لطفاً آموزش بسیار دقیق Adafruit را در این مرحله بررسی کنید. من ترجیح دادم از یک آنتن خارجی به جای یک تکه سیم برای برد بهتر استفاده کنم.

مرحله 3: فرستنده داخلی

فرستنده داخلی
فرستنده داخلی
فرستنده داخلی
فرستنده داخلی
فرستنده داخلی
فرستنده داخلی

فرستنده داخلی شامل یک Adafruit Radio FeatherWing 433 مگاهرتز RFM69HCW است که در بالای یک Adafruit Feather HUZZAH با WiFi ESP8266 قرار گرفته است. این ماژول ها به یک صفحه نمایش 20x4 کاراکتر و یک دکمه نقره ای RGB در داخل یک پروژه مشکی متصل می شوند.

صفحه نمایش دارای یک ساعت همگام سازی NTC ، قدرت RSSI در dB (اندازه گیری قدرت سیگنال های رادیویی) ، زمان باز شدن درب مرغداری ، زمان بستن درب مرغداری و وضعیت فعلی درب است. وقتی در بسته است دکمه قرمز است و وقتی در باز است سبز است.

اگر گیرنده در فضای باز قطع شود یا اگر سیگنال 433 مگاهرتز به هر دلیلی ارسال نشود ، صفحه نمایش و دکمه RGB به اولین حالت از دو حالت خطای احتمالی وارد می شوند. در اولین حالت خطا ، صفحه نمایش می گوید "ERROR! سعی کنید گیرنده بیرونی را راه اندازی مجدد کنید." و دکمه رنگ نخواهد داشت. اگر سنسور سوئیچ درب تشخیص دهد که درب به درستی بسته یا باز نشده است ، صفحه نمایش و دکمه RGB به دو حالت خطا دوم وارد می شود. در حالت خطای دوم ، صفحه نمایش می گوید "ERROR! Deor or switch sensor sensor". و دکمه رنگ نخواهد داشت. وقتی مشکل به خودی خود برطرف شد ، صفحه نمایش و دکمه RGB به حالت عادی باز می گردند. در صورت بروز هر یک از این حالت های خطا ، می توانید اعلان های فشار را به تلفن خود دریافت کنید (در مرحله بعد این تنظیم را مرور می کنم).

مرحله 4: اتصال سخت افزار فرستنده داخلی

اتصال سخت افزار فرستنده داخلی
اتصال سخت افزار فرستنده داخلی
اتصال سخت افزار فرستنده داخلی
اتصال سخت افزار فرستنده داخلی

پس از انباشتن Adafruit Radio FeatherWing 433MHz RFM69HCW در بالای Adafruit Feather HUZZAH با وای فای ESP8266 ، فقط 2 پین باقی مانده است که گرفته نشده است ، I2C پین SDA و SCL. به همین دلیل من با مدار مجتمع MCP23017 (IC) رفتم. این یک IC بسیار جالب است که حداکثر 16 پین ورودی/خروجی اضافی را به هر میکروکنترلر از طریق I2C متصل می کند. به علاوه ، یک کتابخانه از پیش نوشته شده به نام Adafruit-RGB-LCD-Shield وجود دارد که از این IC با یک صفحه نمایش کاراکتر استفاده می کند که از نظر فنی برای این محصول Adafruit نوشته شده است ، با این حال ، برای این پروژه کاملاً کار می کند.

ایده استفاده از MCP23017 با نمایش کاراکتر از این دستورالعمل بسیار خوب نوشته شده ناشی می شود. لطفاً آن را بررسی کنید!

من آن را آموزش پذیرفتم و به جای اتصال چندین دکمه و یک صفحه نمایش RGB به IC ، فقط یک دکمه را که دارای LED RGB در داخل آن بود و یک صفحه نمایش تک رنگ به IC متصل کردم. این به من اجازه داد تا PIN 1 IC (که معمولاً برای نور پس زمینه آبی صفحه نمایش RGB استفاده می شود) را به عنوان نور پس زمینه صفحه نمایش تک رنگ من ، PIN 28 (که معمولاً برای نور پس زمینه سبز صفحه نمایش RGB استفاده می شود) به عنوان LED قرمز در داخل دکمه و PIN 27 (معمولاً برای نور پس زمینه قرمز صفحه نمایش RGB استفاده می شود) به عنوان LED سبز داخل دکمه. پین 24 به یک طرف دکمه و طرف دیگر به زمین متصل شده بود. شما می توانید pinout دکمه را در تصویر پیوست شده در بالا مشاهده کنید (من کاتد آبی را قطع کرده ام).

علاوه بر استفاده از دستورالعملی که برای کمک به سیم کشی صفحه نمایش به آن پیوند دادم ، یک طرح کلی جالب را برای شما فراهم کرده ام که به شما کمک می کند همه چیز را متصل کنید.

همانطور که در این آموزش Adafruit توضیح داده شده است ، باید سه پین در بالای FeatherWing 433MHz RFM69HCW کوتاه کنید. همچنین باید یک آنتن به FeatherWing 433MHz RFM69HCW وصل کنید. لطفاً آموزش بسیار دقیق Adafruit را در این مرحله بررسی کنید. من برای بدست آوردن برد بهتر ، از یک آنتن خارجی با کانکتور SMA نصب شده در کنار به جای یک تکه سیم استفاده کردم.

مرحله 5: اتصال به Adafruit. IO و IFTTT

اتصال به Adafruit. IO و IFTTT
اتصال به Adafruit. IO و IFTTT
اتصال به Adafruit. IO و IFTTT
اتصال به Adafruit. IO و IFTTT

Adafruit IO:

لطفاً برای ثبت نام در Adafruit. IO در صورت نداشتن حساب ، دستورالعمل های این آموزش Adafruit را دنبال کنید. همچنین باید بخوانید که فید و داشبورد چیست.

به زبان ساده ، داشبورد شبیه رابط کاربری گرافیکی است در حالی که فیدها اطلاعاتی هستند که شما به آنها ارسال می کنید تا بتوانید آنها را در اینترنت ذخیره کنید. شما باید 1 داشبورد و 4 فید ایجاد کنید. من نام خود را قبل از اینکه بفهمم چگونه جوجه مرغ را درست تلفظ کنم ، نامگذاری کردم ، بنابراین لطفاً غلط املایی را ببخشید. اگر نمی خواهید نام فیدها را در کد آردوینو تغییر دهید ، فقط از همان نامی که من استفاده کردم استفاده کنید.

ابتدا چهار فید ایجاد کنید:

1) "Chicken Coup" این برای سوئیچ باز/بسته است

2) "Chicken Coup Timer" این برای تایمر باز است

3) "Chicken Coup Timer 2" این برای تایمر بسته است

4) "Chicken Coup Error Message" این مربوط به پیام های خطا است

داشبورد بعدی به نام Chicken Coup ایجاد کنید و 4 بلوک را با استفاده از دکمه آبی + اضافه کنید. لطفاً برای مشاهده انواع بلوک هایی که باید قرار دهید و همچنین نام بلوک ها ، تصویر بالا را مشاهده کنید. مطمئن شوید که وضعیت های سوئیچ را دقیقاً "باز" و "بسته" نامگذاری کنید

IFTTT:

بخش IFTTT این پروژه قابلیت فشار دادن یک دکمه روی تلفن شما و ارسال پیام برای باز یا بسته شدن درب کارگاه مرغ را اضافه می کند. همچنین به برنامه IFTTT اجازه می دهد تا در صورت انتشار هر چیزی در خوراک پیام خطای Chicken Coup اعلان های فشار را برای شما ارسال کند. اگر این قابلیت ها را نمی خواهید ، می توانید این بخش را رد کنید.

ابتدا ، اگر یک حساب IFTTT ندارید ، راه اندازی کنید. اگر می خواهید از اپلت های از پیش ساخته شده ای که من ایجاد کردم استفاده کنید ، کافی است به حساب من بروید و اپلت هایی را که می خواهید روشن کنید. در غیر این صورت ، شما باید خود را ایجاد کرده و در خوراک adafruit که در بالا ایجاد کرده اید مشترک شوید یا منتشر کنید.

مرحله 6: بارگذاری کد و ویرایش SSID و رمز WiFi

برای بارگذاری کد روی فرستنده داخلی ، باید از این صفحه آموزش Adafruit دیدن کنید.

برای بارگذاری کد روی گیرنده در فضای باز ، باید از این صفحه آموزش Adafruit دیدن کنید.

شما باید کتابخانه RFM69 ، کتابخانه Adafruit_RGBLCDShield ، کتابخانه ساعت NTC به نام simpleDSTadjust و کتابخانه تیکر را نصب کنید. می توانید آموزش نحوه انجام این کار را در اینجا پیدا کنید.

Arduino IDE را باز کرده و کد "Outdoor_Receiver.ino" را روی کابل USB در Arduino 32u4 بیرونی بارگذاری کنید.

سپس ، "Indoor_Transmitter.ino" را باز کنید ، برگه config.h را باز کنید و نام WiFi (SSID) و رمز عبور خود را در داخل علامت نقل قول وارد کنید. سپس ، با دنبال کردن این صفحه آموزشی ، نام کاربری Adafruit. IO و کلید IO خود را دریافت کرده و آن را در برگه config.h وارد کنید.

اگر نام فیدهای Adafruit IO را تغییر داده اید ، باید کد را در برگه اصلی Indoor_Transmitter ویرایش کنید. موارد زیر را ویرایش کنید:

AdafruitIO_Feed *toggleSwitch = io.feed ("کودتای مرغ") ؛

AdafruitIO_Feed *timer = io.feed ("Chicken Coup Timer") ؛

AdafruitIO_Feed *timer2 = io.feed ("Chicken Coup Timer 2") ؛

AdafruitIO_Feed *error = io.feed ("پیام خطای کودتای مرغ") ؛

این تنها کاری است که باید انجام دهید! اگر می خواهید نحوه کار این دو طرح را بیشتر بفهمید ، من کد را توضیح دادم. لطفا در صورت داشتن هرگونه سوال به من اطلاع دهید. موفق باشید!

توصیه شده: