সুচিপত্র:

রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন: 7 টি ধাপ
রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন: 7 টি ধাপ

ভিডিও: রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন: 7 টি ধাপ

ভিডিও: রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন: 7 টি ধাপ
ভিডিও: সবচেয়ে ছোট কম্পিউটার Raspberry Pi 3 Model B+ Full Setup 2024, জুলাই
Anonim
রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন
রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাই সহ হোম অটোমেশন

মানুষের একটি বড় সংখ্যা দারুণ আরাম চায় কিন্তু যুক্তিসঙ্গত মূল্যে। আমরা প্রতি সন্ধ্যায় সূর্য ডুবে গেলে এবং পরের দিন সকালে আলো জ্বালাতে, আবহাওয়া বা ঘরের তাপমাত্রার মতো এয়ার কন্ডিশনার/ফ্যান/হিটার চালু/বন্ধ করতে অলস বোধ করি।

প্রয়োজনে যন্ত্রপাতি বন্ধ করার এই অতিরিক্ত কাজ এড়ানোর একটি সস্তা সমাধান এখানে। এটি সহজ প্লাগ এবং প্লে পণ্য ব্যবহার করে তুলনামূলকভাবে খুব কম খরচে আপনার ঘর স্বয়ংক্রিয় করা। এটি কাজ করে যখন তাপমাত্রা উপরে বা নিচে যায়, এটি যথাক্রমে এয়ার কন্ডিশনার বা হিটার চালু করে। এছাড়াও, যখন প্রয়োজন হয়, এটি ম্যানুয়ালি স্যুইচ না করেই আপনার ঘরের লাইট চালু করতে সাহায্য করবে। এবং আরো অনেক যন্ত্রপাতি নিয়ন্ত্রিত হতে পারে। আসুন আপনার বাড়ি শুরু করি।

ধাপ 1: হার্ডওয়্যার প্রয়োজন

হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন

আমরা ব্যবহার করব:

রাস্পবেরি পাই

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

I2C শিল্ড বা I2C হেডার

INPI2 (I2C অ্যাডাপ্টার) একাধিক I2C ডিভাইসের ব্যবহারের জন্য রাস্পবেরি পাই 2/3 একটি I²C পোর্ট প্রদান করে।

I2C রিলে কন্ট্রোলার MCP23008

মাইক্রোচিপ থেকে MCP23008 একটি ইন্টিগ্রেটেড পোর্ট এক্সপেন্ডার যা I²C বাসের মাধ্যমে আটটি রিলে নিয়ন্ত্রণ করে। আপনি ইন্টিগ্রেটেড I²C এক্সপেনশন পোর্ট ব্যবহার করে আরও রিলে, ডিজিটাল I/O, ডিজিটাল কনভার্টার, সেন্সর এবং অন্যান্য ডিভাইসে এনালগ যোগ করতে পারেন।

MCP9808 তাপমাত্রা সেন্সর

MCP9808 একটি উচ্চ নির্ভুলতা তাপমাত্রা সেন্সর যা ডিজিটাল, I²C ফরম্যাটে ক্যালিব্রেটেড, লিনিয়ারাইজড সেন্সর সংকেত প্রদান করে।

টিসিএস 34903 লুমিনেন্স সেন্সর

TCS34903 একটি রঙ সেন্সর পারিবারিক পণ্য যা আলো এবং রঙের RGB কম্পোনেন্টের মান প্রদান করে।

I2C সংযোগকারী তার

I2C কানেক্টিং ক্যাবল হল একটি 4-ওয়্যার্ড ক্যাবল যা এর মাধ্যমে সংযুক্ত দুটি I2C ডিভাইসের মধ্যে I2C যোগাযোগের জন্য।

মাইক্রো ইউএসবি অ্যাডাপ্টার

রাস্পবেরি পাইকে শক্তিশালী করতে, আমাদের একটি মাইক্রো ইউএসবি কেবল প্রয়োজন।

রিলে বোর্ডের জন্য 12V পাওয়ার অ্যাডাপ্টার।

MCP23008 রিলে কন্ট্রোলার 12V বাহ্যিক শক্তিতে কাজ করে এবং এটি 12V পাওয়ার অ্যাডাপ্টার ব্যবহার করে সরবরাহ করা যেতে পারে।

আপনি তাদের উপর ক্লিক করে পণ্য কিনতে পারেন। এছাড়াও, আপনি Dcube স্টোরে আরও দুর্দান্ত উপাদান খুঁজে পেতে পারেন।

ধাপ 2: হার্ডওয়্যার হুকআপ

হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ
হার্ডওয়্যার হুকআপ

প্রয়োজনীয় সংযোগগুলি (ছবিগুলি দেখুন) নিম্নরূপ:

  1. এটি I2C এর উপর কাজ করবে। রাস্পবেরি পাই এর জন্য একটি I2C ieldাল নিন এবং আলতো করে এটি রাস্পবেরি পাই এর GPIO পিনের সাথে সংযুক্ত করুন।
  2. I2C তারের এক প্রান্তকে TCS34903 এর ইন-পোর্টে এবং অন্য প্রান্তটিকে I2C ieldালের সাথে সংযুক্ত করুন।
  3. I2C কেবল ব্যবহার করে MCP9808 সেন্সরের ইন-পটকে TCS34903 এর সাথে সংযুক্ত করুন।
  4. I2C কেবল ব্যবহার করে MCP23008 এর ইন-পটকে MCP9808 সেন্সরের সাথে সংযুক্ত করুন।
  5. এছাড়াও ইথারনেট কেবল কে রাস্পবেরী পাই এর সাথে সংযুক্ত করুন।
  6. তারপরে, 12V অ্যাডাপ্টার ব্যবহার করে একটি মাইক্রো ইউএসবি অ্যাডাপ্টার এবং এমসিপি 23008 রিলে বোর্ড ব্যবহার করে রাস্পবেরি পাইকে শক্তি দিন।
  7. অবশেষে, প্রথম রিলে এবং দ্বিতীয় রিলে দিয়ে একটি ফ্যান বা হিটারের সাথে আলো সংযুক্ত করুন। আপনি মডিউল প্রসারিত করতে পারেন বা রিলে দিয়ে আরো ডিভাইস সংযুক্ত করতে পারেন।

ধাপ 3: I2C প্রোটোকল ব্যবহার করে যোগাযোগ করা

রাস্পবেরি পাই I2C সক্ষম করতে, নীচে উল্লিখিত হিসাবে এগিয়ে যান:

  1. টার্মিনালে, কনফিগারেশন সেটিংস খুলতে নিম্নলিখিত কমান্ডটি টাইপ করুন: sudo raspi-config
  2. এখানে "উন্নত বিকল্প" নির্বাচন করুন।
  3. "I2C" নির্বাচন করুন এবং "হ্যাঁ" ক্লিক করুন।
  4. কমান্ড রিবুট ব্যবহার করে করা পরিবর্তন অনুসারে এটি সেট আপ করার জন্য সিস্টেমটি পুনরায় বুট করুন।

ধাপ 4: মডিউল প্রোগ্রামিং

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

জাভা পরিবেশ স্থাপন করতে, https://pi4j.com/1.2/index.html থেকে "pi4j libraby" ইনস্টল করুন Pi4j হল রাস্পবেরি পাই এর জন্য একটি জাভা ইনপুট/আউটপুট লাইব্রেরি। লাইব্রেরি "হল আপনার রাস্পবেরি পাইতে সরাসরি কমান্ডটি চালানো:

curl -s get.pi4j.com | সুডো বাশ

অথবা

কার্ল -s get.pi4j.com

আমদানি com.pi4j.io.i2c. I2CBus; আমদানি com.pi4j.io.i2c. I2CDevice; আমদানি com.pi4j.io.i2c. I2CFactory; java.io. IOException আমদানি করুন; বর্গ MCP23008 {পাবলিক স্ট্যাটিক ভয়েড মেইন (স্ট্রিং আর্গস ) ব্যতিক্রম ছুড়ে দেয় {int status, value, value1 = 0x00; // I2C বাস তৈরি করুন I2CBus বাস = 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 ms TCS34903.write (0x83, (byte) 0xFF); // IR চ্যানেল TCS34903.write অ্যাক্সেস সক্ষম করুন (0xC0, (বাইট) 0x80); // 0x00 (0) এটাইম রেজিস্টার সেট করুন, সর্বোচ্চ গণনা = 65535 TCS34903.write (0x81, (বাইট) 0x00); // পাওয়ার অন, এডিসি সক্ষম, অপেক্ষা করুন সক্রিয় TCS34903.write (0x80, (বাইট) 0x0B); Thread.sleep (250); // 8 বাইট ডেটা ক্লিয়ার/আইআর ডেটা এলএসবি প্রথম বাইট ডাটা 1 = নতুন বাইট [8] সহ পড়ুন; // পড়ুন তাপমাত্রা ডেটা বাইট ডেটা = নতুন বাইট [2]; অবস্থা = device.read (0x09); // সমস্ত পিনগুলিকে OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, data, 0, 2); // কনভার্ট ডেটা int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); যদি (temp> 4096) {temp -= 8192; } ডবল cTemp = temp * 0.0625; System.out.printf ("সেলসিয়াস তাপমাত্রা হল: %.2f C %n", cTemp); TCS34903.read (0x94, data1, 0, 8); ডবল 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 ("আলোকসজ্জা হল: %.2f lux %n", আলোকসজ্জা); যদি (আলোকসজ্জা 30) {মান = মান 1 | (0x01); } অন্য {মান = মান 1 এবং (0x02); } device.write (0x09, (বাইট) মান); Thread.sleep (300); }}}

ধাপ 5: ফাইল তৈরি করা এবং কোড চালানো

  1. একটি নতুন ফাইল তৈরি করতে যেখানে কোড লেখা/অনুলিপি করা যেতে পারে, নিম্নলিখিত কমান্ডটি ব্যবহার করা হবে: sudo nano FILE_NAME.javaEg। সুডো ন্যানো MCP23008.java
  2. ফাইল তৈরির পরে, আমরা এখানে কোড ইনপুট করতে পারি।
  3. আগের ধাপে দেওয়া কোডটি কপি করুন এবং এখানে উইন্ডোতে পেস্ট করুন।
  4. প্রস্থান করার জন্য Ctrl+X টিপুন তারপর "y" টিপুন।
  5. তারপর নিম্নলিখিত কমান্ড ব্যবহার করে কোড কম্পাইল করুন: pi4j FILE_NAME.javaEg। pi4j MCP23008.java
  6. যদি কোন ত্রুটি না থাকে, তাহলে নিম্নোক্ত কমান্ড ব্যবহার করে প্রোগ্রামটি চালান: pi4j FILE_NAMEEg। pi4j MCP23008.java

ধাপ 6: অ্যাপ্লিকেশন

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

ধাপ 7: সম্পদ

TSL34903, MCP9808 MCP23008 রিলে কন্ট্রোলার সম্পর্কে আরও তথ্যের জন্য, নীচের লিঙ্কগুলি দেখুন:

  • TSL34903 ডেটশীট
  • MCP9808 ডেটশীট
  • MCP23008 ডেটশীট

প্রস্তাবিত: