فهرست مطالب:

اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله: 7 مرحله
اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله: 7 مرحله

تصویری: اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله: 7 مرحله

تصویری: اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله: 7 مرحله
تصویری: برنامه نویسی ماژول سنسور دما ESP8266 ESP01 DHT11 | RemoteXY | FLProg 2024, نوامبر
Anonim
اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله
اتوماسیون خانگی با Raspberry Pi با استفاده از برد رله

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

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

مرحله 1: سخت افزار مورد نیاز است

سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز
سخت افزار مورد نیاز

ما از موارد زیر استفاده خواهیم کرد:

تمشک پای

Raspberry Pi یک رایانه شخصی مبتنی بر لینوکس است. این رایانه شخصی کوچک در ثبت قدرت ، به عنوان بخشی از تمرینات الکترونیکی و عملیات رایانه مانند صفحات گسترده ، پردازش کلمات ، وب گردی و ایمیل و بازی ها استفاده می شود

I2C Shield یا I2C Header

INPI2 (آداپتور I2C) Raspberry Pi 2/3 یک پورت I²C را برای استفاده در چندین دستگاه I2C فراهم می کند

کنترل کننده رله I2C MCP23008

MCP23008 از Microchip یک توسعه دهنده پورت یکپارچه است که هشت رله را از طریق گذرگاه I²C کنترل می کند. می توانید رله های بیشتر ، ورودی/خروجی دیجیتال ، مبدل های آنالوگ را به مبدل های دیجیتال ، حسگرها و سایر دستگاه ها با استفاده از درگاه توسعه یکپارچه I²C اضافه کنید

سنسور دما MCP9808

MCP9808 یک سنسور دما با دقت بالا است که سیگنالهای سنسور کالیبره شده و خطی را در قالب دیجیتال I²C ارائه می دهد

سنسور روشنایی TCS34903

TCS34903 یک محصول خانواده سنسور رنگ است که ارزش جزء RGB نور و رنگ را ارائه می دهد

کابل اتصال I2C

کابل اتصال I2C یک کابل 4 سیم است که برای ارتباط I2C بین دو دستگاه I2C متصل از طریق آن در نظر گرفته شده است

آداپتور میکرو USB

برای روشن کردن رزبری پای به یک کابل Micro USB نیاز داریم

آداپتور برق 12 ولت برای برد رله

کنترلر رله MCP23008 با قدرت خارجی 12 ولت کار می کند و می توان آن را با استفاده از آداپتور برق 12 ولت تامین کرد

با کلیک روی آنها می توانید محصول را خریداری کنید. همچنین ، می توانید مطالب عالی تری را در فروشگاه Dcube پیدا کنید.

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

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

اتصالات مورد نیاز (به تصاویر مراجعه کنید) به شرح زیر است:

  1. این روی I2C کار می کند. یک سپر I2C برای رزبری پای بردارید و آن را به آرامی به پین های GPIO رزبری پای وصل کنید.
  2. یک سر کابل I2C را به درگاه ورودی TCS34903 و سر دیگر را به سپر I2C وصل کنید.
  3. سنسور سنسور MCP9808 را با استفاده از کابل I2C به خروجی TCS34903 وصل کنید.
  4. در قابلمه MCP23008 را با استفاده از کابل I2C به سنسور MCP9808 وصل کنید.
  5. همچنین کابل اترنت را به Raspberry Pi متصل کنید.روتر Wi-Fi نیز می تواند برای همین مورد استفاده شود.
  6. سپس ، رزبری پای را با استفاده از آداپتور Micro USB و برد رله MCP23008 با استفاده از آداپتور 12 ولت تغذیه کنید.
  7. در نهایت ، چراغ را با رله اول و فن یا بخاری را با رله دوم وصل کنید. می توانید ماژول را گسترش دهید یا می توانید دستگاه های بیشتری را با رله ها متصل کنید.

مرحله 3: برقراری ارتباط با استفاده از پروتکل I2C

برای فعال کردن Raspberry Pi I2C ، مطابق موارد زیر عمل کنید:

  1. در ترمینال ، دستور زیر را برای باز کردن تنظیمات پیکربندی تایپ کنید: sudo raspi-config
  2. در اینجا "Advanced Options" را انتخاب کنید.
  3. "I2C" را انتخاب کرده و روی "Yes" کلیک کنید.
  4. سیستم را مجدداً راه اندازی کنید تا مطابق تغییرات ایجاد شده با استفاده از فرمان راه اندازی مجدد تنظیم شود.

مرحله 4: برنامه نویسی ماژول

پاداش استفاده از Raspberry Pi این است که به شما این انعطاف را می دهد که یک زبان برنامه نویسی را که می خواهید در آن برنامه نویسی کنید رابط کاربری دستگاه سنجش را با Raspberry Pi انتخاب کنید. با استفاده از مزیت Raspberry Pi ، ما در اینجا برنامه نویسی آن را در جاوا نشان می دهیم.

برای راه اندازی محیط جاوا ، "pi4j libraby" را از https://pi4j.com/1.2/index.html نصب کنید Pi4j یک کتابخانه ورودی/خروجی جاوا برای Raspberry Pi است. یک روش آسان و ترجیحی برای نصب "pi4j Library”عبارت است از اجرای دستور زیر در Raspberry Pi شما:

curl -s get.pi4j.com | sudo bash

یا

curl -s get.pi4j.com

واردات com.pi4j.io.i2c. I2CBus ؛ واردات com.pi4j.io.i2c. I2CDevice ؛ واردات com.pi4j.io.i2c. I2CFactory؛ واردات java.io. IOException؛ کلاس MCP23008 {public static void main (String args ) Exception را {int status، value، value1 = 0x00؛ // ایجاد گذرگاه I2C I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1) ؛ // دریافت دستگاه I2C ، آدرس MCP23008 I2C 0x20 (32) I2CDevice device = bus.getDevice (0x20) است ؛ // دریافت دستگاه I2C ، آدرس MCP9808 I2C 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18) است ؛ // دریافت دستگاه I2C ، آدرس TCS34903 I2C 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39) است ؛ // تنظیم زمان انتظار ثبت = 0xff (255) ، زمان انتظار = 2.78 میلی ثانیه TCS34903.write (0x83 ، (بایت) 0xFF) ؛ // فعال کردن دسترسی به کانال IR TCS34903.write (0xC0 ، (بایت) 0x80) ؛ // ثبت Atime را روی 0x00 (0) ، حداکثر تعداد = 65535 TCS34903.write (0x81 ، (byte) 0x00) ؛ // روشن ، ADC فعال ، منتظر بمانید TCS34903.write (0x80 ، (بایت) 0x0B) ؛ موضوع. خواب (250) ؛ // خواندن 8 بایت داده با داده های روشن/ir LSB اولین بایت data1 = بایت جدید [8]؛ // خواندن بایت داده دما data = new byte [2]؛ status = device.read (0x09)؛ // همه پین ها را به عنوان OUTPUT device.write (0x00 ، (byte) 0x00) پیکربندی کنید ؛ موضوع. خواب (500) ؛ while (true) {MCP9808.read (0x05، data، 0، 2)؛ // تبدیل داده int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF))؛ if (temp> 4096) {temp -= 8192؛ } double cTemp = temp * 0.0625؛ System.out.printf ("دمای سانتیگراد:٪.2f C٪ n" ، cTemp) ؛ TCS34903.read (0x94 ، data1 ، 0 ، 8) ؛ double ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00؛ دو رنگ قرمز = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00؛ دو رنگ سبز = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00؛ آبی دوگانه = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00؛ // محاسبه روشنایی دو روشنایی = (-0.32466) * (قرمز) + (1.57837) * (سبز) + (-0.73191) * (آبی) ؛ System.out.printf ("Illuminance is:٪.2f lux٪ n"، illuminance)؛ if (روشنایی 30) {value = value1 | (0x01) ؛ } else {value = value1 & (0x02)؛ } device.write (مقدار 0x09 ، (بایت))؛ موضوع. خواب (300) ؛ }}}

مرحله 5: ایجاد فایل و اجرای کد

  1. برای ایجاد یک فایل جدید که در آن کد را می توان نوشت/کپی کرد ، از دستور زیر استفاده می شود: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. پس از ایجاد فایل ، می توانیم کد را در اینجا وارد کنیم.
  3. کد داده شده در مرحله قبل را کپی کرده و در پنجره اینجا قرار دهید.
  4. Ctrl+X و سپس "y" را برای خروج فشار دهید.
  5. سپس کد را با استفاده از دستور زیر کامپایل کنید: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. در صورت عدم وجود خطا ، برنامه را با استفاده از دستور زیر ذکر کنید: pi4j FILE_NAMEEg. pi4j MCP23008.java

مرحله 6: برنامه های کاربردی

این سیستم به شما امکان می دهد دستگاه ها را بدون مراجعه به کلیدهای دیواری کنترل کنید. این قابلیت های گسترده ای دارد زیرا زمان روشن یا خاموش کردن دستگاه ها به صورت خودکار برنامه ریزی شده است. تعداد انگشت شماری از برنامه های کاربردی این ماژول از خانه ها تا صنایع ، بیمارستان ها ، ایستگاه های راه آهن و بسیاری از مکان های دیگر را می توان به شیوه ای مقرون به صرفه و آسان توسط اجزای plug-and-play خودکار کرد.

مرحله 7: منابع

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

  • برگه اطلاعات TSL34903
  • برگه اطلاعات MCP9808
  • برگه اطلاعات MCP23008

توصیه شده: