# রিলে নিয়ন্ত্রণ করুন - রাস্পবেরি পাই এই পাঠের এই অংশে, আপনি মাটির আর্দ্রতা সেন্সরের পাশাপাশি আপনার রাস্পবেরি পাই-তে একটি রিলে যোগ করবেন এবং মাটির আর্দ্রতার স্তরের উপর ভিত্তি করে এটি নিয়ন্ত্রণ করবেন। ## হার্ডওয়্যার রাস্পবেরি পাই-এর জন্য একটি রিলে প্রয়োজন। আপনার ব্যবহৃত রিলে হল একটি [Grove রিলে](https://www.seeedstudio.com/Grove-Relay.html), একটি সাধারণত-খোলা রিলে (যার মানে আউটপুট সার্কিট খোলা থাকে বা সংযোগ বিচ্ছিন্ন থাকে যখন রিলেতে কোনো সংকেত পাঠানো হয় না), যা ২৫০ ভোল্ট এবং ১০ অ্যাম্পিয়ার পর্যন্ত আউটপুট সার্কিট পরিচালনা করতে পারে। এটি একটি ডিজিটাল অ্যাকচুয়েটর, তাই এটি Grove Base Hat-এর একটি ডিজিটাল পিনে সংযুক্ত হয়। ### রিলে সংযুক্ত করুন Grove রিলে রাস্পবেরি পাই-এর সাথে সংযুক্ত করা যেতে পারে। #### কাজ রিলে সংযুক্ত করুন। ![একটি Grove রিলে](../../../../../translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.bn.png) 1. Grove কেবলের এক প্রান্ত রিলের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে। 1. রাস্পবেরি পাই বন্ধ অবস্থায়, Grove কেবলের অন্য প্রান্তটি Grove Base Hat-এর **D5** চিহ্নিত ডিজিটাল সকেটে সংযুক্ত করুন, যা পাই-এর সাথে সংযুক্ত। এই সকেটটি GPIO পিনগুলোর পাশে থাকা সকেটের সারির বাম দিক থেকে দ্বিতীয়। মাটির আর্দ্রতা সেন্সরটি **A0** সকেটে সংযুক্ত অবস্থায় রাখুন। ![D5 সকেটে সংযুক্ত Grove রিলে এবং A0 সকেটে সংযুক্ত মাটির আর্দ্রতা সেন্সর](../../../../../translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.bn.png) 1. মাটির আর্দ্রতা সেন্সরটি মাটিতে প্রবেশ করান, যদি এটি আগের পাঠ থেকে ইতিমধ্যে সংযুক্ত না থাকে। ## রিলে প্রোগ্রাম করুন এখন রাস্পবেরি পাই-কে সংযুক্ত রিলে ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে। ### কাজ ডিভাইসটি প্রোগ্রাম করুন। 1. পাই চালু করুন এবং এটি বুট হওয়ার জন্য অপেক্ষা করুন। 1. VS Code-এ আগের পাঠের `soil-moisture-sensor` প্রকল্পটি খুলুন যদি এটি ইতিমধ্যে খোলা না থাকে। আপনি এই প্রকল্পে কোড যোগ করবেন। 1. বিদ্যমান ইমপোর্টগুলোর নিচে `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন: ```python from grove.grove_relay import GroveRelay ``` এই স্টেটমেন্টটি Grove Python লাইব্রেরি থেকে `GroveRelay` ইমপোর্ট করে, যা Grove রিলের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়। 1. `ADC` ক্লাস ঘোষণার নিচে নিম্নলিখিত কোড যোগ করুন একটি `GroveRelay` ইনস্ট্যান্স তৈরি করতে: ```python relay = GroveRelay(5) ``` এটি একটি রিলে তৈরি করে যা **D5** পিন ব্যবহার করে, যেখানে আপনি রিলেটি সংযুক্ত করেছেন। 1. রিলে কাজ করছে কিনা তা পরীক্ষা করতে, `while True:` লুপের মধ্যে নিম্নলিখিত কোড যোগ করুন: ```python relay.on() time.sleep(.5) relay.off() ``` কোডটি রিলেকে চালু করে, ০.৫ সেকেন্ড অপেক্ষা করে, তারপর রিলেকে বন্ধ করে। 1. পাইথন অ্যাপ চালান। রিলে প্রতি ১০ সেকেন্ডে চালু এবং বন্ধ হবে, চালু এবং বন্ধ হওয়ার মধ্যে ০.৫ সেকেন্ডের বিলম্ব থাকবে। আপনি রিলের ক্লিক শব্দ শুনবেন এবং Grove বোর্ডের একটি LED রিলে চালু হলে জ্বলবে এবং বন্ধ হলে নিভে যাবে। ![রিলে চালু এবং বন্ধ হচ্ছে](../../../../../images/relay-turn-on-off.gif) ## মাটির আর্দ্রতা থেকে রিলে নিয়ন্ত্রণ করুন এখন যেহেতু রিলে কাজ করছে, এটি মাটির আর্দ্রতার রিডিংয়ের প্রতিক্রিয়ায় নিয়ন্ত্রিত হতে পারে। ### কাজ রিলেকে নিয়ন্ত্রণ করুন। 1. রিলে পরীক্ষা করার জন্য যোগ করা ৩টি লাইন কোড মুছে ফেলুন। সেগুলোর জায়গায় নিম্নলিখিত কোড যোগ করুন: ```python if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off() ``` এই কোডটি মাটির আর্দ্রতা সেন্সর থেকে মাটির আর্দ্রতার স্তর পরীক্ষা করে। যদি এটি ৪৫০-এর উপরে থাকে, এটি রিলেকে চালু করে এবং ৪৫০-এর নিচে গেলে এটি রিলেকে বন্ধ করে। > 💁 মনে রাখবেন, ক্যাপাসিটিভ মাটির আর্দ্রতা সেন্সরটি পড়ে যে মাটির আর্দ্রতার স্তর যত কম, মাটিতে তত বেশি আর্দ্রতা থাকে এবং এর বিপরীত। 1. পাইথন অ্যাপ চালান। আপনি দেখবেন রিলে মাটির আর্দ্রতার স্তরের উপর নির্ভর করে চালু বা বন্ধ হচ্ছে। শুকনো মাটিতে চেষ্টা করুন, তারপর পানি যোগ করুন। ```output Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off. ``` > 💁 আপনি এই কোডটি [code-relay/pi](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/pi) ফোল্ডারে খুঁজে পেতে পারেন। 😀 আপনার মাটির আর্দ্রতা সেন্সর দ্বারা রিলে নিয়ন্ত্রণের প্রোগ্রাম সফল হয়েছে! --- **অস্বীকৃতি**: এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।