فهرست مطالب:

مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب: 6 مرحله
مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب: 6 مرحله

تصویری: مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب: 6 مرحله

تصویری: مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب: 6 مرحله
تصویری: دور خشک کن لباسشویی چند باشه؟! 2024, جولای
Anonim
مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب
مانیتور لباس شویی/خشک کن با ESP8266 و سنسور شتاب

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

سناریویی را تصور کنید که در آن می توانید وضعیت لباسشویی/خشک کن لباس را در تلفن همراه یا رایانه لوحی خود مشاهده کنید. به همین ترتیب ، در آنجا می توانید پیامی را در تلفن خود دریافت کنید مبنی بر اینکه دستگاه کار خود را به پایان رسانده است. به نظر می رسد فوق العاده جذاب و سازگار است ، درست است!

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

مرحله 1: تجهیزات مورد نیاز ما

تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما
تجهیزات مورد نیاز ما

1. Adafruit Huzzah ESP8266

گام اولیه تهیه برد Adafruit Huzzah ESP8266 بود. Adafruit Huzzah ESP8266 یک تراشه Wi-Fi ارزان قیمت با یک پشته TCP/IP و قابلیت میکروکنترلر است. ESP8266 یک پلت فرم بالغ برای نظارت و کنترل برنامه ها با استفاده از زبان سیم آردوینو و Arduino IDE است. ماژول ESP8266 یک هیئت مدیره بسیار مقرون به صرفه با جامعه ای بزرگ و در حال رشد است.

2. Adapruit Huzzah ESP8266 Adapter Host (برنامه نویس USB)

این آداپتور میزبان ESP8266 به طور خاص برای نسخه Adafruit Huzzah از ESP8266 طراحی شده است و رابط I²C را ارائه می دهد. پورت USB یکپارچه انرژی و برنامه نویسی ESP8266 را تامین می کند.

3. سنسور شتاب H3LIS331DL

H3LIS331DL یک شتاب سنج خطی کم قدرت با عملکرد بالا 3 محور با رابط سریال دیجیتال I²C است. این دستگاه برای اندازه گیری شتاب ها با نرخ خروجی داده از 0.5 هرتز تا 1 کیلوهرتز مجهز شده است. همه این موارد این سنسور را به انتخابی ایده آل برای این پروژه تبدیل می کند.

4. اتصال کابل

من از کابل اتصال I²C موجود در پیوند بالا استفاده کردم.

5. مینی کابل USB

منبع تغذیه مینی کابل USB یک انتخاب ایده آل برای تغذیه Adafruit Huzzah ESP8266 است.

مرحله 2: اتصالات سخت افزاری

اتصالات سخت افزاری
اتصالات سخت افزاری
اتصالات سخت افزاری
اتصالات سخت افزاری
اتصالات سخت افزاری
اتصالات سخت افزاری

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

اتصال Adafruit Huzzah ESP8266 و برنامه نویس USB

اول از همه Adafruit Huzzah ESP8266 را بردارید و برنامه نویس USB (با درگاه I²C رو به داخل) را روی آن قرار دهید. برنامه نویس USB را به آرامی در محل خود فشار دهید و کار ما با این مرحله تمام شده است. آسان به عنوان پای (به عکس شماره 1 مراجعه کنید).

اتصال سنسور و Adafruit Huzzah ESP8266

سنسور را بردارید و کابل I²C را به آن وصل کنید. برای عملکرد صحیح این کابل ، لطفاً به خاطر داشته باشید که خروجی I²C همیشه به ورودی I²C متصل می شود. همین کار را باید برای Adafruit Huzzah ESP8266 انجام دهید و برنامه نویس USB روی آن نصب شده است (عکس شماره 2 را ببینید).

با کمک برنامه نویس USB ESP8266 ، برنامه ریزی ESP8266 بسیار آسان است. تنها کاری که باید انجام دهید این است که سنسور را به USB Programmer وصل کنید و کار خوبی نیست. من ترجیح می دهم از این آداپتور استفاده کنم زیرا اتصال سخت افزار را بسیار آسان می کند. بدون استفاده از این برنامه USB plug and play ، احتمال ایجاد اتصال اشتباه زیاد است. یک سیم اشتباه می تواند وای فای شما و همچنین سنسور شما را از بین ببرد.

توجه: سیم قهوه ای همیشه باید اتصال GND (GND) بین خروجی یک دستگاه و ورودی دستگاه دیگر را دنبال کند

تغذیه مدار

کابل Mini USB را به پریز برق Adafruit Huzzah ESP8266 وصل کنید. آن را روشن کنید و ویولا ، ما خوب هستیم!

مونتاژ نهایی مانند تصویر شماره 3 است.

سنسور را داخل ماشین لباسشویی/خشک کن پارچه قرار دهید

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

با این کار ، ما تمام کارهای سخت افزاری را به پایان رسانده ایم.

مرحله 3: کد آردوینو Adafruit Huzzah ESP8266

کد ESP برای سنسور Adafruit Huzzah ESP8266 و H3LIS331DL در مخزن Github ما موجود است.

قبل از رفتن به کد ، مطمئن شوید که دستورالعمل های ارائه شده در فایل Readme را مطالعه کرده اید و Adafruit Huzzah ESP8266 خود را مطابق آن تنظیم کرده اید. فقط یک لحظه طول می کشد تا این کار انجام شود.

توجه: قبل از بارگذاری ، مطمئن شوید که شبکه SSID و رمز عبور خود را در کد وارد کرده اید

همچنین می توانید کد ESP فعال برای این سنسور را از اینجا کپی کنید:

// با مجوز اراده آزاد توزیع می شود. // از آن به هر نحوی که می خواهید ، سود یا رایگان استفاده کنید ، مشروط بر اینکه در مجوزهای آثار مرتبط با آن متناسب باشد. // مانیتور لباس شویی/خشک کن با ESP8266 // این کد برای کار با ماژول H3LIS331DL_I2CS I2C Mini موجود از Dcubestore.com طراحی شده است. //

#عبارتند از

#شامل #شامل #شامل شود

// آدرس H3LIS331DL I2C 0x18 است (24)

#تعریف Addr 0x18

const char* ssid = "شبکه ssid شما"؛

const char* رمز عبور = "گذرواژه شما"؛

سرور ESP8266WebServer (80) ؛

void handleroot ()

{داده int بدون علامت [6] ؛

برای (int i = 0 ؛ i <6؛ i ++) {// شروع I2C Transmission Wire.beginTransmission (Addr) ؛ // انتخاب ثبت نام Wire.write ((40 + i))؛ // توقف I2C Transmission Wire.endTransmission ()؛

// درخواست 1 بایت داده

سیم. درخواست از (Addr، 1)؛ // خواندن 6 بایت داده // xAccl lsb ، xAccl msb ، yAccl lsb ، yAccl msb ، zAccl lsb ، zAccl msb if (Wire.available () == 1) {data = Wire.read ()؛ }} تأخیر (300) ؛

// تبدیل داده ها

int xAccl = ((داده [1] * 256) + داده [0]) ؛ if (xAccl> 32767) {xAccl -= 65536 ؛ } int xAcc = ((100 * 9.8) / 32768) * xAccl؛

int yAccl = ((داده [3] * 256) + داده [2]) ؛

if (yAccl> 32767) {yAccl -= 65536 ؛ } int yAcc = ((100 * 9.8) / 32768) * yAccl؛

int zAccl = ((داده [5] * 256) + داده [4]) ؛

if (zAccl> 32767) {zAccl -= 65536 ؛ } int zAcc = ((100 * 9.8) / 32768) * zAccl؛

// خروجی داده ها به مانیتور سریال

Serial.print ("شتاب در محور X:") ؛ Serial.print (xAcc) ؛ Serial.println ("m/s") ؛ Serial.print ("شتاب در محور Y:") ؛ Serial.print (yAcc) ؛ Serial.println ("m/s") ؛ Serial.print ("شتاب در محور Z:") ؛ Serial.print (zAcc) ؛ Serial.println ("m/s") ؛ تأخیر (300) ؛

// خروجی داده ها به سرور وب

server.sendContent ("<meta http-equ = 'refresh' content = '10 '" ""

همه چیز را کنترل کنید

www.controleverything.com

H3LIS331DL Sensor I2C Mini Module

")؛ server.sendContent ("

شتاب در محور X = " + رشته (xAcc) +" m/s/s ")؛ server.sendContent ("

شتاب در محور Y = " + رشته (yAcc) +" m/s/s ")؛ server.sendContent ("

شتاب در محور Z = " + رشته (zAcc) +" m/s/s ") ؛

if (xAcc> 2)

{// داده های خروجی به مانیتور سریال Serial.println ("ماشین لباسشویی/خشک کن: کار می کند") ؛

// خروجی داده ها به سرور وب

server.sendContent ("

پارچه شستشو/خشک کن: در حال کار ") ؛} else {// داده های خروجی به مانیتور سریال Serial.println (" ماشین لباسشویی/خشک کن: تکمیل شده ") ؛

// خروجی داده ها به سرور وب

server.sendContent ("

لباس شویی/خشک کن: تکمیل شده ")؛}}

void setup ()

{// راه اندازی ارتباط I2C به عنوان MASTER Wire.begin (2 ، 14) ؛ // راه اندازی ارتباط سریال ، تنظیم نرخ baud = 115200 Serial.begin (115200)؛

// اتصال به شبکه WiFi

WiFi.begin (ssid ، رمز عبور) ؛

// منتظر اتصال باشید

while (WiFi.status ()! = WL_CONNECTED) {تأخیر (500)؛ Serial.print (".") ؛ } Serial.println ("")؛ Serial.print ("متصل به") ؛ Serial.println (ssid)؛

// آدرس IP ESP8266 را دریافت کنید

Serial.print ("آدرس IP:") ؛ Serial.println (WiFi.localIP ()) ؛

// سرور را راه اندازی کنید

server.on ("/" ، handleroot) ؛ server.begin ()؛ Serial.println ("سرور HTTP راه اندازی شد") ؛

// شروع انتقال I2C

Wire.beginTransmission (Addr)؛ // انتخاب control control 1 Wire.write (0x20)؛ // فعال کردن محور X ، Y ، Z ، حالت روشن ، نرخ خروجی داده 50Hz Wire.write (0x27) ؛ // توقف I2C Transmission Wire.endTransmission ()؛

// شروع انتقال I2C

Wire.beginTransmission (Addr)؛ // کنترل کنترل را انتخاب کنید 4 Wire.write (0x23)؛ // تنظیم مقیاس کامل ، +/- 100g ، به روز رسانی مداوم Wire.write (0x00) ؛ // توقف I2C Transmission Wire.endTransmission ()؛ تأخیر (300) ؛ }

حلقه خالی ()

{server.handleClient ()؛ }

مرحله 4: عملی بودن کد

کاربردی بودن کد
کاربردی بودن کد

اکنون ، بارگیری کنید (git pull) یا کد را کپی کرده و در Arduino IDE باز کنید.

کد را کامپایل و بارگذاری کنید و خروجی را در Serial Monitor خود ببینید. پس از چند ثانیه ، تمام پارامترها نمایش داده می شود.

آدرس IP ESP8266 را از Serial Monitor کپی کرده و در مرورگر وب خود جایگذاری کنید. صفحه ای را مشاهده می کنید که دارای شتاب خوانی در 3 محور و وضعیت ماشین لباسشویی/خشک کن است. قبل از حرکت به آزمایش نهایی ، باید مقدار شتاب را با توجه به موقعیت درام واشر و قرار دادن سنسور در وضعیت if-else در کد تغییر دهید.

خروجی سنسور روی Serial Monitor و Web Server در تصویر بالا نشان داده شده است.

مرحله 5: برنامه ها و ارتقاء

با کمک این پروژه ، می توانید وضعیت لباسشویی/خشک کن لباس های خود را در تلفن ها و لپ تاپ های خود کنترل کنید. نیازی به بارها و بارها و نگه داشتن/گوش دادن به آن برای پایان دادن به وظیفه نیست.

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

امیدوارم از این پروژه خوشتان بیاید و باعث آزمایش بیشتر شود. تخته Adafruit Huzzah ESP8266 فوق العاده همه کاره ، ارزان و در دسترس همه علاقه مندان است. این تنها یکی از پروژه های ساده ای است که می توان با استفاده از ESP8266 ساخت.

مرحله 6: منابع برای پیشرفت بیشتر

برای کسب اطلاعات بیشتر در مورد H3LIS331DL و ESP8266 ، پیوندهای زیر را بررسی کنید:

  • برگه اطلاعات سنسور H3LIS331DL
  • برگه اطلاعات ESP8266

همچنین می توانید مقالات اضافی ما را در پروژه های اتوماسیون خانگی و پروژه های ESP8266 مشاهده کنید:

  • اتوماسیون خانگی با ESP8266 و کنترل رله
  • چراغ های کنترل با ESP8266 و سنسور فشار

توصیه شده: