![Arduino উপর ভিত্তি করে থার্মোস্ট্যাট: 6 ধাপ Arduino উপর ভিত্তি করে থার্মোস্ট্যাট: 6 ধাপ](https://i.howwhatproduce.com/images/003/image-7344-93-j.webp)
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36
![Arduino ভিত্তিক থার্মোস্ট্যাট Arduino ভিত্তিক থার্মোস্ট্যাট](https://i.howwhatproduce.com/images/003/image-7344-94-j.webp)
![Arduino ভিত্তিক থার্মোস্ট্যাট Arduino ভিত্তিক থার্মোস্ট্যাট](https://i.howwhatproduce.com/images/003/image-7344-95-j.webp)
![Arduino ভিত্তিক থার্মোস্ট্যাট Arduino ভিত্তিক থার্মোস্ট্যাট](https://i.howwhatproduce.com/images/003/image-7344-96-j.webp)
এবার আমরা Arduino, তাপমাত্রা সেন্সর এবং রিলে এর উপর ভিত্তি করে একটি থার্মোস্ট্যাট তৈরি করতে যাচ্ছি।
ধাপ 1: কনফিগারেশন
![কনফিগারেশন কনফিগারেশন](https://i.howwhatproduce.com/images/003/image-7344-97-j.webp)
পুরো কনফিগারেশন Config.h- এ সংরক্ষিত আছে। আপনি রিলে, পঠন তাপমাত্রা, থ্রেশহোল্ড বা সময় নিয়ন্ত্রণকারী পিন পরিবর্তন করতে পারেন।
ধাপ 2: রিলে কনফিগার করা
ধরুন আমরা 3 টি রিলে চাই:
- আইডি: 0, পিন: 1, তাপমাত্রা সেটপয়েন্ট: 20
- আইডি: 1, পিন: 10, তাপমাত্রা সেটপয়েন্ট: 30
- আইডি: 2, পিন: 11, তাপমাত্রা সেটপয়েন্ট: 40
প্রথমে আপনাকে নিশ্চিত করতে হবে যে আপনার পছন্দের পিনটি ইতিমধ্যে নেওয়া হয়নি। সমস্ত পিন Config.h এ পাওয়া যাবে, সেগুলি DIG_PIN দিয়ে শুরু হওয়া ভেরিয়েবল দ্বারা সংজ্ঞায়িত করা হয়েছে।
আপনাকে Config.h সম্পাদনা করতে হবে এবং পিন, থ্রেশহোল্ড এবং রিলে পরিমাণ কনফিগার করতে হবে। স্পষ্টতই কিছু বৈশিষ্ট্য ইতিমধ্যে বিদ্যমান, তাই আপনাকে সেগুলি সম্পাদনা করতে হবে।
const স্ট্যাটিক uint8_t DIG_PIN_RELAY_0 = 1; const স্ট্যাটিক uint8_t DIG_PIN_RELAY_1 = 10; const স্ট্যাটিক uint8_t DIG_PIN_RELAY_2 = 11;
const স্ট্যাটিক uint8_t RELAYS_AMOUNT = 3;
const স্ট্যাটিক int16_t RELAY_TEMP_SET_POINT_0 = 20;
const স্ট্যাটিক int16_t RELAY_TEMP_SET_POINT_1 = 30; const স্ট্যাটিক int16_t RELAY_TEMP_SET_POINT_2 = 40;
এখন আমাদের রিলে এবং কন্ট্রোলার সেটআপ করতে হবে, এটি RelayDriver.cpp এ ঘটে
initRelayHysteresisController (0, DIG_PIN_RELAY_0, RELAY_TEMP_SET_POINT_0); initRelayHysteresisController (1, DIG_PIN_RELAY_1, RELAY_TEMP_SET_POINT_1); initRelayHysteresisController (2, DIG_PIN_RELAY_2, RELAY_TEMP_SET_POINT_2);
xxx
ধাপ 3: হিস্টেরেসিস কন্ট্রোলার
এটি উপরের উদাহরণে নির্বাচিত, এটির কয়েকটি অতিরিক্ত কনফিগারেশন রয়েছে:
const স্ট্যাটিক uint32_t RELAY_DELAY_AFTER_SWITCH_MS = 300000; // 5 মিনিট স্থির uint32_t RHC_RELAY_MIN_SWITCH_MS = 3600000;
RELAY_DELAY_AFTER_SWITCH_MS পরবর্তী রিলে স্যুইচ করার জন্য অপেক্ষা করার সময় দেয়। কল্পনা করুন যে আমাদের উদাহরণ থেকে কনফিগারেশন 40 ডিগ্রী পরিবেশে কাজ শুরু করবে। এর ফলে একই সাথে তিনটি রিলে সক্ষম হবে। এটি শেষ পর্যন্ত উচ্চ শক্তি খরচ হতে পারে - আপনি যা নিয়ন্ত্রণ করছেন তার উপর নির্ভর করে, উদাহরণস্বরূপ বৈদ্যুতিক ইঞ্জিন শুরুর সময় আরও বেশি শক্তি খরচ করে। আমাদের ক্ষেত্রে সুইচিং রিলে নিম্নলিখিত প্রবাহ রয়েছে: প্রথম রিলে যায়, 5 মিনিট অপেক্ষা করুন, দ্বিতীয়টি চলুন, 5 মিনিট অপেক্ষা করুন, তৃতীয়টি এগিয়ে যান।
RHC_RELAY_MIN_SWITCH_MS হিস্টেরেসিসকে সংজ্ঞায়িত করে, এটি বিশেষ রিলে এর অবস্থা পরিবর্তন করার জন্য সর্বনিম্ন ফ্রিকোয়েন্সি। একবার এটি চালু হয়ে গেলে, এটি তাপমাত্রার পরিবর্তন উপেক্ষা করে অন্তত এই সময়ের জন্য চালু থাকবে। এটি শান্ত উপকারী এটি আপনি বৈদ্যুতিক মোটর নিয়ন্ত্রণ করছেন, যেহেতু প্রতিটি সুইচ লাইভ টাইমে নেতিবাচক প্রভাব ফেলে।
ধাপ 4: পিআইডি কন্ট্রোলার
![পিআইডি কন্ট্রোলার পিআইডি কন্ট্রোলার](https://i.howwhatproduce.com/images/003/image-7344-98-j.webp)
![পিআইডি কন্ট্রোলার পিআইডি কন্ট্রোলার](https://i.howwhatproduce.com/images/003/image-7344-99-j.webp)
এটি একটি উন্নত বিষয়। এই ধরনের নিয়ামক প্রয়োগ করা সহজ কাজ, সঠিক প্রশস্ততা সেটিংস খুঁজে পাওয়া একটি ভিন্ন গল্প।
PID নিয়ামক ব্যবহার করার জন্য আপনাকে initRelayHysteresisController (…..) পরিবর্তন করে initRelayPiDController (…।) করতে হবে এবং এর জন্য আপনাকে সঠিক সেটিংস খুঁজে বের করতে হবে। যথারীতি আপনি তাদের Config.h এ পাবেন
আমি জাভাতে সহজ সিমুলেটর প্রয়োগ করেছি, যাতে ফলাফলগুলি কল্পনা করা সম্ভব হয়। এটি ফোল্ডারে পাওয়া যেতে পারে: pidsimulator. নীচে আপনি দুটি নিয়ামক PID a P. এর জন্য সিমুলেশন দেখতে পারেন। PID পুরোপুরি স্থিতিশীল নয় কারণ আমি সঠিক মান খুঁজে পেতে কোন অত্যাধুনিক অ্যালগরিদম প্রয়োগ করি নি।
উভয় প্লটে প্রয়োজনীয় তাপমাত্রা 30 (নীল) সেট করা হয়। বর্তমান তাপমাত্রা পড়ার লাইন নির্দেশ করে। রিলে চালু এবং বন্ধ দুটি অবস্থা আছে। যখন এটি সক্রিয় হয় তাপমাত্রা 1.5 দ্বারা হ্রাস পায়, যখন এটি অক্ষম হয় তখন এটি 0.5 দ্বারা বৃদ্ধি পায়।
ধাপ 5: মেসেজ বাস
![মেসেজ বাস মেসেজ বাস](https://i.howwhatproduce.com/images/003/image-7344-100-j.webp)
![মেসেজ বাস মেসেজ বাস](https://i.howwhatproduce.com/images/003/image-7344-101-j.webp)
![মেসেজ বাস মেসেজ বাস](https://i.howwhatproduce.com/images/003/image-7344-102-j.webp)
![মেসেজ বাস মেসেজ বাস](https://i.howwhatproduce.com/images/003/image-7344-103-j.webp)
বিভিন্ন সফ্টওয়্যার মডিউল একে অপরের সাথে যোগাযোগ করতে হবে, আশা করি উভয় উপায়ে নয়;)
উদাহরণ স্বরূপ:
- পরিসংখ্যান মডিউল জানতে হবে যখন বিশেষ রিলে চালু এবং বন্ধ হয়,
- একটি বোতাম টিপলে প্রদর্শন সামগ্রী পরিবর্তন করতে হয় এবং এটি এমন পরিষেবাগুলি স্থগিত করতে হয় যা অনেক CPU চক্র ব্যবহার করে, উদাহরণস্বরূপ সেন্সর থেকে তাপমাত্রা পড়া,
- কিছু সময়ের পরে তাপমাত্রা পড়ার পুনর্নবীকরণ করতে হবে,
- এবং তাই ….
প্রতিটি মডিউল মেসেজ বাসের সাথে সংযুক্ত এবং নির্দিষ্ট ইভেন্টের জন্য নিবন্ধন করতে পারে, এবং যে কোন ইভেন্ট (প্রথম চিত্র) তৈরি করতে পারে।
দ্বিতীয় চিত্রটিতে আমরা বোতাম টিপে ইভেন্ট প্রবাহ দেখতে পারি।
পর্যায়ক্রমে সম্পাদন করার প্রয়োজনের তুলনায় কিছু উপাদানগুলির কিছু কাজ রয়েছে। আমরা মূল লুপ থেকে তাদের সংশ্লিষ্ট পদ্ধতিগুলিকে কল করতে পারি, যেহেতু আমাদের কাছে মেসেজ বাস আছে এটি শুধুমাত্র সঠিক ঘটনা প্রচারের জন্য প্রয়োজনীয় (তৃতীয় চিত্র)
ধাপ 6: Libs
- https://github.com/maciejmiklas/Thermostat
- https://github.com/milesburton/Arduino-Temperature…
- https://github.com/maciejmiklas/ArdLog.git
প্রস্তাবিত:
Ikea Socker- এর উপর ভিত্তি করে স্বয়ংক্রিয় ইন্ডোর গ্রিনহাউস: 5 টি ধাপ
![Ikea Socker- এর উপর ভিত্তি করে স্বয়ংক্রিয় ইন্ডোর গ্রিনহাউস: 5 টি ধাপ Ikea Socker- এর উপর ভিত্তি করে স্বয়ংক্রিয় ইন্ডোর গ্রিনহাউস: 5 টি ধাপ](https://i.howwhatproduce.com/images/001/image-481-54-j.webp)
Ikea Socker এর উপর ভিত্তি করে স্বয়ংক্রিয় ইন্ডোর গ্রীনহাউস: হাই, এটি আমার প্রথম নির্দেশযোগ্য। আমি এই সম্প্রদায়ের সাথে অনেক কিছু শিখেছি, এবং আমি মনে করি আমার নম্র ধারণাগুলি ফিরিয়ে দেওয়ার সময় এসেছে। আমি আমার ইংরেজির জন্য দু sorryখিত, দরিদ্র, কিন্তু আমি যা করতে পারি তা করব। ধারণা ছিল একটি ডেস্কপ গ্রিনহাউস তৈরি করা যা আমাকে বীজ জন্মাতে দেয় এবং
বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): 7 টি ধাপ (ছবি সহ)
![বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): 7 টি ধাপ (ছবি সহ) বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): 7 টি ধাপ (ছবি সহ)](https://i.howwhatproduce.com/images/001/image-1586-45-j.webp)
বায়ুমণ্ডলীয় চাপের উপর ভিত্তি করে অ্যালটাইমিটার (উচ্চতা মিটার): [সম্পাদনা]; ম্যানুয়ালি বেসলাইন উচ্চতা ইনপুট সহ ধাপ 6 এর সংস্করণ 2 দেখুন এটি একটি Arduino ন্যানো এবং একটি Bosch BMP180 বায়ুমণ্ডলীয় চাপ সেন্সরের উপর ভিত্তি করে একটি Altimeter (Altitude Meter) এর বিল্ডিং বর্ণনা। নকশা সহজ কিন্তু পরিমাপ
MQmax 0.7 Esp8266 এবং Arduino Mini Pro- এর উপর ভিত্তি করে একটি কম খরচে ওয়াইফাই আইওটি প্ল্যাটফর্ম: 6 টি ধাপ
![MQmax 0.7 Esp8266 এবং Arduino Mini Pro- এর উপর ভিত্তি করে একটি কম খরচে ওয়াইফাই আইওটি প্ল্যাটফর্ম: 6 টি ধাপ MQmax 0.7 Esp8266 এবং Arduino Mini Pro- এর উপর ভিত্তি করে একটি কম খরচে ওয়াইফাই আইওটি প্ল্যাটফর্ম: 6 টি ধাপ](https://i.howwhatproduce.com/images/008/image-23661-j.webp)
MQmax 0.7 একটি কম খরচে WiFi IoT প্ল্যাটফর্ম যা Esp8266 এবং Arduino Mini Pro- এর উপর ভিত্তি করে: হ্যালো এটি আমার দ্বিতীয় নির্দেশযোগ্য (এখন থেকে আমি গণনা বন্ধ করি)। আমি এটি একটি সহজ (অন্তত আমার জন্য), সস্তা, তৈরি করা সহজ এবং রিয়েল আইওটি অ্যাপ্লিকেশনগুলির জন্য কার্যকর প্ল্যাটফর্ম তৈরি করতে তৈরি করেছি যাতে এম 2 এম কাজ অন্তর্ভুক্ত রয়েছে। এই প্ল্যাটফর্মটি esp8266 এর সাথে কাজ করে এবং
ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: 8 টি ধাপ
![ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: 8 টি ধাপ ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: 8 টি ধাপ](https://i.howwhatproduce.com/images/009/image-24231-j.webp)
ESP8266 শিল্ডের উপর ভিত্তি করে Arduino এর জন্য সিরিয়াল UDP/IP গেটওয়ে: আমি ইতিমধ্যে 2016 সালে এই নির্দেশযোগ্য " আপনার Arduino কে IP নেটওয়ার্কের সাথে সংযুক্ত করার জন্য আপনার নিজের ওয়াইফাই গেটওয়ে কিভাবে তৈরি করবেন " যেহেতু আমি কিছু কোড উন্নতি করেছি এবং আমি এখনও এই সমাধান ব্যবহার করছি। তবুও এখন কিছু ESP8266 ieldsাল আছে
Arduino ডিউ এর উপর ভিত্তি করে 3 ফেজ সাইন ওয়েভ জেনারেটর: 5 টি ধাপ
![Arduino ডিউ এর উপর ভিত্তি করে 3 ফেজ সাইন ওয়েভ জেনারেটর: 5 টি ধাপ Arduino ডিউ এর উপর ভিত্তি করে 3 ফেজ সাইন ওয়েভ জেনারেটর: 5 টি ধাপ](https://i.howwhatproduce.com/images/003/image-8424-6-j.webp)
Arduino Due- এর উপর ভিত্তি করে 3 ফেজ সাইন ওয়েভ জেনারেটর: এই শেয়ারের উদ্দেশ্য হল এমন কাউকে সাহায্য করা যা ডিউ এর বৃহত্তর পারফরম্যান্স + রেফারেন্সের অভাব + অ-সহায়ক ডেটশীট ব্যবহার করার চেষ্টা করছে এই প্রকল্পটি 3 ফেজ সাইন ওয়েভ @ 256 পর্যন্ত তৈরি করতে সক্ষম কম ফ্রিকোয়েন্সি (< 1kHz) এবং 16 সেকেন্ডে নমুনা / চক্র