সুচিপত্র:

আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ: 6 টি ধাপ
আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ: 6 টি ধাপ

ভিডিও: আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ: 6 টি ধাপ

ভিডিও: আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ: 6 টি ধাপ
ভিডিও: আর্টস নিয়ে পড়লে কি কি চাকরি পাওয়া যায়? Best Career Options After 12 ARTS in Bengali 2024, জুন
Anonim
আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ
আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ

হ্যালো সবাই, এই নির্দেশনায় আমি ব্যাখ্যা করব কিভাবে আমি আমার আর্ট-নেট নিয়ন্ত্রিত উইঞ্চ তৈরি করেছি। "তোমার কি?" আমি আপনাকে জিজ্ঞাসা করতে শুনেছি, আচ্ছা আমাকে খুব দ্রুত ব্যাখ্যা করতে দিন। কয়েক বছর আগে আমরা স্থানীয় যুব বাড়ির সাথে একটি পার্টি ছুড়েছিলাম, এবং মঞ্চ নকশা হিসাবে আমাদের একটি চলমান ছাদ তৈরির ধারণা ছিল।

9 টি উইঞ্চ (টাকেল) দিয়ে আমরা একটি বিশাল সাদা কাপড় উঠিয়েছিলাম এবং প্রোটোকল ডিএমএক্সের মাধ্যমে আমরা তাদের নিয়ন্ত্রণ করেছি। কিন্তু সেই সময়ে উইঞ্চগুলি আমরা ব্যবহার করেছি যেখানে 3 ফেজ নিয়ন্ত্রিত। সুতরাং এটিকে উপরে ও নিচে নামানোর জন্য আমাদের একটি কেন্দ্রীয় আরডুইনো মেগা দ্বারা নিয়ন্ত্রিত রিলে একটি সিস্টেম তৈরি করতে হয়েছিল যা dmx ব্যবহার করে নিয়ন্ত্রিত হয়েছিল। রিলে যেখানে 230V এবং 12 amps এর ভোল্টেজ পরিবর্তন করা হয়।

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

তাই আমরা নিজেদের মনে করেছিলাম এটি করার জন্য আরও ভালো উপায় থাকতে হবে। আমরা ভাবতে শুরু করেছি এবং এই সিদ্ধান্তে পৌঁছেছি যে এটি করার সর্বোত্তম উপায় হবে উইঞ্চের মডুলার সিস্টেমের মাধ্যমে, আর্ট-নেট প্রোটোকল দ্বারা নিয়ন্ত্রিত তাই আমাদের কেবল একটি ভোল্টেজ সোর্স এবং একটি ইথারনেট কেবল প্রয়োজন।

তাই ঠিক আমি যা তৈরি করেছি এবং আমি আপনাকে এটি কীভাবে করেছি তা ব্যাখ্যা করার চেষ্টা করব। পুরো সেটআপ একটি রাস্পবেরি পাই এর উপর নির্ভর করে যা সেটআপ প্রক্রিয়া নিয়ন্ত্রণ করে। তার সেটআপ নিয়ন্ত্রণ একটি হালকা কম্পিউটার (Chamsys, ইত্যাদি) উপর দেওয়া হয় যে সেখানে থেকে winches নিয়ন্ত্রণ করবে।

আমি অনুমান করছি যে আপনার কাছে পাইথন, আরডুইনো এবং রাস্পবেরি পাই আসল সম্পর্কে প্রাথমিক জ্ঞান রয়েছে যেমন আর্ট-নেট প্রোটোকল এবং কন্ট্রোলার সম্পর্কে কিছু বোঝা।

সরবরাহ

আপনার যা লাগবে:

  • রাস্পবেরি পাই
  • আরডুইনো
  • Arduino ইথারনেট ieldাল
  • Arduino মোটর ieldাল
  • যেকোনো OLED স্ক্রিন
  • ইথারনেট তারের
  • ইথারন্ট সুইচ
  • এনকোডার বিল্ড অন নিয়ে ডিসি মোটর

ধাপ 1: রাস্পবেরি পাই সেট আপ করা

ঠিক আছে যেভাবে এটি কাজ করবে তা হল রাস্পবেরি পাই একটি অ্যাপাচি এবং একটি মারিয়াডিবি সার্ভার চালাবে। অ্যাপাচি সার্ভার ওয়েবসাইট হোস্ট করার জন্য, মারিয়াডিবি একটি ডাটাবেস রাখা যেখানে আমরা উইঞ্চের ডেটা সংরক্ষণ করব।

আমি আপনাকে ssh দিয়ে pi সেট -আপ করার সমগ্র প্রক্রিয়ার মধ্য দিয়ে যাব না, যদি আপনি অপরিচিত হন এখানে একটি ভাল টিউটোরিয়াল।

তাই প্রথমে আমরা নিশ্চিত করব যে রাস্পবেরি পাই আপনার টার্মিনাল রান এ সব সেটআপ আছে:

Apache ইনস্টল করার জন্য

sudo apt apache2 -y ইনস্টল করুন

মারিয়াডিবি ইনস্টল করতে

sudo apt-get mariadb-server ইনস্টল করুন

এই সব পাইথন এক্সটেনশন আমাদের প্রয়োজন হবে

pip3 mysql-connector-python ইনস্টল করুন

pip3 install flask-socketio pip3 install flask-cors pip3 install gevent pip3 install gevent-websocket pip3 install netifaces

ওলেড ডিসপ্লের জন্য আমাদের একটু বেশি কঠিন সেটআপ প্রক্রিয়া দরকার যা এখানে পাওয়া যাবে।

ঠিক আছে যে পাই সব শেষ!

ধাপ 2: সেটআপ কিভাবে কাজ করবে তা বোঝা

সুতরাং আপনি কীভাবে উইঞ্চ সেটআপ করতে চান তা হল এটি একটি শুরুর অবস্থান এবং একটি শেষের অবস্থান প্রদান করে। এটি একটি নির্দিষ্ট চ্যানেল বরাদ্দ করা হবে এবং এই চ্যানেলের মাধ্যমে আপনি শুধুমাত্র নির্বাচিত স্ট্যাট এবং শেষ অবস্থানের মধ্যে যেতে পারবেন।

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

ডিসি মোটরের এনকোডারের মাধ্যমে অবস্থান গণনা করা হয়।

ধাপ 3: পাই এর ব্যাকএন্ড

পাই এর ব্যাকএন্ড
পাই এর ব্যাকএন্ড

সিস্টেমের ব্যাকএন্ড আমার গিথুব এ পাওয়া যাবে। আমি আর্ট-নেট প্রোটোকলের জন্য আমার নিজের লাইব্রেরি লিখেছি তাই নির্দ্বিধায় এটি ব্যবহার করুন। আমি আপনাকে লাইন দিয়ে সব কিছু দিয়ে হাঁটতে পারব না কিন্তু আমি আপনাকে সবকিছুর বড় ছবি উপহার দেব।

কোডটি একটি ফ্লাস্ক সার্ভার চালায় যা পাইতে চলমান অ্যাপাচি সার্ভারের সাথে যোগাযোগ করে। এটি ফ্রন্টএন্ডে ডেটা প্রেরণ এবং গ্রহণের জন্য ফ্লাস্ক-সকেটিও মডিউল ব্যবহার করে। আর্ট-নেট লিবটি পাইথন থেকে সকেট মডিউল ব্যবহার করে আরডুইনোতে এবং থেকে ইউডিপি প্যাকেট পাঠাতে।

Method socketio.on ('F2B _ ***') দিয়ে শুরু হওয়া প্রতিটি পদ্ধতি ফ্রন্টএন্ড থেকে F2B কলের জন্য অপেক্ষা করছে। একবার এটি প্রাপ্ত হলে এটি অনুযায়ী কর্ম সম্পাদন করবে। আর্টনেট কমান্ডো পাঠানো বা ডিবি থেকে ডেটা পাওয়া এবং সামনের দিকে ফেরত পাঠানো।

Oled_show_info () পদ্ধতিটি ip এর আইপি (wlan এবং ইথারনেট ইন্টারফেস উভয় ক্ষেত্রে) প্রদর্শন করতে ব্যবহৃত হয়।

তাই শুধু কোডটি দিয়ে চালান

python3 app.py

ধাপ 4: পাই এর ফ্রন্টএন্ড

পাই এর ফ্রন্টএন্ড
পাই এর ফ্রন্টএন্ড

পাই এর ফ্রন্টএন্ড সম্পাদনা করতে সক্ষম হওয়ার জন্য আপনাকে প্রথমে/var/www/html/ডিরেক্টরিতে প্রবেশ করতে হবে। এখানেই অ্যাপাচি তার ওয়েবসাইটে প্রদর্শনের জন্য ফাইলগুলি পায়। এক্সেস চালানোর জন্য:

sudo chmod 777/var/www/html/

এখন সব শেষ হয়ে গেলে আমার গিথুবের ফ্রন্টএন্ডের জন্য কোড পান এবং/var/www/html/ডিরেক্টরিতে রাখুন।

ফ্রন্টএন্ড ব্যাকএন্ডের মতো একই নীতি ব্যবহার করে কিন্তু এখন এটি একটি বোতাম চাপলে বা স্লাইডার সরানোর সময় F2B _ *** কমান্ড পাঠায়।

এবং যে ফ্রন্টএন্ড সম্পন্ন!

ধাপ 5: আরডুইনো

আরডুইনো
আরডুইনো
আরডুইনো
আরডুইনো
আরডুইনো
আরডুইনো

Arduino ব্যবহার করার জন্য আপনাকে ইথারনেট ieldাল এবং মোটর ieldাল ব্যবহার করতে হবে। শুধু আস্তে আস্তে তাদের arduino উপর ধাক্কা। নিশ্চিত করুন যে আপনি মোটর ieldালটিকে ইথারনেট ieldালের দিকে দূরে ঠেলে দিচ্ছেন না অথবা আপনি ইথারনেট সংযোগে 2 টি মোটর পিন ছোট করবেন!

Arduino এর কোডটি আমার github এও পাওয়া যাবে। Artnet_winch.ino ফাইল আপলোড করুন এবং সব ভাল হওয়া উচিত।

নিশ্চিত করুন যে আপনি আপনার মোটরের সঠিক পিনের সাথে সঠিক পিনগুলি সংজ্ঞায়িত করেছেন। Motorালের উপরে হেডার পিন দিয়ে মোটরশিল্ড পিন নির্বাচন করা হয়। এই পিনগুলি // --- মোটর কনফিগের অধীনে নির্বাচিত হয়। এনকোডার পিন হিসাবে Aswel যা Arduino এর ডান পিনের সাথে সংযুক্ত করা প্রয়োজন।

এছাড়াও নিশ্চিত করুন যে আপনার ieldালের MAC ঠিকানা সঠিক। এটি ieldালের নীচে একটি স্টিকারে পাওয়া যাবে এবং MAC ভেরিয়েবলে এডিট করা যাবে। Pi- এর জন্য আপনি যে IP ব্যবহার করেন তা PI- এর সমান পরিসরে থাকা প্রয়োজন, এটি সাধারণত ওলেড স্ক্রিনে পাওয়া যায়।

কোডটি একটু বেশি দেখায় কিন্তু বুঝতে এতটা কঠিন নয়। মূলত ইথারনেট ieldাল ক্রমাগত udp প্যাকেটগুলি পড়তে থাকে। আর্ট-নেট ওয়েবসাইটে বিভিন্ন আর্টনেট প্যাকেটগুলি সুন্দরভাবে বর্ণনা করা হয়েছে, তাই যদি আপনার আগ্রহ থাকে তবে আপনি যা করতে পারেন তা পড়তে পারেন।

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

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

Move_takel ফাংশন প্রদত্ত DMX মান (0-255 এর মধ্যে) শুরু এবং শেষ অবস্থানের মধ্যে একটি অবস্থানে রূপান্তর করে (0 শেষ এবং 255 শুরু)। যদি এনকোডারের অবস্থান রূপান্তরিত মানের সমান না হয় তাহলে আপনি কোথায় আছেন তার উপর নির্ভর করে উইঞ্চ উপরে/নিচে চলে যাবে।

আমি PI এবং arduino এর মধ্যে একটি ফিডব্যাক লুপে কাজ করছিলাম যাতে এটি তার অবস্থান ধরে রাখতে পারে কিন্তু আমার arduino প্রোগ্রামটি সঞ্চয় করার জন্য মেমরির বাইরে চলে গেছে:)।

এটা সব মাউন্ট করা

এর মাউন্ট করার জন্য আমি মোটরটিকে একটি ধাতব ধারকের সাথে সংযুক্ত করেছি এবং এর উপরে একটি ধরণের নল রেখেছি। তারপর শুধু টিউব একটি কর্ড সংযুক্ত এবং একটি ওজন হিসাবে টেপ একটি রোল ব্যবহার। এটি খুবই মৌলিক এবং আপনি যেভাবে মাউন্ট করতে চান তাতে আপনি খুব সৃজনশীল হতে পারেন।

ধাপ 6: এটি সব সংযুক্ত করা

একবার আরডুইনো এবং পাই সব সেটআপ হয়ে গেলে আপনার সুইচে উভয় ইথারনেট কেবলগুলি প্লাগ করুন এবং এটি হওয়া উচিত!

আপনি ওলেড স্ক্রিনে দেওয়া wlan ip- এ সার্ফ করে এটি পরীক্ষা করতে পারেন এবং আপনার সাইটটি দেখা উচিত। আপনি ডিভাইসটি খুঁজে পেতে পারেন কিনা তা দেখতে ডিভাইসগুলি টিপুন। যদি এটি কিছু না দেখায় তবে আপনার আরডুইনো ভালভাবে সংযুক্ত নয় বা আপনি যে আইপিটি বেছে নিয়েছেন তা পিআইয়ের মতো নয়।

একবার আপনি ডিভাইসটি দেখলে কেবল সেটআপ টিপুন। সেটআপ মেনুতে আপনি তীরগুলি ব্যবহার করে উইঞ্চটি সরাতে পারেন এবং স্লাইডারের সাহায্যে শুরু এবং শেষের অবস্থানগুলি সঠিক কিনা তা পরীক্ষা করুন।

নিশ্চিত করুন যে আপনার নিয়ামকটিও ieldালটিতে প্লাগ করা আছে এবং এটির আইপি পিআই এবং আরডুইনো এর মধ্যে রয়েছে।

এটাই!

প্রস্তাবিত: