সুচিপত্র:

আরডুইনো দিয়ে মোশন ডিটেকশন সিস্টেম কীভাবে তৈরি করবেন: 7 টি ধাপ
আরডুইনো দিয়ে মোশন ডিটেকশন সিস্টেম কীভাবে তৈরি করবেন: 7 টি ধাপ

ভিডিও: আরডুইনো দিয়ে মোশন ডিটেকশন সিস্টেম কীভাবে তৈরি করবেন: 7 টি ধাপ

ভিডিও: আরডুইনো দিয়ে মোশন ডিটেকশন সিস্টেম কীভাবে তৈরি করবেন: 7 টি ধাপ
ভিডিও: How To Use of PIR Motion Detector Sensor | Review and pin Configuration Bangla চোর ধরার মোশন সেন্সর 2024, জুলাই
Anonim
আরডুইনো দিয়ে কীভাবে মোশন ডিটেকশন সিস্টেম তৈরি করবেন
আরডুইনো দিয়ে কীভাবে মোশন ডিটেকশন সিস্টেম তৈরি করবেন

আরডুইনো দিয়ে প্রোগ্রাম করা এবং ইউবিডটস দ্বারা চালিত একটি পালক হুজায ব্যবহার করে একটি গতি এবং উপস্থিতি উত্পাদন কাউন্টার তৈরি করুন।

স্মার্ট হোমস এবং স্মার্ট ম্যানুফ্যাকচারিংয়ে কার্যকরী শারীরিক গতি এবং উপস্থিতি সনাক্তকরণ বয়স্ক অ্যাম্বিয়েন্ট অ্যাসিস্টেড লিভিং (এএএল) সলিউশন বা একটি বড় এমইএসকে খাওয়ানোর একটি প্রোডাকশন কাউন্টিং সিস্টেম থেকে শুরু করে অ্যাপ্লিকেশনগুলিতে খুব দরকারী হতে পারে। মোশন এবং প্রেজেন্স ডিটেকশনের জন্য অন্যান্য অ্যাপ্লিকেশনের মধ্যে রয়েছে কিন্তু এর মধ্যে সীমাবদ্ধ নয়:

  1. দরজা এবং গেট অটোমেশন
  2. পার্কিং সেন্সর মুক্ত দাগ নির্ধারিত
  3. দূরবর্তী ট্যাঙ্ক স্তরের পর্যবেক্ষণ
  4. আলো এবং নিরাপত্তার জন্য স্মার্ট বাড়ি এবং সুবিধা
  5. পরিবাহক লাইনে ইউনিট সনাক্তকরণ এবং গণনা
  6. মুদ্রিত উপকরণগুলিতে চিহ্নিতকরণ চিহ্নিত করুন
  7. পিচবোর্ড, প্লাস্টিক, এবং কাগজের টিল্টের ভিতরে তরল শনাক্তকরণ
  8. দূরত্ব সনাক্তকরণ
  9. মানুষ কাউন্টার

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

এই টিউটোরিয়ালের জন্য, আমরা একটি রিয়েল-টাইম প্রোডাকশন কাউন্টার তৈরির দিকে মনোনিবেশ করব; অ্যাপ্লিকেশন একটি পরিবাহক বেল্ট দ্বারা পাস প্রতিটি ইউনিট গণনা করা হবে। আমরা আমাদের অ্যাপ্লিকেশন ডেভেলপ করতে এবং আমাদের আইওটি ড্যাশবোর্ড প্রদর্শন করতে একটি ফেদার হুজা ইএসপি 8266, একটি অতিস্বনক সেন্সর এবং ইউবিডটস প্রোগ্রাম করার জন্য আরডুইনো আইডিই ব্যবহার করব।

ধাপ 1: প্রয়োজনীয়তা

  1. ESP8266MB7389-100 সহ পালক হুজা
  2. অতিস্বনক সেন্সর
  3. Arduino IDE 1.8.2 বা উচ্চতর
  4. ইউবিডটস অ্যাকাউন্ট -অথবা -স্টেম লাইসেন্স

পদক্ষেপ 2: সেটআপ

  • আমি হার্ডওয়্যার সেটআপ
  • II। ফার্মওয়্যার সেটআপ
  • III। ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট (ইভেন্ট, ভেরিয়েবল এবং ড্যাশবোর্ড)

ধাপ 3: হার্ডওয়্যার সেটআপ

হার্ডওয়্যার সেটআপ
হার্ডওয়্যার সেটআপ
হার্ডওয়্যার সেটআপ
হার্ডওয়্যার সেটআপ

আল্ট্রাসোনিক সেন্সর MB7389-100 হল আইপিভি 67 রেটিং এর জন্য ধন্যবাদ চ্যালেঞ্জিং আবহাওয়ায় বিস্তৃত এবং কম বিদ্যুৎ ব্যবহারের প্রয়োজনীয়তা সহ শিল্প অ্যাপ্লিকেশনের জন্য একটি কম খরচের বিকল্প।

শুরু করার জন্য, ফেটার হুজা ESP8266 এর সাথে অতিস্বনক সেন্সর সংযুক্ত করতে নিচের চিত্রটি আয়না করুন।

দ্রষ্টব্য: সেন্সর পড়া এনালগ রিডিং বা PWM হিসাবে গ্রহণ করা যেতে পারে; নীচে আমরা PWM পড়ার জন্য সেটআপ ব্যাখ্যা করতে যাচ্ছি, অতিরিক্ত তথ্যের জন্য দয়া করে উপরে দেখানো উদাহরণ দেখুন।

[Allyচ্ছিকভাবে] মাইক্রো-কন্ট্রোলার এবং সেন্সরগুলিকে ধুলো, জল এবং অন্যান্য হুমকিপূর্ণ পরিবেশগত কারণ থেকে রক্ষা করার জন্য ডি IP67 কেসের ভিতরে রাখুন। স্ট্যান্ডার্ড কেস উপরের ফটোতে দেখানো একটির মতো দেখতে।

ধাপ 4: ফার্মওয়্যার সেটআপ

ফার্মওয়্যার সেটআপ
ফার্মওয়্যার সেটআপ
ফার্মওয়্যার সেটআপ
ফার্মওয়্যার সেটআপ

প্রথমে আপনাকে Arduino IDE তে Feather Huzzah ইনস্টল করতে হবে এবং কোডটি কম্পাইল করতে হবে। একটি সহজ ঝলকানি পরীক্ষা করে এই সেটআপটি যাচাই করতে ভুলবেন না। আপনার পালক ডিভাইস সংযুক্ত করার বিষয়ে আরও তথ্যের জন্য এই সহায়ক হার্ডওয়্যার সেটআপ গাইডটি দেখুন।

ইউবিডটস আইওটি ডেভেলপমেন্ট প্ল্যাটফর্মে সেন্সর ডেটা পাঠাতে, নীচের কোডটি আরডুইনো আইডিইতে কপি এবং পেস্ট করুন। কোডে নির্দেশিত ওয়াই-ফাই নেটওয়ার্কের নাম, পাসওয়ার্ড এবং আপনার ইউবিডটস অ্যাকাউন্ট টোকেন বরাদ্দ করতে ভুলবেন না।

/********************************** লাইব্রেরি অন্তর্ভুক্ত *************** **************** /#অন্তর্ভুক্ত /******************************** ** ধ্রুবক এবং বস্তু ********************************* //*Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // এখানে আপনার SSID nameconst char* SSID_PASS = "xxxxxxxx" রাখুন; // এখানে আপনার পাসওয়ার্ড কনস্ট চার* টোকেন = "Assig_your_ubidots_token" রাখুন; // এখানে আপনার টোকেনকনস্ট চার* DEVICE_LABEL = "গতি-নিয়ন্ত্রণ" রাখুন; // আপনার ডিভাইসের লেবেল কনস্ট চার* VARIABLE_LABEL = "দূরত্ব"; // আপনার ভেরিয়েবল লেবেল কনস্ট চার* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "Industrial.api.ubidots.com"; // Ubidots Business users // const char* HTTPSERVER = " things.ubidots.com "; // ইউবিডটস শিক্ষাগত ব্যবহারকারীরা HTTPPORT = 80;/ * অতিস্বনক সেন্সর */const int pwPin1 = 5; // PWM পিন যেখানে সেন্সর সংযুক্ত থাকে WiFiClient clientUbi;/******************************** সহায়ক ফাংশন *** *********************** ভেরিয়েবলের দৈর্ঘ্য*/int dataLen (char* variable) {uint8_t dataLen = 0; জন্য, float sensor_value) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * পাঠানোর মান সংরক্ষণ করার স্থান * / char str_val [10]; /*---- সেন্সরের মানগুলিকে চর টাইপে রূপান্তরিত করে -----* / /*4 হল মিনিমাম প্রস্থ, 2 নির্ভুলতা; সেন্সর_ভ্যালু, 4, 2, str_val); POST */sprintf (data, "POST /api/v1.6/devices/%s", device_label) হওয়ার অনুরোধ; sprintf (data, "%s HTTP/1.1 -r / n", data); sprintf (data, "%sHost: things.ubidots.com / r / n", ডেটা); sprintf (data, "%sUser-agent:%s/%s / r / n", data, USER_AGENT, VERSION); sprintf (data, " %sX-Auth-Token: %s / r / n", ডেটা, টোকেন); স্প্রিন্ট f (data, "%sConnection: close / r / n", data); sprintf (data, "%sContent-Type: application/json / r / n", data); sprintf (data, " %sContent-Length: %d / r / n / r / n", data, dataLen (body)); sprintf (ডেটা, "%s%s / r / n / r / n", ডেটা, বডি); / * প্রাথমিক সংযোগ */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * ক্লায়েন্ট কানেকশন যাচাই করুন Serial.println (তথ্য); / * HTTP অনুরোধ পাঠান */ clientUbi.print (ডেটা); } / * ক্লায়েন্ট পাওয়া গেলে সার্ভারের প্রতিক্রিয়া পড়ুন * / while (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (c); } / * ফ্রি মেমরি * / ফ্রি (ডেটা); মুক্ত (শরীর); / * ক্লায়েন্ট বন্ধ করুন */ clientUbi.stop ();}

ProTip: Arduino IDE তে সিরিয়াল মনিটর খোলার মাধ্যমে আপনার ডিভাইস সঠিকভাবে সংযুক্ত আছে কিনা তা পরীক্ষা করতে পারেন।

আপনি আপনার অ্যাকাউন্ট ডিভাইস ম্যানেজমেন্ট -> ডিভাইসগুলিতে দেখে আপনার ইউবিডটস ব্যাকএন্ডে একটি ডিভাইস তৈরি হয়েছে তা যাচাই করতে পারেন।

আপনার ডিভাইসে ক্লিক করে, আপনি "দূরত্ব" নামক একটি পরিবর্তনশীল পাবেন যেখানে সেন্সরের রিডিংগুলি সংরক্ষণ করা হয়। এই নামটি আপনি যে কোডটি সবেমাত্র Arduino IDE এ আটকিয়েছেন তাতে বরাদ্দ করা হয়েছিল। আপনি যদি আপনার স্বয়ংক্রিয় ভেরিয়েবলগুলিকে সামঞ্জস্য করতে চান, তাহলে দয়া করে ডিভাইস কার্ড সম্পাদনা করে অথবা আপনার অ্যাপ্লিকেশনের জন্য সঠিক পরিবর্তনশীল নামকরণের সাথে একটি আপডেট কোড ফ্ল্যাশ করে এটি করুন।

Feather HUZZAH ESP8266 সংযুক্ত এবং ইউবিডটসে ডেটা রিপোর্ট করার সাথে সাথে, এখন সময় এসেছে সাবধানে ডিজাইন করা কোড-মুক্ত অ্যাপ্লিকেশন কনফিগারেশন ব্যবহার করে ইউবিডটস ব্যবহার করে অ্যাপ্লিকেশন তৈরি করার।

পদক্ষেপ 5: ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট

ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট
ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট
ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট
ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট
ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট
ইউবিডটস অ্যাপ্লিকেশন ডেভেলপমেন্ট

ইউবিডটস ইভেন্ট কনফিগারেশন

বর্তমান রিডিংগুলি আমরা ইউবিডটসে পাঠাচ্ছি দূরত্বের ইনপুট। এই রিডিংগুলিকে কাঙ্ক্ষিত আউটপুটে অনুবাদ করার জন্য যা আমরা চাই -গণনা করা ইউনিট- আমাদের এই ধাপগুলি অনুসরণ করে একটি ইভেন্ট তৈরি করা উচিত:

  1. বর্তমান ডিভাইস "মোশন-কন্ট্রোল" এর ভিতরে "বক্স" নামে একটি নতুন ডিফল্ট ভেরিয়েবল তৈরি করুন, যা প্রতিবার একটি নতুন ইউনিট গণনা করার সময় 1 টি পাবে।
  2. ডিভাইস ম্যানেজমেন্ট -> ইভেন্টগুলিতে যান এবং একটি নতুন ইভেন্ট যুক্ত করতে পৃষ্ঠার উপরের ডানদিকে নীল প্লাস আইকনে ক্লিক করুন।
  3. "যদি ট্রিগার হয়" দিয়ে আপনার ইভেন্টটি কনফিগার করুন:
  • একটি পরিবর্তনশীল নির্বাচন করুন: "দূরত্ব"
  • মান: মান (ডিফল্ট)
  • সেন্সর এবং*পাশ দিয়ে যাওয়া বাক্সের মধ্যে [সর্বোচ্চ প্রত্যাশিত দূরত্ব] এর চেয়ে কম বা সমান*আমাদের আবেদন 500 মিমি
  • 0 মিনিটের জন্য
  • সংরক্ষণ

4. একবার আপনার অ্যাপ্লিকেশনের স্পেসিফিকেশনে ট্রিগার কনফিগার হয়ে গেলে, শর্তসাপেক্ষ ক্রিয়া যোগ করতে উপরের-ডান কোণে কমলা "প্লাস" আইকনে ক্লিক করুন।

5. অ্যাকশন হিসেবে "সেট ভেরিয়েবল" নির্বাচন করুন।

6. পরবর্তী, পূর্বে তৈরি ডিফল্ট পরিবর্তনশীল "বাক্স" এবং মান "1" নির্বাচন করুন।

7. পরিবর্তন সংরক্ষণ করুন। যদি ইভেন্টটি সঠিকভাবে সেট আপ করা হয়, এটি প্রতিবার সেন্সর এবং ইউনিটের মধ্যে দূরত্ব নির্দেশিত থ্রেশহোল্ডের চেয়ে বেশি হলে একটি "1" পাঠাবে, যা প্রস্তাব করে যে কাছাকাছি কোন বস্তু নেই - এবং একটি নতুন ইউনিট গণনা করা উচিত যা সবেমাত্র পাস করেছে ।

ফেদার নির্দিষ্ট ডিভাইস কার্ডে, আপনি দেখতে পাবেন যে ভেরিয়েবল "বাক্স" যেখানে একটি "1" পাঠানো হয় যখনই একটি ইউনিটের উপস্থিতি অনুভূত হয়।

বিশেষ করে শিল্প পরিবাহক বেল্ট এবং ইউনিট গণনা করার জন্য এই প্রোটোটাইপটি আপনার কোডিং বা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্টের মধ্যে বিভিন্ন পরিবেশ বা হার্ডওয়্যারের জন্য কাস্টমাইজ করা যায়।

8. সংবেদনশীল ইউনিটগুলির সংখ্যা ভিজ্যুয়ালাইজ করুন (বা কোনো বস্তু শনাক্ত করা হয়েছে) এখন, "বাক্স" ভেরিয়েবল ব্যবহার করে, আমরা একটি নতুন রোলিং উইন্ডো ভেরিয়েবল তৈরি করতে যাচ্ছি যা ভেরিয়েবল "বক্স" থেকে প্রাপ্ত মোট রিডিংয়ের সমষ্টি যোগ করবে একটি সংজ্ঞায়িত স্প্যাম (মিনিট, ঘন্টা, দিন, সপ্তাহ, ইত্যাদি)। এই উন্নয়নটি চালানোর জন্য, এই সহজ পদক্ষেপগুলি অনুসরণ করুন:

আপনার নতুন রোলিং উইন্ডো ভেরিয়েবলের জন্য নিম্নলিখিত শংসাপত্রগুলি বরাদ্দ করুন

একটি ডিভাইস নির্বাচন করুন: মোশন-কন্ট্রোল (অথবা যে ডিভাইসে আপনি আপনার ডেটা পাঠাচ্ছেন তার নাম)

একটি পরিবর্তনশীল নির্বাচন করুন: বাক্স

গণনা করুন: যোগফল

প্রতি: "1" ঘন্টা (বা আপনার আবেদন অনুরোধ অনুযায়ী)

এখন নতুন ভেরিয়েবলের জন্য একটি নাম বরাদ্দ করুন যা "বক্স/ঘন্টা" বা "ইউনিট/ঘন্টা" এর মতো এক ঘন্টার মধ্যে গণনা করা বাক্সের সংখ্যা (বা আন্দোলন) নির্দেশ করে।

ধাপ 6: ড্যাশবোর্ড কনফিগারেশন

ড্যাশবোর্ড কনফিগারেশন
ড্যাশবোর্ড কনফিগারেশন

অবশেষে, সংবেদনশীল ইউনিটের সংখ্যা প্রদর্শন করতে একটি ড্যাশবোর্ড তৈরি করুন।

ডিভাইস ম্যানেজমেন্ট -> ড্যাশবোর্ডে যান এবং একটি নতুন উইজেট যোগ করুন। এই উইজেটটি আজ গণনা করা বক্সের পরিমাণ ঘণ্টায় ভেঙে দেখাবে।

আপনার গণনাটি কল্পনা করতে আপনার নতুন উইজেটে নিম্নলিখিত শংসাপত্রগুলি বরাদ্দ করুন।

আপনি কিভাবে আপনার ডেটা দেখতে চান ?: চার্ট

এক ধরনের উইজেট নির্বাচন করুন: লাইন চার্ট

একটি ডিভাইস যুক্ত করুন: গতি-নিয়ন্ত্রণ

একটি পরিবর্তনশীল যোগ করুন: বক্স/ঘন্টা

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

প্রস্তাবিত: