সুচিপত্র:

EF230 স্মার্ট হোম প্রকল্প: 7 টি ধাপ
EF230 স্মার্ট হোম প্রকল্প: 7 টি ধাপ

ভিডিও: EF230 স্মার্ট হোম প্রকল্প: 7 টি ধাপ

ভিডিও: EF230 স্মার্ট হোম প্রকল্প: 7 টি ধাপ
ভিডিও: EF230: MATLAB RVR Speech Recognition Demonstration 2024, জুলাই
Anonim
EF230 স্মার্ট হোম প্রকল্প
EF230 স্মার্ট হোম প্রকল্প

প্রয়োজনীয় যন্ত্রাংশ এবং উপকরণ:

  • 1 Arduino MKR 1000
  • 3 ব্রেডবোর্ড
  • 2 মিনি ফোটোসেল
  • 1 এনপিএন ট্রানজিস্টর
  • 1 মিনি পাওয়ার সুইচ
  • 1 LED - RGB (4 prong)
  • 1 LED (আপনার পছন্দের রঙ)
  • 1 ডায়োড 1N4148
  • 1 10K ওহম প্রতিরোধক
  • 5 100 ওহম প্রতিরোধক
  • 1 তাপমাত্রা সেন্সর TMP36
  • 1 DAGU 48: 1 অনুপাত গিয়ারমোটর
  • 25 জাম্পার তার
  • ইউএসবি কর্ড
  • ম্যাটল্যাব প্রোগ্রাম
  • Arduino 101/Genuino 101 বোর্ডের জন্য SIK এক্সপেরিমেন্ট গাইড - SIK এক্সপেরিমেন্ট গাইড লিংক

এই প্রকল্পটি একটি স্মার্ট হোম সিস্টেমের ধারণাগত নকশার বিবরণ দেয় যা বাড়ির মালিকদের তাদের শক্তির ব্যবহার এবং সুরক্ষা অনুকূল করতে ডেটা ব্যবহার করবে। এতে রাতের বেলা আলো জ্বালানোর জন্য একটি হালকা সেন্সর, নিরাপত্তার জন্য একটি হালকা সেন্সর এবং অভ্যন্তরীণ তাপমাত্রা নিয়ন্ত্রণের জন্য একটি তাপমাত্রা সেন্সর এবং ফ্যান অন্তর্ভুক্ত রয়েছে।

ধাপ 1: হালকা সংবেদনশীল LED

  • হালকা সংবেদনশীল এলইডি সেটআপ রাতের বেলায় আসা বাড়ির বাইরের আলোকে বোঝানোর জন্য।
  • যখন মিনি ফোটোসেল কম পরিমাণে আলো অনুভব করে তখন LED জ্বলবে।
  • একটি স্মার্ট হোমের জন্য এর শক্তি এবং নিরাপত্তার প্রভাব রয়েছে। এটি দিনের বেলা লাইট বন্ধ করে শক্তি সঞ্চয় করবে এবং রাতে বাড়তি নিরাপত্তা দেবে।
  • প্রকল্পের এই অংশের জন্য সঠিক ওয়্যারিং এবং সেটআপ SIK এক্সপেরিমেন্ট গাইডে পরীক্ষা 7 এর অধীনে পাওয়া যাবে।

ধাপ 2: মিনি পাওয়ার সুইচ

  • সুইচ হল স্মার্ট হোমের নিরাপত্তা প্রক্রিয়ার প্রথম ধাপ।
  • চালু করা হলে, সুইচ ব্যবহারকারীকে জিজ্ঞাসা করে একটি প্রতিক্রিয়া শুরু করবে যদি তারা 'হোম' মোড বা 'দূরে' মোডে প্রবেশ করতে চায়।
  • যদি 'হোম' মোড নির্বাচন করা হয় তবে নিরাপত্তা নিরস্ত্র বলে বিবেচিত হয়, কিন্তু 'দূরে' মোড নির্বাচন করা নিরাপত্তা ব্যবস্থাকে শক্তিশালী করবে।
  • প্রকল্পের এই অংশের ওয়্যারিং এক্সপেরিমেন্ট গাইডে পরীক্ষা 6 এর অধীনে পাওয়া যাবে। স্মার্ট হোমের উদ্দেশ্যে, পরীক্ষা 6 -এ পাওয়া এলইডি এবং তাদের সংযোগকারী তারগুলিকে অন্তর্ভুক্ত করার প্রয়োজন নেই।

ধাপ 3: দ্বিতীয় ফোটোসেল

দ্বিতীয় ফোটোসেল
দ্বিতীয় ফোটোসেল
  • দ্বিতীয় ফোটোসেল স্মার্ট হোমের নিরাপত্তা ব্যবস্থার জন্য মোশন সেন্সর হিসেবে কাজ করে।
  • সেন্সরটি তখনই ব্যবহার করা হয় যখন পূর্ববর্তী ধাপে বর্ণিত সিস্টেমটি 'দূরে' মোডে রাখা হয়।
  • যদি ফোটোসেল তার প্রাপ্ত আলোর পরিমাণ হ্রাস পায়, তবে এটি এটিকে ঘরের অভ্যন্তরে গতি হিসাবে স্বীকৃতি দেয়।
  • প্রকল্পের এই অংশের জন্য সেটআপ পরীক্ষা 7 এর অধীনে SIK এক্সপেরিমেন্ট গাইডে পাওয়া যাবে। যাইহোক, শুধুমাত্র ফোটোসেল এবং তার সংযোগকারী তারের তারের মধ্যে অন্তর্ভুক্ত করা প্রয়োজন।

ধাপ 4: RGB LED

  • আরজিবি এলইডি স্মার্ট হোমের নিরাপত্তা ব্যবস্থার জন্য মিনি পাওয়ার সুইচ এবং দ্বিতীয় ফোটোসেলের সাথে ব্যবহার করা হয়।
  • স্মার্ট বাড়ির বাসিন্দার জন্য তিনটি ভিন্ন রঙ সূচক হিসাবে ব্যবহৃত হয়।
  • যখন সিস্টেমটি 'হোম' মোডে রাখা হয়, তখন LED নীল হয়ে যায়। যখন সিস্টেমটি 'অ্যাওয়ে' মোডে রাখা হয় তখন LED সবুজ হয়ে যায়। যখন মোশন সেন্সর হিসেবে ব্যবহৃত ফোটোসেল ট্রিপ হয়, তখন আলো লাল হয়ে যায়।
  • RGB LED এর ওয়্যারিং SIK এক্সপেরিমেন্ট গাইডের এক্সপেরিমেন্ট 3 এ পাওয়া যাবে।

ধাপ 5: তাপমাত্রা সেন্সর

  • তাপমাত্রা সেন্সর স্মার্ট বাড়িতে শক্তি সংরক্ষণের প্রধান অংশ।
  • স্মার্ট হোম ব্যবহারের সময় বাসিন্দা তাদের বাড়ির জন্য একটি পছন্দসই তাপমাত্রা ইনপুট করতে সক্ষম হয়।
  • তাপমাত্রা সেন্সর হল সিস্টেম কিভাবে জানে প্রকৃত তাপমাত্রা কতটা পছন্দসই তাপমাত্রা থেকে।
  • তাপমাত্রা সেন্সরের সেটআপ SIK এক্সপেরিমেন্ট গাইডের এক্সপেরিমেন্ট 9 এ পাওয়া যাবে।

ধাপ 6: DAGU গিয়ারমোটর

ডাগু গিয়ারমোটর
ডাগু গিয়ারমোটর
  • মোটর স্মার্ট হোমকে পছন্দসই তাপমাত্রা এবং তাপমাত্রা সেন্সরের রিডিংয়ের উপর ভিত্তি করে বাড়ির তাপমাত্রা নিয়ন্ত্রণ করতে দেয়।
  • বাড়িতে এসি ইউনিট হিসাবে কাজ করে, মোটর বিভিন্ন গতিতে ঘুরবে যার উপর ভিত্তি করে প্রকৃত তাপমাত্রা কাঙ্ক্ষিত তাপমাত্রার চেয়ে কত বেশি। উচ্চতর পার্থক্য, তিনি দ্রুত মোটর স্পিন।
  • মোটরের জন্য ওয়্যারিং এক্সপেরিমেন্ট গাইডে পরীক্ষা 11 এর অধীনে পাওয়া যাবে।

ধাপ 7: কোড

  • স্মার্ট হোমের কোডটিতে একাধিক ব্যবহারকারী ইন্টারফেস রয়েছে যা বাসিন্দাকে সহজেই বুঝতে পারে যে এটি কীভাবে কাজ করে এবং সহজেই সেটিংস পরিবর্তন করে।
  • স্মার্ট হোম সিস্টেমের মাধ্যমে, বাসিন্দা দূরে থাকাকালীন মোশন সেন্সর বন্ধ থাকলে সেখান থেকে ইমেইল অ্যালার্ট পাবেন।
  • প্রেরকের ইমেইল এবং প্রাপকের ইমেল ঠিকানার জন্য তথ্য সন্নিবেশ করাই একমাত্র পরিবর্তন।

পরিষ্কার a; পরিষ্কার গুলি; পরিষ্কার m; clc; সব বন্ধ করা; % Arduino এবং servo ভেরিয়েবল পরিষ্কার করুন যাতে সেগুলি প্রতিবার নতুন করে সংজ্ঞায়িত করা যায় যাতে কোডটি কার্যকরভাবে চলতে পারে ("ক্লিয়ার এম" এক সময় লুপগুলি সঠিকভাবে কাজ করার জন্য প্রয়োজনীয়) a = arduino (); % Arduino ভেরিয়েবল সেট করুন

s = servo (a, 'D6'); % সার্ভো ভেরিয়েবল সেট করুন

% নিরাপত্তা ব্যবস্থা সতর্কতা ইমেইলের জন্য ইমেল ভেরিয়েবল শুরু করুন

ইমেল = {'প্রাপকের ঠিকানা'োকান'}; নিরাপত্তার ইমেইল পাঠানোর জন্য ১০০ % ইমেইল

মেল পাঠানোর জন্য জিমেইল ব্যবহারের জন্য প্রয়োজনীয় ইমেল পছন্দসই সেটিংস

setpref ('ইন্টারনেট', 'ই_মেইল', 'প্রেরকের ইমেল ঠিকানা');

setpref ('ইন্টারনেট', 'SMTP_Username', 'প্রেরকের ব্যবহারকারীর নাম');

setpref ('ইন্টারনেট', 'SMTP_Password', 'প্রেরকের পাসওয়ার্ড');

প্রপস = java.lang. System.getProperties;

props.setProperty ('mail.smtp.auth', 'true');

props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');

% ইমেইল সাবজেক্ট এবং টেক্সট ভেরিয়েবল

subj = 'আপনার বাড়িতে অনুপ্রবেশকারী সতর্কতা';

টেক্সট = 'হ্যালো, এটি আপনার স্মার্ট হোম সিকিউরিটি সিস্টেম আপনাকে জানিয়ে দিচ্ছে যে আপনার বাড়ির বাইরে গতি সনাক্ত হয়েছে। আমরা প্রয়োজনীয় ব্যবস্থা গ্রহণ করেছি এবং কর্তৃপক্ষের সাথে যোগাযোগ করেছি। নিরাপদ থাকো.';

যখন সত্য

প্রম্পট = {'পছন্দসই বাড়ির তাপমাত্রা লিখুন (65F এবং 85F এর মধ্যে):'}; ব্যবহারকারীর ইনপুট মেনুর জন্য % প্রম্পট

dlgtitle = 'তাপমাত্রা নির্বাচন'; ব্যবহারকারীর ইনপুট মেনুর জন্য % শিরোনাম

dims = [1 30]; ব্যবহারকারীর ইনপুট মেনুর জন্য % মাত্রা

definput = {'72'}; মেনু যখন প্রথম খোলা হয় তখন % ডিফল্ট ইনপুট দেখায়

tempsel_array = inputdlg (প্রম্পট, dlgtitle, dims, definput); % পপআপ ব্যবহারকারীর ইনপুট মেনু যা প্রবেশ করা নম্বরটিকে একটি অ্যারেতে সংরক্ষণ করবে

যদি ~ isempty (tempsel_array) % যদি অ্যারেটি খালি না হয়

tempsel_char = cell2mat (tempsel_array); অ্যারেটিকে একটি অক্ষরের স্ট্রিংয়ে রূপান্তর করুন

tempsel = str2double (tempsel_char); অক্ষর স্ট্রিংকে সংখ্যায় রূপান্তর করুন

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); আপনার থিংসস্পিক চ্যানেলে নির্বাচিত তাপমাত্রা লিখুন

বিরতি % লুপ থেকে বিরতি যাতে মেনু একাধিকবার পপ আপ হবে না

অন্যথায় যদি ব্যবহারকারী একটি তাপমাত্রা প্রবেশ করার পরিবর্তে বাতিল করতে ক্লিক করে

msg1 = msgbox ('কোন তাপমাত্রা নির্বাচিত নয়, 85F ডিফল্ট', 'সতর্কতা!'); বাতিল করুন ক্লিক করার পর ব্যবহারকারীর কাছে % বার্তা প্রদর্শিত হয়

waitfor (msg1); চালিয়ে যাওয়ার আগে মেসেজ বক্স বন্ধ হওয়ার জন্য অপেক্ষা করুন

tempsel = 85; মেসেজ বক্সে যা বলা হয়েছে তাতে তাপমাত্রা সেট করুন

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); আপনার থিংসস্পিক চ্যানেলে নির্বাচিত তাপমাত্রা লিখুন

বিরতি % লুপ থেকে বিরতি যাতে মেনু একাধিকবার পপ আপ হবে না

শেষ

শেষ

যখন সত্য

chID = 745517; % ThingSpeak চ্যানেল আইডি

writeKey = 'G9XOQTP8KOVSCT0N'; থিংসস্পিক চ্যানেলে প্রবেশের জন্য কী

% তথ্য আনতে সেন্সর আরম্ভ করুন

tempread = readVoltage (a, 'A3'); তাপমাত্রা সেন্সরের ভোল্টেজ পড়ুন

lightl1 = readVoltage (a, 'A2'); ফটোরিসিস্টারের লাল এলইডি -তে যাওয়ার জন্য আলোর মাত্রা

lightl2 = readVoltage (a, 'A5'); সুরক্ষা ব্যবস্থায় যাওয়া ফটোরিসিস্টারের জন্য আলোর মাত্রা

switchv = readVoltage (a, 'A0'); সুইচের জন্য % মান

% ভোল্টেজ থেকে ডিগ্রী ফারেনহাইট তাপমাত্রা তথ্য রূপান্তর

tempC = (tempread - 0.5) * 100; % ভেল্টেজকে সেলসিয়াস তাপমাত্রায় রূপান্তর করুন

tempF = (tempC * 9/5) + 32; % সেলসিয়াস তাপমাত্রাকে ফারেনহাইটে তাপমাত্রায় রূপান্তর করুন

মাল্টি কালার এলইডি -র জন্য পিন নম্বর শুরু করুন

redp = 'D9'; LED থেকে লাল আলোর জন্য % পিন

greenp = 'D10'; LED থেকে সবুজ আলোর জন্য % পিন

bluep = 'D11'; LED থেকে নীল আলোর জন্য % পিন

যদি tempsel <tempF % যদি নির্বাচিত তাপমাত্রা ঘরের তাপমাত্রার চেয়ে বেশি হয়

লেখার অবস্থান (গুলি, 1); % Servo চলতে শুরু করবে

বিরাম দিন

লেখার অবস্থান (গুলি, 0); % ফ্যান ছাড়া কোড চালিয়ে যাওয়ার উদ্দেশ্যে ফ্যান বন্ধ করুন

tempsel = 150; ফ্যান বন্ধ হয়ে যাওয়ার পরে লুপ থেকে বেরিয়ে যাওয়ার জন্য তাপমাত্রার মান পরিবর্তন করুন, আবার কোডটি চালিয়ে যাওয়ার উদ্দেশ্যে

শেষ

যদি lightl1 <= 3 % যদি প্রথম ফটোরিসিস্টর কম আলোর স্তর সনাক্ত করে

writeDigitalPin (a, 'A1', 1); % লাল LED চালু করুন যা বহিরঙ্গন আলোকে উপস্থাপন করে

অন্যথায় যদি আলোর মাত্রা আবার বেশি হয়

writeDigitalPin (a, 'A1', 0); যখন আলোর স্তর আবার যথেষ্ট উচ্চ হয় তখন লাল LED বন্ধ করুন

শেষ

if switchv> 3 % যদি সুইচ চালু থাকে

A = বিদ্যমান ('m', 'var'); % ভেরিয়েবল 'm' এর অস্তিত্বের জন্য পরীক্ষা করুন, এটি যখন লুপের জন্য আরম্ভ করবে এবং যখন একটি মেনু আইটেম নির্বাচন করা হবে তখন এটি ভাঙার অনুমতি দেবে (এজন্য কোডের শুরুতে পরিষ্কার m করতে হবে)

যখন A == 0 % লুপ চলমান থাকবে যতক্ষণ না ভেরিয়েবল 'm' বিদ্যমান

menutext = 'আপনি কোন নিরাপত্তা মোডে প্রবেশ করতে চান?'; নিরাপত্তা পপআপ মেনুর জন্য % পাঠ্য

পছন্দ = {'বাড়ি', 'দূরে'}; নিরাপত্তা পপআপ মেনুর জন্য % পছন্দ

m = মেনু (মেনুটেক্সট, পছন্দ); নিরাপত্তা ব্যবস্থা মোডের জন্য % পপআপ মেনু

break % নিশ্চিত করে যে যখন লুপটি ভেঙ্গে গেছে তাই মেনু একাধিকবার পপ আপ হবে না

শেষ

যদি m == 1 % যদি 'হোম' মোড নির্বাচন করা হয়

writeDigitalPin (a, bluep, 1); রঙ পরিবর্তন LED তে শুধু নীল আলো চালু করুন

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

elseif m == 2 % যদি 'দূরে' মোড নির্বাচন করা হয়

writeDigitalPin (a, bluep, 0);

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 1); % রঙ পরিবর্তন LED এ শুধু সবুজ আলো চালু করুন

যদি lightl2 <= 3 % দ্বিতীয় photoresistor আলোর স্তর কম, নিরাপত্তা সিস্টেম দ্বারা সনাক্ত গতি প্রতিনিধিত্ব

সেন্ডমেইল (ইমেইল, সাবজে, টেক্সট); % পূর্বে নির্ধারিত ইমেইল বৈশিষ্ট্যের সাথে একটি ইমেল পাঠান writeDigitalPin (a, greenp, 0); % ফ্ল্যাশ লাল রঙ 2 বার চালু এবং বন্ধ

writeDigitalPin (a, redp, 1);

বিরতি (0.3)

writeDigitalPin (a, redp, 0);

বিরতি (0.3)

writeDigitalPin (a, redp, 1);

বিরতি (0.3)

writeDigitalPin (a, redp, 0);

বিরতি (0.3)

writeDigitalPin (a, redp, 1); আলোর স্তর ফিরে না যাওয়া পর্যন্ত গতি আছে তা দেখানোর জন্য ফ্ল্যাশ করার পরে শক্ত লাল দিয়ে শেষ করুন

msg2 = msgbox ('নিরাপত্তা ব্যবস্থায় অনুপ্রবেশকারী শনাক্ত হয়েছে, বাড়ির মালিকদের তাদের জানানোর জন্য একটি ইমেইল পাঠানো হয়েছে।', 'সতর্কতা!'); % মেসেজ বক্স ব্যবহারকারীকে গতিশীলতা জানানোর জন্য এবং ইমেইল পাঠানোর অপেক্ষায় জানানোর জন্য (msg2)

অন্য

writeDigitalPin (a, greenp, 1); একবার আলোর মাত্রা আবার বেড়ে গেলে তা সবুজ হয়ে যাবে

শেষ

শেষ

elseif switchv <3.3 % যদি সুইচ বন্ধ থাকে

writeDigitalPin (a, bluep, 0); % নিরাপত্তা ব্যবস্থা বন্ধ দেখানোর জন্য LED সম্পূর্ণ বন্ধ করুন

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

শেষ

শেষ

প্রস্তাবিত: