সুচিপত্র:

আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম: Ste টি ধাপ
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম: Ste টি ধাপ

ভিডিও: আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম: Ste টি ধাপ

ভিডিও: আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম: Ste টি ধাপ
ভিডিও: Arduino Programming basic (lcd function) || আরডুইনো প্রোগ্রামিং বেসিক। 2024, নভেম্বর
Anonim
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম
আরডুইনো এলসিডি ফায়ার সেফটি ওয়ার্নিং সিস্টেম

এটি একটি ছাত্র তৈরি প্রকল্প যা একটি এলসিডি স্ক্রিন, একটি বুজার, একটি আরজিবি এবং একটি ডিএইচটি তাপমাত্রা সেন্সরের কাজগুলিকে একত্রিত করে।

বর্তমান চারপাশের তাপমাত্রা LCD স্ক্রিনে প্রদর্শিত এবং আপডেট হয়।

এলসিডি স্ক্রিনে মুদ্রিত বার্তাটি ব্যবহারকারীকে "অগ্নি বিপদ" এর স্তর সম্পর্কে অবহিত করে।

ব্যবহারকারীকে বিপদের বিষয়ে সতর্ক করার জন্য স্ক্রিনটি ম্লান এবং ঝলকানি দেয়।

বর্তমান ঝুঁকির মাত্রার উপর নির্ভর করে ব্যবহারকারীকে বিপদের বিষয়ে সতর্ক করার জন্য বাজারটি আরও জোরে এবং দ্রুত হয়ে যায়।

RGB বর্তমান ঝুঁকির মাত্রার উপর নির্ভর করে সবুজ, হলুদ, কমলা এবং লাল পরিবর্তন করে।

আরো পেশাদারী চেহারা জন্য একটি 3D মুদ্রিত ঘের মধ্যে রাখা যেতে পারে।

এটি অনেক দেরি না হওয়া পর্যন্ত আগুনের ঝুঁকি আছে কিনা তা না জানা মানুষের একটি বাস্তব বিশ্বের সমস্যার সমাধান করে

ধাপ 1: উপকরণ সংগ্রহ করুন

উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন

এই প্রকল্পে ব্যবহৃত উপকরণ:

1x LCD ডিসপ্লে

1x DHT_11 তাপমাত্রা সেন্সর

1x RGB

1x Piezo Passive Buzzer 1.0v

2x ছোট ব্রেডবোর্ড

3x স্ট্যান্ডার্ড প্রতিরোধক

1x সাধারণ আকারের ব্রেডবোর্ড

1x আরডুইনো ইউএনও

জায়গায় তারের লক ব্লুটেক।

বিভিন্ন সমাপ্ত তারের একটি ভাণ্ডার, উভয় খোলা শেষ এবং একক শেষ।

কোড চালানোর জন্য একটি ডিভাইস

যদি আপনি বাইরের শেল এবং আরও পালিশ লুক চান তবে একটি 3D প্রিন্টারে অ্যাক্সেস করুন

ধাপ 2: ব্রেডবোর্ড সেট আপ করা

ব্রেডবোর্ড সেট আপ করা
ব্রেডবোর্ড সেট আপ করা
ব্রেডবোর্ড সেট আপ করা
ব্রেডবোর্ড সেট আপ করা

1. Arduino বোর্ডে "GND" লেবেলযুক্ত পিন থেকে কমলা তারের সাথে সংযোগ করুন এবং এটি রুটিবোর্ডের নেতিবাচক দিক (নীল) এর সাথে সংযুক্ত করুন। এই বিন্দু থেকে, যদি আমাদের কোন বাহ্যিক ডিভাইসের জন্য GND ব্যবহার করার প্রয়োজন হয় তবে আমরা সেগুলিকে একই কলামে ব্রেডবোর্ডে রাখব।

2. Arduino বোর্ডে "5V" লেবেলযুক্ত পিন থেকে লাল তারের সংযোগ করুন এবং এটিকে রুটিবোর্ডের ধনাত্মক (লাল) পাশে সংযুক্ত করুন। এই বিন্দু থেকে, যদি আমাদের কোন বাহ্যিক ডিভাইসের জন্য 5V ব্যবহার করার প্রয়োজন হয় তবে আমরা সেগুলিকে একই কলামে রাখব যেমন এটি রুটিবোর্ডে।

ধাপ 3: এলসিডি ডিসপ্লে সেট আপ করা

এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে
এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে
এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে
এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে
এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে
এলসিডি ডিসপ্লে সেট আপ করা হচ্ছে

1. বোর্ডটি উল্টে দিন যাতে এটি বাম দিকে সমস্ত পিনের সাথে উল্টো দিকে মুখোমুখি হয়।

2. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 5 সংযুক্ত করুন এবং এটি Arduino UNO- এর 4 নম্বর পিনের সাথে সংযুক্ত করুন।

3. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 6 সংযুক্ত করুন এবং এটিকে Arduino UNO- এর 5 নম্বর পিনের সাথে সংযুক্ত করুন।

4. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 7 সংযুক্ত করুন এবং এটি Arduino UNO- এর 6 নম্বর পিনের সাথে সংযুক্ত করুন।

5. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 8 সংযুক্ত করুন এবং এটিকে Arduino UNO- এর 7 নম্বর পিনের সাথে সংযুক্ত করুন।

6. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 9 সংযুক্ত করুন এবং এটি Arduino UNO- এর 8 নম্বর পিনের সাথে সংযুক্ত করুন।

7. পিনের উপরের সারিতে উপরের বাম থেকে একটি তারের 10 সংযুক্ত করুন এবং এটি Arduino UNO- এর 9 নম্বর পিনের সাথে সংযুক্ত করুন।

8. নিচের ডানদিক থেকে একটি তার 3 সংযুক্ত করুন এবং এটিকে রুটিবোর্ডের 5V সারির সাথে সংযুক্ত করুন

9. নিচের ডানদিক থেকে একটি তারের 4 সংযোগ করুন এবং এটিকে রুটিবোর্ডের GND সারির সাথে সংযুক্ত করুন

সার্কিট ডায়াগ্রাম বিভিন্ন এলসিডি দেখায় ছবিগুলি দেখুন

ধাপ 4: পাইজো বুজার সেট আপ করা

পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে
পাইজো বুজার সেট আপ করা হচ্ছে

1. বুজারের GND পিন থেকে একটি ব্রেডকে GND কলামের সাথে (নীল) সংযুক্ত করুন

2. বুজারের VCC পিন থেকে একটি তারের সাথে 5V কলাম (লাল) রুটিবোর্ডে সংযুক্ত করুন

3. বুজারের এসআইজি পিন থেকে আরডুইনো ইউএনও বোর্ডের "10" পিনে একটি তার সংযুক্ত করুন

সার্কিট ডায়াগ্রাম বিভিন্ন বাজার দেখায় উপরের ছবিগুলি দেখুন

ধাপ 5: ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা

ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে
ডিএইচটি তাপমাত্রা সেন্সর সেট আপ করা হচ্ছে

1. উপরে দেখানো হিসাবে রুটিবোর্ডে DHT সেন্সর সেট আপ করুন

2. DHT সেন্সরের বাম দিকের প্রথম পিনটি (অংশের চিত্রের VCC লেবেলযুক্ত) ব্রেডবোর্ডের 5V কলামের (লাল) সাথে সংযুক্ত করুন

3. DHT সেন্সরের বাম দিকের দ্বিতীয় পিনটি (অংশের চিত্রের লেবেলযুক্ত ডেটা) Arduino UNO- এর A0 পোর্টে সংযুক্ত করুন

4. DHT সেন্সরের ডানদিকের প্রথম পিনটি সংযুক্ত করুন

5. একটি টিউটোরিয়াল দেখুন এবং নির্দেশের শেষে পাওয়া dht.h লাইব্রেরিটি Arduino এ যোগ করুন। (এই বাধ্যতামূলক)

ধাপ 6: RGB সেট আপ করা

RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে
RGB সেট আপ করা হচ্ছে

1. উপরে দেখানো হিসাবে একটি ছোট ব্রেডবোর্ডে আরজিবি রাখুন, আরজিবি এর বাম দিক থেকে দ্বিতীয় লেগের উপর জোর দিন অন্য তিনটি স্লটের কাছাকাছি

2. প্রথম, তৃতীয় এবং চতুর্থ পিনগুলিতে স্ট্যান্ডার্ড প্রতিরোধক রাখুন। কমপক্ষে আরও একটি তারের জন্য স্থান ত্যাগ করা (উপরে দেখানো হয়েছে)।

3. আরজিবি -র বাম পিনে রেসিস্টরের পিছন থেকে একটি তারের সংযোগ দিন আরডুইনো ইউএনও -তে লেবেল 2 -এর পিনে

4. আরজিবি -র বাম পিন থেকে ব্রেডবোর্ডের জিএনডি (নীল) কলামের সাথে অন্তর্বর্তী সেকেন্ডের পিছনে একটি তারের সংযোগ করুন।

5. আরজিবির ডান পিন থেকে আরডুইনো ইউএনও -তে লেবেল করা 1 পিনে দ্বিতীয়টিতে প্রতিরোধকের পিছনে একটি তারের সংযোগ করুন

6. আরজিবির ডান পিনে প্রতিরোধকের পিছন থেকে একটি তারের সংযোগ দিন আরডুইনো ইউএনও -তে লেবেল করা 3 পিনের সাথে

ধাপ 7: 3Dচ্ছিক 3D মুদ্রণ হাউজিং

3Dচ্ছিক 3D প্রিন্ট হাউজিং
3Dচ্ছিক 3D প্রিন্ট হাউজিং
3Dচ্ছিক 3D প্রিন্ট হাউজিং
3Dচ্ছিক 3D প্রিন্ট হাউজিং
3Dচ্ছিক 3D প্রিন্ট হাউজিং
3Dচ্ছিক 3D প্রিন্ট হাউজিং

1. কিভাবে 3D প্রিন্ট করা যায় তার একটি টিউটোরিয়াল খুঁজুন।

2. Autodesk Fusion 360 (.stl ফাইল) এ তৈরি করা নিচের সংযুক্ত নকশাটি প্রিন্ট করুন

3. অতিরিক্ত 3D উপাদান বন্ধ এবং পৃষ্ঠের উপর মসৃণ

4. Arduino যন্ত্রাংশ কোথায় রাখবেন সে বিষয়ে নির্দেশনার জন্য উপরের ছবিটি দেখুন।

ধাপ 8: কোড এবং ফাইল

কোড এবং ফাইল
কোড এবং ফাইল

-DHT.h লাইব্রেরি সংযুক্ত করা হয়েছে। (UNZIP)

-সম্পূর্ণ বিস্তারিত মন্তব্য সহ কোড সংযুক্ত কিন্তু পরবর্তী ধাপে।

-3D হাউজিং এর জন্য.stl ফাইল সংযুক্ত করা হয়েছে

-সার্কিট ডায়াগ্রামটি আবার সংযুক্ত। এলসিডি স্ক্রিন এবং পাইজো বুজারের জন্য আসল ধাপগুলি উল্লেখ করতে ভুলবেন না কারণ বিভিন্ন উপাদান ব্যবহার করা হয়েছিল।

ধাপ 9: Arduino কোড

Arduino কোড
Arduino কোড
Arduino কোড
Arduino কোড

// এলসিডি ফায়ার ওয়ার্নিং সিস্টেম // ডিএইচটি টেম্পারেচার পিন থেকে ইনপুট পড়ে এবং এটি গরম বা না হলে তার উপর নির্ভর করে, একটি আরজিবি এবং স্পিকার পরিবর্তন করে ব্যবহারকারীকে নির্দেশ করে যদি আগুনের বিপদ হয়। // এছাড়াও LCD স্ক্রিনে তাপমাত্রা প্রদর্শন করে।

// ডিএইচটি সেটআপ

#অন্তর্ভুক্ত // DHT লাইব্রেরি অন্তর্ভুক্ত করুন

#সংজ্ঞায়িত dht_dpin A0 // বোর্ডকে বলে যে DHT পিন এনালগ ইনপুট 0

dht DHT; // dht = DHT

// লিকুইড ক্রিস্টাল সেটআপ

#অন্তর্ভুক্ত // তরল ক্রিস্টাল লাইব্রেরি অন্তর্ভুক্ত করুন

লিকুইডক্রিস্টাল এলসিডি (8, 9, 4, 5, 6, 7); // এলসিডিতে ছোট করুন /আরডুইনোকে বলে যা এলসিডি দখল করে

// RGB + BUZZER সংজ্ঞায়িত করা

#ডিফাইন রেডপিন 1 // পোর্ট 1 এ RGB এর রেডপিন সংজ্ঞায়িত করে

#ডিফাইন গ্রিনপিন 2 // পোর্ট 2 এ RGB এর গ্রিনপিন সংজ্ঞায়িত করে

#ডিফাইন ব্লুপিন 3 // পোর্ট 3 এ আরজিবি এর ব্লুপিন সংজ্ঞায়িত করে

#ডিফাইন বুজারপিন 10 // পোর্ট 10 এ বুজারপিন সংজ্ঞায়িত করে

// পরিবর্তনশীল/এস

int temp = analogRead (DHT.temperature); // ইন্টিজার "টেম্প" স্থাপন করে যা DHT.temperature কমান্ডের মান

অকার্যকর সেটআপ() {

// উত্পাদন যোগান

analogWrite (redpin, OUTPUT); // রেডপিনকে আউটপুট হিসাবে ঘোষণা/সংজ্ঞায়িত করুন

analogWrite (গ্রিনপিন, আউটপুট); // গ্রিনপিনকে আউটপুট হিসাবে ঘোষণা/সংজ্ঞায়িত করুন

analogWrite (ব্লুপিন, আউটপুট); // আউটপুট হিসাবে ব্লুপিন ঘোষণা/সংজ্ঞায়িত করুন

পিনমোড (বুজারপিন, আউটপুট); // বুজারপিনকে আউটপুট হিসাবে ঘোষণা/সংজ্ঞায়িত করুন

// এলসিডি স্ক্রিন

lcd.begin (16, 2); // LCD স্ক্রিনকে 16 টি কলাম এবং 2 সারি হিসাবে সংজ্ঞায়িত করুন}

অকার্যকর লুপ () {

// বৈচিত্র্য ছাড়া LCD কোড

DHT.read11 (dht_dpin); // dht_dpin থেকেও ইনপুট পড়ুন (A0)

lcd.setCursor (0, 0); // কলাম 0, সারি 0 তে কার্সার সেট করে

lcd.print ("এটা"); // এলসিডি স্ক্রিনে "এটি" লিখেছে

lcd.print (DHT.temperature); // কলাম 0, সারি 0 এ DHT পিন থেকে DHT.temperature মান প্রিন্ট করে

lcd.print (""); // তাপমাত্রার পরে একটি স্থান প্রিন্ট করে

lcd.print ((char) 223); // তাপমাত্রার পরে ডিগ্রি চিহ্ন প্রিন্ট করে

lcd.print ("C"); // সেলসিয়াসের প্রতীক হিসেবে ডিগ্রী চিহ্নের পরে একটি "c" প্রিন্ট করে

// এলসিডি ফ্ল্যাশিং

lcd.setCursor (0, 1); // কলাম 0, সারি 1 এ কার্সার সেট করে

lcd.noDisplay ();

lcd.print ("অগ্নি বিপদ নেই"); // প্রিন্ট "আগুনের কোন সম্ভাবনা নেই"

lcd.no ডিসপ্লে (); // এলসিডি ডিসপ্লে বন্ধ করে (ফ্ল্যাশের অংশ)

বিলম্ব (1000); // 1 সেকেন্ডের জন্য বন্ধ থাকে

LCD প্রদর্শন(); // এলসিডি ডিসপ্লে চালু করে

বিলম্ব (1000); // 1 সেকেন্ডের জন্য থাকে

// RGB + BUZZER কোড

analogWrite (redpin, 0); // লাল পিন থেকে কোন আউটপুট

analogWrite (greenpin, 255); // গ্রিনপিন থেকে 255 আউটপুট (RGB সবুজ করে তোলে)

analogWrite (bluepin, 0); // নীল পিন থেকে কোন আউটপুট

স্বর (buzzerpin, 20, 20); // // বুজার থেকে 0.02 সেকেন্ডের জন্য 20 হার্টজ ফ্রিকোয়েন্সি নির্গত করে

// যদি TEMP 25-30 হয়

যদি ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear (); // এলসিডি স্ক্রিন পরিষ্কার করে

lcd.setCursor (0, 1); // কলাম 0, সারি 1 এ কার্সার সেট করে

lcd.print ("ছোট সতর্কতা"); // কলাম 0, সারি 1 এ "ছোট সতর্কতা" মুদ্রণ করে

lcd.no ডিসপ্লে (); // এলসিডি ডিসপ্লে বন্ধ করে (ফ্ল্যাশের অংশ)

বিলম্ব (1000); // 1 সেকেন্ডের জন্য বন্ধ থাকে

LCD প্রদর্শন(); // এলসিডি ডিসপ্লে চালু করে

বিলম্ব (1000); // 1 সেকেন্ডের জন্য থাকে

analogWrite (redpin, 255); // 255 রেডপিন থেকে আউটপুট (RGB হলুদ করে তোলে)

analogWrite (greenpin, 255); // গ্রিনপিন থেকে 255 আউটপুট (RGB হলুদ করে তোলে)

analogWrite (bluepin, 0); // নীল পিন থেকে কোন আউটপুট

স্বর (বুজারপিন, 200, 100); // বুজার থেকে 0.1 সেকেন্ডের জন্য 200 হার্টজ ফ্রিকোয়েন্সি নির্গত করে

বিলম্ব (300); //.3 দ্বিতীয় বিলম্ব

} // যদি TEMP 31-37 হয় তবে অন্য ((int (DHT.temperature) = 37.00)) {

lcd.clear (); // এলসিডি স্ক্রিন পরিষ্কার করে

lcd.setCursor (0, 1); // কলাম 0, সারি 1 এ কার্সার সেট করে

lcd.print ("মাঝারি সতর্কতা"); // কলাম 0, সারি 1 এ "মাঝারি সতর্কতা" মুদ্রণ করে

lcd.no ডিসপ্লে (); // এলসিডি ডিসপ্লে বন্ধ করে (ফ্ল্যাশের অংশ)

বিলম্ব (500); // 0.5 সেকেন্ডের জন্য বন্ধ থাকে

LCD প্রদর্শন(); // এলসিডি ডিসপ্লে আবার চালু করে

বিলম্ব (500); // 0.5 সেকেন্ডের জন্য থাকে

analogWrite (redpin, 255); // রেডপিন থেকে 255 আউটপুট (RGB কমলা তৈরি করে)

analogWrite (greenpin, 165); // গ্রিনপিন থেকে 165 আউটপুট (আরজিবি কমলা তৈরি করে)

analogWrite (bluepin, 0); // ব্লুপিন থেকে কোন আউটপুট নেই

স্বর (বুজারপিন, 500, 900); // বুজার থেকে 0.9 সেকেন্ডের জন্য 500 হার্টজ ফ্রিকোয়েন্সি নির্গত করে

বিলম্ব (300); //.3 দ্বিতীয় বিলম্ব

} // যদি TEMP 38-100 হয়

অন্যথায় যদি ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // এলসিডি স্ক্রিন পরিষ্কার করে

lcd.setCursor (0, 1); // কলাম 0, সারি 1 এ কার্সার সেট করে

lcd.print ("কল 000"); // কলাম 0, সারি 1 এ "কল 000" প্রিন্ট করে

lcd.no ডিসপ্লে (); // এলসিডি ডিসপ্লে বন্ধ করে (ফ্ল্যাশের অংশ)

বিলম্ব (250); // 0.25 সেকেন্ডের জন্য বন্ধ থাকে

LCD প্রদর্শন(); // এলসিডি ডিসপ্লে চালু করে

বিলম্ব (250); // 0.25 সেকেন্ডের জন্য থাকে

analogWrite (redpin, 255); // 255 রেডপিন থেকে আউটপুট (RGB লাল করে তোলে)

analogWrite (গ্রিনপিন, 0); // গ্রিনপিন থেকে কোন আউটপুট নেই

analogWrite (bluepin, 0); // ব্লুপিন থেকে কোন আউটপুট নেই

স্বর (বুজারপিন, 1000, 900); // বুজার থেকে 0.9 সেকেন্ডের জন্য 1000 হার্টজ ফ্রিকোয়েন্সি নির্গত করে

বিলম্ব (300); //.3 দ্বিতীয় বিলম্ব

}}

প্রস্তাবিত: