সুচিপত্র:

আরডুইনো স্মার্ট হোম সিস্টেম: 7 টি ধাপ
আরডুইনো স্মার্ট হোম সিস্টেম: 7 টি ধাপ

ভিডিও: আরডুইনো স্মার্ট হোম সিস্টেম: 7 টি ধাপ

ভিডিও: আরডুইনো স্মার্ট হোম সিস্টেম: 7 টি ধাপ
ভিডিও: 🎬 Watch Dogs 2 🎬 Game Movie HD Story Cutscenes [ 4k 2160p 60 FRPS ] 2024, নভেম্বর
Anonim
আরডুইনো স্মার্ট হোম সিস্টেম
আরডুইনো স্মার্ট হোম সিস্টেম
আরডুইনো স্মার্ট হোম সিস্টেম
আরডুইনো স্মার্ট হোম সিস্টেম

এই নির্দেশনায় আমরা আপনাকে দেখাব কিভাবে স্পার্টফুন রেড বোর্ড দিয়ে MATLAB এর অ্যাপ ডিজাইনার দিয়ে আপনার নিজের স্মার্ট হোম সিস্টেম তৈরি করবেন। এই নির্দেশযোগ্যটি MATLAB এর অ্যাপ ডিজাইনারের একটি বেস বোঝার জন্য সাহায্য করতে পারে, সেইসাথে একটি ফোটোরিসিস্টার, সার্ভোমোটর এবং একটি পিআইআর মোশন সেন্সর ব্যবহার করে।

ধাপ 1: শুরু করতে: উপকরণ

এই প্রকল্পের জন্য নিম্নলিখিত উপকরণগুলির প্রয়োজন:

- Arduino Uno (এই প্রকল্পের জন্য আমরা একটি স্পার্কফুন লাল বোর্ড ব্যবহার করেছি)

- একজন ফটোরিসিস্টর

- একটি মিনি-সার্ভো মোটর

- একটি ক্রমাগত servo মোটর

- একটি PIR মোশন সেন্সর

- একটি তাপমাত্রা সেন্সর

- 2 LEDs

- প্রয়োজন অনুযায়ী তার এবং প্রতিরোধক

ধাপ 2: ধাপ 2: সমস্যার সমাধানের দিকে এগিয়ে যাওয়া

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

ধাপ 3: ধাপ 3: GUI এবং বেসিক কোড ফ্লো কনফিগার করা

ধাপ 3: GUI এবং বেসিক কোড ফ্লো কনফিগার করা
ধাপ 3: GUI এবং বেসিক কোড ফ্লো কনফিগার করা

শুরু করার জন্য আপনাকে MATLABs AppDesigner খুলতে হবে এবং নিম্নলিখিতগুলি স্থাপন করতে হবে:

একটি গরম এবং ঠান্ডা থ্রেশহোল্ড ইনপুটের জন্য দুটি সংখ্যাসূচক সম্পাদনা ক্ষেত্র

দরজা খোলার জন্য একটি বোতাম

এবং অগ্নিকুণ্ড, দরজা, পাখা, এবং বন্যা আলো জন্য চারটি নির্দেশক বাতি।

ব্যবহারকারীর সাথে যোগাযোগের জন্য দুটি লেবেল।

এই প্রকল্পের জন্য আমরা গ্লোবাল ভেরিয়েবল এবং ডিজাইনারের মধ্যে স্টার্টআপ ফাংশন নিয়ে কাজ করা সহজ পেয়েছি। স্টার্টআপ ফাংশনের মধ্যে আপনার এই ভেরিয়েবলগুলির প্রয়োজন হবে:

বিশ্বব্যাপী a

a = arduino ('COM3', 'uno', 'লাইব্রেরি', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light

এই মুহূর্তে আমাদের শুধুমাত্র একটি ভেরিয়েবলের জন্য একটি অ্যাসাইনমেন্ট আছে যাতে আপনার কম্পিউটার arduino পড়তে পারে। আপনার কম্পিউটার কোন পোর্ট ব্যবহার করছে তার উপর নির্ভর করে COM3 ভিন্ন হতে পারে।

যখন আপনি কোডটি চালাবেন, এটি স্টার্টআপ ফাংশনের মধ্যে শুরু হবে গ্লোবাল ভেরিয়েবল তৈরি করা এবং সিস্টেমকে ক্যালিব্রেট করা। এই ফাংশনের শেষে একটি টাইমার ফাংশন থাকবে যা আমাদের টাইমার নামক একটি সম্পত্তিকে কল করে। এই টাইমার সম্পত্তির মধ্যে আমরা কোডটি রাখি যা হোম সিস্টেম চালায় তাই টাইমার ক্রমাঙ্কন কোডটি পুনরায় চালায় না।

দ্রষ্টব্য: আমরা সিস্টেমের জন্য কোন তারের নির্দেশনা দেইনি। আমরা স্পার্কফুন রেড বোর্ডের সাথে আসা ম্যানুয়ালটি উল্লেখ করেছি।

ধাপ 4: ধাপ 3: থার্মোস্ট্যাট সিস্টেম স্থাপন

ধাপ 3: থার্মোস্ট্যাট সিস্টেম সেট আপ করা
ধাপ 3: থার্মোস্ট্যাট সিস্টেম সেট আপ করা
ধাপ 3: থার্মোস্ট্যাট সিস্টেম সেট আপ করা
ধাপ 3: থার্মোস্ট্যাট সিস্টেম সেট আপ করা

থার্মোস্ট্যাটের ফাংশন নিম্নরূপ কাজ করে:

ব্যবহারকারী কোন তাপমাত্রাকে তারা খুব গরম বা খুব ঠান্ডা মনে করবে তা ইনপুট করবে। একবার থার্মোমিটার পড়লে দেখা যায়, যদি ঘর খুব ঠান্ডা হয় তাহলে "অগ্নিকুণ্ড" (একটি লাল LED) চালু হবে এবং ঘর গরম করবে। যদি ঘর খুব গরম হয় তাহলে একটি "ফ্যান" (ক্রমাগত সার্ভো মোটর) ঘর ঠান্ডা করতে চালু করবে।

থার্মোস্ট্যাট সিস্টেম কোড করতে:

আমরা বর্তমান তাপমাত্রা প্রদর্শন করতে স্টার্টআপ ফাংশনের মধ্যে শুরু করব এবং ব্যবহারকারীকে তাদের ঠান্ডা এবং গরম প্রান্তিক প্রবেশ করতে দেব।

p = 'A0' %Photoresistor পিন

ভোল্ট = readVoltage (a, temp); celc = (Volt-0.5)।*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %লেবেল নম্বর বিরতি পরিবর্তন করতে পারে (10); %পরিবর্তন করতে চায় !!!!!

তারপর আমরা টাইমার সম্পত্তির মধ্যে থার্মোস্ট্যাট সিস্টেম সম্পন্ন করব।

বৈশ্বিক curr_temp

গ্লোবাল কোল্ড ইউআই গ্লোবাল গ্লোবাল হট ইউআই যদি curr_temp hotUI অ্যাপ হয়। %GUI ল্যাম্প সবুজ লেখা চালু করে 0.90 0.90 0.90]; %এটি সমস্ত GUI ল্যাম্প এবং ফায়ারপ্লেস অ্যাপ বন্ধ করে দেয়। FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); শেষ

ধাপ 5: ধাপ 4: দরজা সিস্টেম সেট আপ

ধাপ 4: দরজা সিস্টেম সেট আপ
ধাপ 4: দরজা সিস্টেম সেট আপ

দরজার ফাংশন নিম্নরূপ কাজ করে:

যখন আপনি প্রথমে আপনার MATLAB কোডটি চালাবেন, অ্যাপটি আপনাকে দরজা খুলতে বলবে যাতে ফটোরিসিস্টার প্রাথমিক আলো পড়তে পারে। একবার এটি সম্পন্ন হলে, টাইমার সক্রিয় হবে এবং ফটোরিসিস্টার সেকেন্ডারি লাইট রিডিং নেবে। যদি সেকেন্ডারি লাইট রিডিং প্রারম্ভিকের চেয়ে হালকা হয়, একটি সার্ভো মোটর দরজা লক করবে। যদি ব্যবহারকারী দরজাটি আনলক করতে চান, তারা অ্যাপের একটি বোতাম টিপতে পারেন যা দরজা আনলক করবে।

Servo মোটর এবং photoresistor কনফিগার করতে:

দরজা সিস্টেম কোড করতে:

আমরা প্রারম্ভিক হালকা রিডিং নিতে স্টার্টআপ ফাংশনের মধ্যে শুরু করব।

s = servo (a, 'D9') %পিন তারের উপর ভিত্তি করে পরিবর্তিত হতে পারে

app. Label_4. Text = 'অনুগ্রহ করে সিস্টেম ক্যালিব্রেট করার জন্য দরজা খুলুন'; বিরতি (15); %এটি ব্যবহারকারীর জন্য দরজা খোলার সময় দেয় int_light = readVoltage (a, p); app. Label_4. Text = 'আপনি আপনার আঙুল মুছে ফেলতে পারেন';

পরবর্তী, আমরা টাইমার প্রপার্টি এর মধ্যে কোডটি সম্পূর্ণ করব

বিশ্বব্যাপী আনলক

বৈশ্বিক int_light গ্লোবাল s গ্লোবাল a %curr_light = readVoltage (a, p) তুলনা করার জন্য একটি বর্তমান হালকা পড়া পান; % - লক ডোর - যদি int_light app. DoorStateLamp. Color = [0.47 0.67 0.19]; শেষ % - আনলক ডোর - যদি আনলক == 1234 বিরতি (0.5); writePosition (s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; শেষ

অবশেষে আমরা আনলক বাটন কলব্যাক তৈরি করব। একবার ব্যবহারকারী আনলক বোতাম টিপলে, গ্লোবাল ভেরিয়েবল আনলককে এমন একটি নম্বর বরাদ্দ করা হবে যা টাইমার সম্পত্তিতে বিবৃতিটি চূড়ান্ত করতে পারে।

বিশ্বব্যাপী আনলক

আনলক = 1234;

ধাপ 6: ধাপ 6: ফ্লাড লাইট সিস্টেম স্থাপন

ধাপ 6: ফ্লাড লাইট সিস্টেম স্থাপন
ধাপ 6: ফ্লাড লাইট সিস্টেম স্থাপন

বন্যা আলো জন্য ফাংশন নিম্নলিখিত হিসাবে কাজ করে:

যখন আপনি ম্যাটল্যাব কোড শুরু করবেন, পিআইআর মোশন সেন্সর গতি সনাক্ত করতে শুরু করবে। একবার এটি কিছু ধরণের গতি সনাক্ত করলে, এটি একটি পাওয়ার সিগন্যাল কেটে দেবে। একবার সেই সিগন্যাল কেটে গেলে, বাড়ির বাইরে একটি বন্যা আলো জ্বলে উঠবে।

বন্যা আলো ব্যবস্থা কনফিগার করতে:

বন্যা আলো সিস্টেম কোড করতে:

এবার আমরা টাইমার প্রপার্টি এড়িয়ে যেতে পারি কারণ আমাদের কোন অতিরিক্ত ভেরিয়েবল লেখার প্রয়োজন নেই।

human_detected = readDigitalPin (a, 'D2'); কনফিগারেশনের উপর ভিত্তি করে %পিন পরিবর্তিত হতে পারে যদি human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin অ্যাপ পরিবর্তন করতে পারে। FloodLightStateLamp. Color = [0.47 0.67 0.19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D7', 0) শেষ

ধাপ 7: উপসংহার

এখন যেহেতু আপনার কাছে আপনার GUI- এর একটি খসড়া অ্যাপ ডিজাইনার এবং Arduino এর জন্য আপনার কোড আছে আপনি আপনার নিজের সম্পাদনা করতে বা আপনার Arduino এ প্লাগ করার জন্য প্রস্তুত এবং যান!

প্রস্তাবিত: