সুচিপত্র:

রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার: 5 টি ধাপ (ছবি সহ)
রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার: 5 টি ধাপ (ছবি সহ)

ভিডিও: রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার: 5 টি ধাপ (ছবি সহ)

ভিডিও: রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার: 5 টি ধাপ (ছবি সহ)
ভিডিও: What is a hall effect sensor || Hall effect sensor || Magnetic sensor || sensor | হাল ইফেক্ট সেন্সর 2024, জুন
Anonim
রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার
রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার
রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার
রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার কীভাবে তৈরি করবেন - পার্ট 2 - সফ্টওয়্যার

ভূমিকা

এটি প্রথম পোস্টের সিক্যুয়েল "কিভাবে রিড সুইচ, হল ইফেক্ট সেন্সর এবং নোডেমকুতে কিছু স্ক্র্যাপ ব্যবহার করে আপনার নিজের অ্যানিমোমিটার তৈরি করুন - পার্ট 1 - হার্ডওয়্যার" - যেখানে আমি দেখাব কিভাবে বাতাসের গতি এবং দিক পরিমাপের যন্ত্রগুলিকে একত্রিত করা যায়। এখানে আমরা Arduino IDE ব্যবহার করে Nodemcu- এ ব্যবহারের জন্য পরিকল্পিত পরিমাপ নিয়ন্ত্রণ সফ্টওয়্যার ব্যবহার করব।

প্রকল্প বর্ণনা

আগের পোস্টে, নোডেমকুতে সশস্ত্র এবং সংযুক্ত ডিভাইসগুলি বাতাসের গতি এবং দিক পরিমাপ করতে সক্ষম। কন্ট্রোল সফটওয়্যারটি নির্দিষ্ট সময়ের জন্য অ্যানিমোমিটারের ঘূর্ণন পড়ার জন্য, রৈখিক বেগ গণনা করার জন্য, ভ্যানটি যে দিকে আছে তা পড়ার জন্য, OLED এ ফলাফলগুলি দেখানোর জন্য, ThingSpeak এ ফলাফল প্রকাশ এবং 15 মিনিট ঘুমানোর জন্য ডিজাইন করা হয়েছিল। পরবর্তী পরিমাপ

অস্বীকৃতি: এই অ্যানিমোমিটারটি পেশাগত উদ্দেশ্যে ব্যবহার করা উচিত নয়। এটি শুধুমাত্র একাডেমিক বা বাড়ির ব্যবহারের জন্য।

দ্রষ্টব্য: ইংরেজি আমার স্বাভাবিক ভাষা নয়। যদি আপনি ব্যাকরণগত ত্রুটিগুলি খুঁজে পান যা আপনাকে প্রকল্পটি বুঝতে বাধা দেয়, দয়া করে সেগুলি সংশোধন করতে আমাকে জানান। তোমাকে অনেক ধন্যবাদ.

ধাপ 1: Arduino IDE, ESP8266 বোর্ড এবং লাইব্রেরি এবং আপনার থিংস্পিক অ্যাকাউন্ট ইনস্টল করা

Arduino IDE, ESP8266 বোর্ড এবং লাইব্রেরি এবং আপনার ThingSpeak অ্যাকাউন্ট ইনস্টল করা
Arduino IDE, ESP8266 বোর্ড এবং লাইব্রেরি এবং আপনার ThingSpeak অ্যাকাউন্ট ইনস্টল করা
Arduino IDE, ESP8266 বোর্ড এবং লাইব্রেরি এবং আপনার ThingSpeak অ্যাকাউন্ট ইনস্টল করা
Arduino IDE, ESP8266 বোর্ড এবং লাইব্রেরি এবং আপনার ThingSpeak অ্যাকাউন্ট ইনস্টল করা

Arduino IDE এবং Nodemcu ইনস্টল করা

আপনি যদি আরডিইউ আরডুইনো ইন্সটল না করে থাকেন তাহলে অনুগ্রহ করে লিঙ্কটিতে টিউটোরিয়ালটি পড়ুন - কিভাবে আরডুইনো আইডিই ইনস্টল করবেন - যেখানে আপনি সম্পূর্ণ নির্দেশাবলী খুঁজে পেতে পারেন।

পরবর্তী ধাপ, Nodemcu বোর্ড ইনস্টল করার জন্য মাগেশ জয়কুমার নির্দেশিকা থেকে এই টিউটোরিয়ালটি ব্যবহার করুন যা খুবই সম্পূর্ণ। কিভাবে Nodemcu কোন Arduino IDE ইনস্টল করবেন

লাইব্রেরি ইনস্টল করা

পরবর্তী ধাপে আপনাকে অবশ্যই লাইব্রেরিগুলি ইনস্টল করতে হবে যা স্কেচ ব্যবহার করে। এগুলি সাধারণ এবং আপনি নীচে দেখানো পদক্ষেপগুলি অনুসরণ করতে পারেন।

থিংসস্পিক লাইব্রেরি -

ESP8266 লাইব্রেরি -

থিংসস্পিক অ্যাকাউন্ট তৈরি করা

ThingSpeak (https://thingspeak.com/) ব্যবহার করার জন্য আপনাকে অবশ্যই একটি অ্যাকাউন্ট তৈরি করতে হবে (এটি এখনও নির্দিষ্ট সংখ্যক মিথস্ক্রিয়াগুলির জন্য বিনামূল্যে) যেখানে আপনি আপনার অ্যানিমোমিটারে মাপা তথ্য সংরক্ষণ করতে পারেন এবং আপনার বাড়ির বাতাসের অবস্থা পর্যবেক্ষণ করতে পারেন, এমনকি মুঠোফোনের মাধ্যমেও। ThingSpeak ব্যবহার করে, আপনি আপনার সংগৃহীত ডেটাতে জনসাধারণের অ্যাক্সেস দিতে পারেন যে কেউ আগ্রহী। এটি থিংসস্পিকের একটি ভাল সুবিধা। হোমপেজে প্রবেশ করুন এবং আপনার অ্যাকাউন্ট তৈরি করতে ধাপগুলি অনুসরণ করুন।

অ্যাকাউন্ট তৈরি হয়ে গেলে, আপনার চ্যানেল তৈরি করতে এই টিউটোরিয়ালটি প্রবেশ করান - থিংসস্পিক শুরু করা -। এটি বেশ ভালভাবে ব্যাখ্যা করা হয়েছে। সংক্ষেপে, আপনাকে অবশ্যই একটি চ্যানেল তৈরি করতে হবে যেখানে ডেটা সংরক্ষণ করা হবে। এই চ্যানেলের একটি আইডি এবং একটি কী API রয়েছে যা প্রতিবার আপনি ডেটা রেকর্ড করতে চাইলে স্কেচে উল্লেখ করা উচিত। ThingSpeak সমস্ত ডেটা একটি ব্যাংকে সংরক্ষণ করবে এবং আপনি যখনই আপনার অ্যাকাউন্ট অ্যাক্সেস করবেন সেগুলি সেভাবেই দেখাবে, যেভাবে আপনি কনফিগার করেছেন।

ধাপ 2: স্কেচ অন্বেষণ

স্কেচ অন্বেষণ
স্কেচ অন্বেষণ
স্কেচ অন্বেষণ
স্কেচ অন্বেষণ

ফ্লোচার্ট

চিত্রটিতে, আপনি স্কেচের ফ্লাক্সোগ্রাম বুঝতে পারেন। যখন আপনি নোডেমকু জেগে উঠবেন (লিঙ্ক), এটি আপনার ওয়াই-ফাই নেটওয়ার্কের সাথে সংযুক্ত হবে, যার প্যারামিটার আপনি কনফিগার করেছেন এবং পরিমাপ করার জন্য 1 মিনিট সময় গণনা শুরু করবেন। প্রথমত, এটি 25 সেকেন্ডের জন্য অ্যানিমোমিটার ঘূর্ণন গণনা করবে, গণনা করুন রৈখিক বেগ এবং বাতাসের দিক পড়ুন। ফলাফলগুলি OLED এ দেখানো হয়েছে। আবার একই ধাপগুলি করুন এবং এই দ্বিতীয় পাঠের জন্য, এটি থিংসস্পিকে প্রেরণ করা হবে।

তারপর ব্যাটারি বাঁচানোর জন্য Nodemcu 15 মিনিটের জন্য ঘুমায়। যেহেতু আমি একটি ছোট সোলার প্যানেল ব্যবহার করছি তাই এটা করা জরুরি। আপনি যদি একটি 5V উৎস ব্যবহার করেন তবে আপনি প্রোগ্রামটি পরিবর্তন করতে পারেন যাতে এটি ঘুমাতে না পারে এবং ডেটা পরিমাপ করতে থাকে।

প্রোগ্রামগুলির কাঠামো

চিত্রটিতে, আপনি স্কেচের গঠন দেখতে পারেন।

Anemometer_Instructables

এটি প্রধান প্রোগ্রাম যা লাইব্রেরি লোড করে, ভেরিয়েবল শুরু করে, সংযুক্তি বিঘ্ন নিয়ন্ত্রণ করে, সমস্ত ফাংশন কল করে, বাতাসের গতি গণনা করে, তার দিক নির্ধারণ করে এবং ঘুমিয়ে রাখে।

যোগাযোগ

ওয়াইফাই সংযুক্ত করুন এবং ডেটা থিংসস্পিকে পাঠান।

credentials.h

থিংসস্পিকে আপনার ওয়াইফাই নেটওয়ার্কের চাবি এবং আপনার অ্যাকাউন্টের শনাক্তকারী। এখানে আপনি আপনার কী আইডি এবং এপিআই পরিবর্তন করবেন।

সংজ্ঞায়িত করে

এতে প্রোগ্রামের সকল ভেরিয়েবল রয়েছে। এখানেই আপনি পড়ার সময় পরিবর্তন করতে পারেন বা কতক্ষণ নোডেমকু ঘুমাতে হবে।

ফাংশন

এতে প্যারামিটারগুলিকে একত্রিত করার এবং মাল্টিপ্লেক্সার পড়ার পাশাপাশি অ্যানিমোমিটারের ঘূর্ণনগুলি পড়ার ফাংশন রয়েছে।

oledDisplay

বাতাসের গতি এবং দিকের অন-স্ক্রিন ফলাফল দেখান।

ধাপ 3: সম্পর্কে ব্যাখ্যা …

সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…
সম্পর্কে ব্যাখ্যা…

বাধা সংযুক্ত করুন

অ্যানোমেটারের ঘূর্ণন Nodemcu এর GPIO 12 (পিন D6) এ এটির সাথে সংযুক্ত করা হয়।

বাধা হচ্ছে এমন ঘটনা বা শর্ত যা মাইক্রোকন্ট্রোলার যে কাজটি সম্পাদন করছে তা সম্পাদন বন্ধ করে দেয়, সাময়িকভাবে অন্য কোনো কাজে কাজ করে এবং প্রাথমিক কাজে ফিরে আসে।

আপনি Arduino এর টিউটোরিয়ালের লিঙ্কে ফাংশনের বিস্তারিত পড়তে পারেন। AttachInterrupt () দেখুন।

সিনট্যাক্স: সংযুক্ত ইন্টেরাপ্ট (পিন, কলব্যাক ফাংশন, ইন্টারাপ্ট টাইপ/মোড);

পিন = D6

কলব্যাক ফাংশন = rpm_anemometer - একটি পরিবর্তনশীল প্রতিটি পালস গণনা করে।

ইন্টারাপ্ট টাইপ/মোড = RISING - পিন যখন নিম্ন থেকে উঁচুতে যায় তখন বাধা।

হল সেন্সরে চুম্বক দ্বারা উত্পাদিত প্রতিটি নাড়িতে, পিনটি নিম্ন থেকে উঁচুতে যায় এবং গণনা ফাংশনটি সক্রিয় হয় এবং 25 সেকেন্ড স্থাপিত চলাকালীন একটি পালকে পালস সংক্ষেপিত হয়। একবার সময় শেষ হয়ে গেলে, কাউন্টারটি বিচ্ছিন্ন হয়ে যায় (detachInterrupt ()) এবং রুটিন সংযোগ বিচ্ছিন্ন হওয়ার সময় গতি গণনা করে।

বাতাসের গতি গণনা করা

25 সেকেন্ডের মধ্যে অ্যানিমোমিটার কত ঘূর্ণন দিয়েছে তা নির্ধারিত হয়ে গেলে, আমরা গতি গণনা করি।

  • রেডিও হল অ্যানিমোমিটারের কেন্দ্র অক্ষ থেকে পিং পং বলের অগ্রভাগ পর্যন্ত পরিমাপ। আপনি অবশ্যই খুব ভালভাবে আপনার পরিমাপ করেছেন - (10 সেন্টিমিটার যে ডায়াগ্রামে দেখুন)।
  • RPS (প্রতি সেকেন্ডে ঘূর্ণন) = ঘূর্ণন / 25 সেকেন্ড
  • RPM (প্রতি মিনিটে ঘূর্ণন) = RPS * 60
  • OMEGA (কৌণিক বেগ - প্রতি সেকেন্ডে রেডিয়ান) = 2 * PI * RPS
  • লিনিয়ার_বেগ (মিটার প্রতি সেকেন্ড) = ওমেগা * রেডিও
  • Linear_Velocity_kmh (Km per hour) = 3.6 * Linear_Velocity এবং এটিই ThingSpeak- এ পাঠানো হবে।

বাতাসের ভ্যানের দিক পড়ুন

বাতাসের দিক নির্ণয় করার জন্য বায়ু ভ্যানের অবস্থান পড়ার জন্য প্রোগ্রামটি A, B, C (muxABC ম্যাট্রিক্স) এর সমস্ত সংমিশ্রণের সাথে মাল্টিপ্লেক্সারে কম এবং উচ্চ সংকেত প্রেরণ করে এবং পিন A0 এ ফলাফল পাওয়ার জন্য অপেক্ষা করুন যে 0 এবং 3.3V এর মধ্যে কোন ভোল্টেজ হতে পারে। সংমিশ্রণগুলি চিত্রটিতে দেখানো হয়েছে।

উদাহরণস্বরূপ, যখন C = 0 (কম), B = 0 (কম), A = 0 (কম) মাল্টিপ্লেক্সার এটিকে পিন 0 এর ডেটা দেয় এবং A0 তে সংকেত পাঠায় যা Nodemcu দ্বারা পড়া হয়; যদি C = 0 (নিম্ন), B = 0 (নিম্ন), A = 1 (উচ্চ) মাল্টিপ্লেক্সার আপনাকে 8 টি চ্যানেলের পড়া শেষ না হওয়া পর্যন্ত পিন 1 এর ডেটা পাঠাবে।

যেহেতু সিগন্যাল এনালগ, প্রোগ্রামটি ডিজিটাল (0 বা 1) তে রূপান্তরিত হয়, যদি ভোল্টেজ 1.3V এর চেয়ে কম বা সমান সংকেত হয় 0; যদি এটি 1.3V এর চেয়ে বড় হয় সংকেত 1. মান 1.3V নির্বিচারে এবং আমার জন্য, এটি খুব ভাল কাজ করেছে। সর্বদা ছোট ছোট ফুটো থাকে এবং এটি রক্ষা করে যে কোনও মিথ্যা ইতিবাচকতা নেই।

এই ডেটা একটি ভেক্টর ভ্যাল [8] তে সংরক্ষিত থাকে যাকে কম্পাস হিসেবে অ্যাড্রেস অ্যারের সাথে তুলনা করা হবে। ডায়াগ্রামে ম্যাট্রিক্স দেখুন। উদাহরণস্বরূপ, যদি প্রাপ্ত ভেক্টর [0, 0, 1, 0, 0, 0, 0, 0, 0] হয় তবে এটি ম্যাট্রিক্সে নির্দেশ করে ই দিক এবং 90 ডিগ্রি কোণের সাথে মিলে যায়; যদি [0, 0, 0, 0, 0, 0, 0, 1, 1] ম্যাট্রিক্সে WNW ঠিকানা নির্দেশ করে এবং 292.5 ডিগ্রি কোণের সাথে মিলে যায়। N [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] এবং 0 ডিগ্রি কোণের সাথে মিলে যায়।

থিংসস্পিকে যা পাঠানো হবে তা কোণে আছে কারণ এটি শুধুমাত্র সংখ্যা গ্রহণ করে।

ধাপ 4: যোগাযোগ

যোগাযোগ
যোগাযোগ
যোগাযোগ
যোগাযোগ

কিভাবে থিংসস্পিকে ডেটা পাঠাবেন

ফাংশন thingspeaksenddata () ডেটা পাঠানোর জন্য দায়ী।

ThingSpeak.setField (1, float (linear_velocity_kmh)) - আমার চ্যানেলের ফিল্ড 1 এ বেগ ডেটা পাঠান

ThingSpeak.setField (2, float (wind_Direction_Angle)) - আমার চ্যানেলের ফিল্ড 2 এ ঠিকানা তথ্য পাঠান

ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - TS দ্বারা নির্দেশিত লিখিত myWriteAPIKey API সহ আমার চ্যানেল myChannelNumber এ পাঠান। আপনার অ্যাকাউন্ট এবং চ্যানেল তৈরির সময় এই ডেটা টিএস দ্বারা তৈরি করা হয়েছিল।

উপরের ছবিতে আপনি দেখতে পাবেন কিভাবে থিংসস্পিক প্রাপ্ত ডেটা দেখায়।

এই লিঙ্কে আপনি ThingSpeak এর পাবলিক চ্যানেলে আমার প্রকল্পের ডেটা অ্যাক্সেস করতে পারেন।

ধাপ 5: প্রধান পরিবর্তনশীল

বায়ু ভ্যান পরামিতি

  • MUX_A D5 - mux pi A থেকে Nodemcu পিন D5
  • MUX_B D4 - Mux পিন B থেকে Nodemcu পিন D4
  • MUX_C D3 - mux পিন C থেকে Nodemcu পিন D3
  • READPIN 0 - NodeMcu = A0 এ এনালগ ইনপুট
  • NO_PINS 8 - মাক্স পিনের সংখ্যা
  • val [NO_PINS] - mux এর 0 থেকে 7 পোর্ট
  • wind_Direction_Angle - বাতাসের দিকের কোণ
  • স্ট্রিং উইন্ডরোজ [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - কার্ডেনাল, জামানত এবং উপ -সমান্তরাল
  • windAng [16] = {0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5} - প্রতিটি দিকের কোণ
  • অঙ্ক [16] [NO_PINS] - দিকনির্দেশ ম্যাট্রিক্স
  • muxABC [8] [3] - ABC mux কম্বিনেশন

অ্যানিমোমিটার পরামিতি

  • rpmcount - বরাদ্দকৃত সময়ে অ্যানিমোমিটার কতটি পূর্ণ ঘূর্ণন করেছে তা গণনা করুন
  • সময় পরিমাপ = 25.00 - সেকেন্ডের সময় পরিমাপের সময়
  • timetoSleep = 1 - Nodemcu মিনিট জেগে সময়
  • ঘুমের সময় = 15 - মিনিটের মধ্যে ঘুমানোর সময়
  • rpm, rps - ঘূর্ণন ফ্রিকোয়েন্সি (প্রতি মিনিটে ঘূর্ণন, প্রতি সেকেন্ডে ঘূর্ণন)
  • ব্যাসার্ধ - মিটার - অ্যানিমোমিটার ডানার দৈর্ঘ্যের পরিমাপ
  • linear_velocity - m/seg এ lineal বেগ
  • linear_velocity_kmh - km/h তে রৈখিক বেগ
  • ওমেগা - rad/seg তে রেডিয়াল বেগ

নীচে আপনি সম্পূর্ণ স্কেচ খুঁজে পেতে পারেন। আপনার কম্পিউটারের Arduino ফোল্ডারে মূল প্রোগ্রামের (Anemometer_Instructables) নামের সাথে একটি নতুন ফোল্ডার তৈরি করুন এবং সেগুলো সব একসাথে রাখুন।

Credentials.h অংশে আপনার ওয়াইফাই নেটওয়ার্ক এবং ThingSpeak ID এবং API রাইটার কী এর ডেটা লিখুন এবং সংরক্ষণ করুন। নোডেমকুতে আপলোড করুন এবং এটুকুই।

সিস্টেমের ক্রিয়াকলাপ পরীক্ষা করার জন্য আমি একটি ভাল ঘোরানো ফ্যান সুপারিশ করি।

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

আপনার অ্যাকাউন্ট সেটিংস কনফিগার করুন এবং আপনি যেখানেই থাকুন না কেন আপনার বাড়ির বাতাসের অবস্থা দেখতে প্রস্তুত থাকবেন।

যদি আপনার আগ্রহ থাকে, আমার থিংসস্পিক চ্যানেল আইডি চ্যানেল অ্যাক্সেস করুন: 438851, যা সর্বজনীন এবং সেখানে আপনি আমার বাড়িতে বাতাস এবং দিকের পরিমাপ পাবেন।

আমি সত্যিই আশা করি আপনি মজা পাবেন।

যদি আপনার কোন সন্দেহ থাকে আমার সাথে যোগাযোগ করতে দ্বিধা করবেন না।

শুভেচ্ছা

প্রস্তাবিত: