আরডুইনো কী?
আরডুইনো নমনীয়, সহজেই ব্যবহারযোগ্য হার্ডওয়্যার এবং সফ্টওয়্যার ভিত্তিক একটি ওপেন সোর্স ইলেক্ট্রনিক্স প্রোটোটাইপিং প্ল্যাটফর্ম। এটি ডিআইওয়াই প্রকল্প, শিল্পী, ডিজাইনার, শখবাদীদের এবং ইন্টারেক্টিভ প্রকল্পগুলি তৈরি করতে আগ্রহী যে কারও জন্য। আরডুইনোস হ'ল মাইক্রোকন্ট্রোলার বোর্ডগুলি যা আপনার মাইক্রোকন্ট্রোলারের সাথে সহজেই ইন্টারফেস করার জন্য প্রয়োজনীয় সমস্ত কিছু ধারণ করে। একটি মাইক্রোকন্ট্রোলার এমবেডেড সিস্টেমগুলির জন্য একটি মিনি-কম্পিউটারগুলির মতো এবং অন্তর্ভুক্ত মাইক্রোকন্ট্রোলারের ধরণটি আরডুইনোর শৈলীর উপর নির্ভর করবে। আরডুইনো বৃহত্তর থেকে শুরু করে আরডুইনো মেগা মিডসাইজে আরডুইনো ইউএনও ছোট আরডুইনো প্রো মিনি। বিভিন্ন আকারের বোর্ডগুলি আই/ও পিন এবং অতিরিক্ত বৈশিষ্ট্যগুলির ক্রমবর্ধমান সংখ্যা সরবরাহ করবে এবং এই বোর্ডগুলির মধ্যে সর্বাধিক জনপ্রিয় হ'ল ইউএনও। আরডুইনো আপনার মাইক্রোকন্ট্রোলারদের প্রোগ্রাম করার জন্য আইডিই ব্যবহার করার জন্য একটি ওপেন সোর্স বিনামূল্যে সরবরাহ করে। আরডুইনো আইডিই প্রোগ্রামিং ভাষা বোঝার জন্য সহজ ব্যবহার করে এবং আরডুইনোর জনপ্রিয়তার কারণে আপনি আপনার নির্দিষ্ট অ্যাপ্লিকেশনটির জন্য কোড করতে সহায়তা করার জন্য অনলাইনে অনেক সহায়ক উদাহরণ খুঁজে পেতে পারেন। এটি যদি আপনার প্রথম আরডুইনো প্রকল্প হয় তবে আরডুইনো কিট জাম্পার কেবলগুলি থেকে সেন্সরগুলিতে রিলে পর্যন্ত আপনার প্রয়োজনীয় সমস্ত কিছু আপনাকে সরবরাহ করবে এবং আপনাকে শুরু করার জন্য আরডুইনো ইউএনও অন্তর্ভুক্ত করবে।
লিনিয়ার অ্যাকুয়েটর নিয়ন্ত্রণ করতে কেন একটি আরডুইনো ব্যবহার করবেন?
একটি নিয়ন্ত্রণ করার জন্য কোনও আরডুইনো বা কোনও মাইক্রোকন্ট্রোলার ব্যবহারের বৃহত্তম সুবিধাগুলির মধ্যে একটি রৈখিক নেতা আপনার লিনিয়ার অ্যাকুয়েটরের উপর আপনার আরও বেশি নিয়ন্ত্রণ রয়েছে। মাইক্রোকন্ট্রোলাররা আপনাকে আপনার লিনিয়ার অ্যাকুয়েটর নিয়ন্ত্রণ করতে সেন্সর বা অন্যান্য ডিভাইস থেকে আরও জটিল ইনপুট ব্যবহার করার অনুমতি দেয়। তারা আপনাকে আপনার অবস্থানের জন্য রিয়েল-টাইম গণনাগুলি উপস্থাপনের অনুমতি দেয় অ্যাকিউউটর আদর্শ অবস্থানে বা আপনার অ্যাকিউইউটরগুলির অবস্থান পরিবর্তনগুলি স্বয়ংক্রিয় করতে টাইমারগুলি প্রয়োগ করুন। মাইক্রোকন্ট্রোলাররা আরও সুনির্দিষ্ট অবস্থান এবং গতি নিয়ন্ত্রণ সরবরাহের পাশাপাশি এক সময় একাধিক অ্যাকিউটেটর নিয়ন্ত্রণ করতে আপনার অ্যাকিউইটরেটরদের কাছ থেকে প্রতিক্রিয়াও নিতে পারে। সহজ কথায় বলতে গেলে, মাইক্রোকন্ট্রোলাররা আপনাকে বৃহত্তর নিয়ন্ত্রণ এবং নমনীয়তা সরবরাহ করে এবং আরডুইনোর ব্যবহার করা সহজ ডিজাইন এবং বিস্তৃত জনপ্রিয়তা সহ অতিরিক্ত জটিলতার স্তরটি ন্যূনতম।
একটি আরডুইনো দিয়ে একটি লিনিয়ার অ্যাকুয়েটর নিয়ন্ত্রণ করা
আরডুইনোর অপারেটিং ভোল্টেজটি কেবল 5 ভি এবং খুব ছোট বর্তমান সীমা রয়েছে বলে আপনি একটি স্যুইচ দিয়ে আপনার লিনিয়ার অ্যাকুয়েটরকে সরাসরি ইন্টারফেস করতে সক্ষম হবেন না। রিলে বা মোটর ড্রাইভার ব্যবহার করে করা যেতে পারে এমন লিনিয়ার অ্যাকুয়েটর নিয়ন্ত্রণ করতে আপনাকে একটি মধ্যবর্তী উপাদান ব্যবহার করতে হবে।
রিলে
আলোচনা সাপেক্ষে এখানে, রিলে বৈদ্যুতিন চৌম্বকীয় সুইচগুলি যা স্যুইচটি খোলার এবং বন্ধ করার জন্য একটি কয়েলকে শক্তিশালী করে এবং ডি-এনার্জাইজ করে নিয়ন্ত্রিত হয়। আরডুইনো ওয়ান আই/ও পিন ব্যবহার করে কয়েলকে শক্তিশালী করে এবং ডি-এনার্জাইজ করে রিলে নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। আপনি যে ধরণের রিলে ব্যবহার করেন তার উপর নির্ভর করে আপনার লিনিয়ার অ্যাকুয়েটরের উপর আপনার কতটা নিয়ন্ত্রণ রয়েছে তা পরিবর্তন করবে তবে আরডুইনোর সাথে ইন্টারফেস করা বেশ সোজা এগিয়ে, কেবল একটি আই/ও পিন দিয়ে কয়েলকে শক্তিশালী করুন। আপনাকে নিশ্চিত করতে হবে যে কয়েলটির রেটেড ভোল্টেজটি আরডুইনো (5 ভি) এর অপারেটিং ভোল্টেজের চারপাশে রয়েছে বা আরডুইনো সুইচটি বন্ধ হওয়ার জন্য যথেষ্ট পরিমাণে কয়েলকে শক্তিশালী করতে সক্ষম হবে না।
উপরে দুটি এসপিডিটি রিলে কনফিগারেশন সহ একটি আরডুইনো ইন্টারফেসিংয়ের উদাহরণ রয়েছে। এই কনফিগারেশনে, যা এখানে বর্ণিত হয়েছে, দুটি রিলে ভোল্টেজের পোলারিটি লিনিয়ার অ্যাকুয়েটরের কাছে ফ্লিপ করার পাশাপাশি অ্যাকিউউটারের সাথে শক্তি সংযোগ বিচ্ছিন্ন করার জন্য ব্যবহৃত হয়। কোড উদাহরণে নীচে দেখানো হয়েছে, আরডুইনো পিন 7 কম থেকে কম সেট করে 2 সেকেন্ডের জন্য অ্যাকিউটরেটরটি প্রসারিত করতে শীর্ষ রিলে উত্সাহিত করবে, তারপরে উভয় পিনকে উচ্চতর করে সেট করে শীর্ষ রিলে ডি-এনার্জাইজ করে 2 সেকেন্ডের জন্য অ্যাকিউটরেটরটি বন্ধ করুন। অ্যাকুয়েটরটি প্রত্যাহার করার জন্য, আরডুইনো পিন 8 কে কম সেট করে দ্বিতীয় রিলে 2 সেকেন্ডের জন্য শক্তিশালী করবে, তারপরে সমস্ত পিনগুলি আবার উচ্চ করে সেট করে 2 সেকেন্ডের জন্য অ্যাকিউটরেটরটি বন্ধ করুন। যেহেতু এই কোডটি প্রোগ্রামের লুপ বিভাগে রয়েছে, আরডুইনো এই কোডটি বারবার পুনরাবৃত্তি করতে থাকবে। স্পষ্টতই, আপনি আপনার অ্যাপ্লিকেশনটির জন্য আরও মার্জিত কোডিং সমাধান প্রয়োগ করতে পারেন, তবে আপনি যদি আরও বেশি নিয়ন্ত্রণের সন্ধান করেন তবে আপনি মোটর ড্রাইভার ব্যবহার করতে চাইবেন।
https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78
/* Firgelli Automations
* Limited or no support: we do not have the resources for Arduino code support
*/
void setup() {
pinMode(7, OUTPUT); // Configure pin 7 as an Output
pinMode(8, OUTPUT); // Configure pin 8 as an Output
digitalWrite(7, HIGH); // Initialize pin 7 as Low
digitalWrite(8, HIGH); // Initialize pin 7 as Low
}
void loop() {
// Extend Linear Actuator
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
delay(2000); // 2 seconds
// Stops Actuator
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(2000); // 2 seconds
// Retracts Linear Actuator
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
delay(2000); // 2 seconds
// Stop Actuator
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(2000); // 2 seconds
}
মোটর ড্রাইভার
ক মোটর ড্রাইভার ডিসি মোটরগুলি নিয়ন্ত্রণ করার জন্য বিশেষত একটি সংহত সার্কিট ডিজাইন, যা ডিসি লিনিয়ার অ্যাকিউটেটরকে চালিত করে। মোটর ড্রাইভাররা সাধারণত দিকনির্দেশ এবং গতি নিয়ন্ত্রণ উভয়ের জন্য অনুমতি দেওয়ার জন্য একটি এইচ-ব্রিজ ব্যবহার করে। আপনার মোটর ড্রাইভারের সাথে কীভাবে আপনার আরডুইনোকে ঠিক সংযুক্ত করা যায় তা সঠিক মোটর ড্রাইভারের উপর নির্ভর করবে তবে এটি করার জন্য কমপক্ষে দুটি আই/ও পিনের প্রয়োজন হবে এবং এর মধ্যে একটি পিডব্লিউএম সিগন্যাল হবে। পিডব্লিউএম বা নাড়ি-প্রস্থের মড্যুলেশন অপারেটিং ভোল্টেজের চেয়ে কম কার্যকরভাবে সরবরাহ করার জন্য অন এবং অফ মানগুলির মধ্যে একটি সংকেত পরিবর্তনের একটি পদ্ধতি। মোটর ড্রাইভার তারপরে মোটরটি যে গতিতে চালিত হয় তা সামঞ্জস্য করতে এই সংকেতটি ব্যবহার করতে পারে।
উপরে আমাদের একটি উদাহরণ উচ্চ কারেন্ট ডিসি মোটর ড্রাইভ একটি আরডুইনো দিয়ে ইন্টারফেস করা। এই মোটর ড্রাইভারের জন্য, আপনাকে দুটি পিডব্লিউএম সিগন্যাল প্রেরণ করতে হবে, একটি অ্যাকুয়েটারকে প্রসারিত করার জন্য এবং অন্যটি প্রত্যাহার করতে হবে। পিডব্লিউএমকে একটি স্বাক্ষরবিহীন বাইট হিসাবে দেওয়া হয় যার অর্থ এটি 0, কোনও ভোল্টেজ থেকে 255, সর্বাধিক ভোল্টেজ (5 ভি) থেকে শুরু করে, যা মোটরের গতির সাথে সমানুপাতিক হবে। যেহেতু পিডব্লিউএম কোনও বাইনারি মান নয়, তাই আমাদের আরডুইনোর পিডব্লিউএম পিনগুলি ব্যবহার করতে হবে এবং এনালগ রাইট ফাংশনটি ব্যবহার করতে হবে, যেমন নীচের উদাহরণে দেখা গেছে। পিডব্লিউএম পিনগুলি আরডুইনোতে একটি ~ বা কেবল পিডব্লিউএম পিন হিসাবে লেবেলযুক্ত নির্দেশিত হবে।
https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4
/* Firgelli Automations
* Limited or no support: we do not have the resources for Arduino code support
*
* Program demos how a motor driver controls direction & speed of a linear actuator
*/
byte Speed = 0; // Intialize Varaible for the speed of the motor (0-255);
int RPWM = 10; //connect Arduino pin 10 to IBT-2 pin RPWM
int LPWM = 11; //connect Arduino pin 11 to IBT-2 pin LPWM
void setup() {
pinMode(10, OUTPUT); // Configure pin 10 as an Output
pinMode(11, OUTPUT); // Configure pin 11 as an Output
}
void loop() {
// Extend Actuator at Full Speed
Speed = 255;
analogWrite(RPWM, 0);
analogWrite(LPWM, Speed);
delay(2000); // 2 Seconds
// Stop Actuator
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(2000); // 2 Seconds
// Retract Actuator at Half Speed
Speed = 127;
analogWrite(RPWM, Speed);
analogWrite(LPWM, 0);
delay(2000); // 2 Seconds
// Stop Actuator
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(2000); // 2 Seconds
উপরের কোড উদাহরণে, আরডুইনো মোটর ড্রাইভারকে এলপিডাব্লুএম পিনে পিন 10 এর পুরো 5V পুরো 5V প্রেরণ করে পুরো গতিতে পুরো গতিতে অ্যাকিউউটারকে প্রসারিত করবে। তারপরে আরডুইনো মোটর ড্রাইভারের কোনও ইনপুট পিনে কোনও সংকেত না পাঠিয়ে অ্যাকিউউটারকে থামিয়ে দেয়। আরডুইনো তারপরে মোটর ড্রাইভার সিগন্যালটি অর্ধেক এবং অর্ধেক পিন 11 থেকে মোটর ড্রাইভারের উপর আরপিডাব্লুএম পিন পর্যন্ত অর্ধেক প্রেরণ করে অর্ধ গতিতে অ্যাকিউয়েটরটি প্রত্যাহার করে। তারপরে আবার অ্যাকুয়েটর থামিয়ে দেয়। যেহেতু এই কোডটি প্রোগ্রামের লুপ বিভাগে রয়েছে, আরডুইনো এই কোডটি বারবার পুনরাবৃত্তি করতে থাকবে। আবারও, আপনি আপনার অ্যাপ্লিকেশন অনুসারে আরও একটি মার্জিত কোডিং সমাধান প্রয়োগ করতে পারেন, বিশেষত যদি আপনি আপনার অ্যাকিউউটর নিয়ন্ত্রণ করতে ইনপুট যুক্ত করেন।
ইনপুট যুক্ত করা
একবার আপনি কোনও আরডুইনো দিয়ে আপনার অ্যাকিউটরেটর নিয়ন্ত্রণ করতে পারেন, তারপরে আপনি বৃহত্তর অটোমেশন এবং নিয়ন্ত্রণের জন্য আরডুইনোতে ইনপুটগুলি প্রয়োগ করতে পারেন। এই ইনপুট হতে পারে সুইচ, সেন্সরগুলির একটি বিস্তৃত পরিসীমা, বা এমনকি অ্যাকিউউটর নিজেই প্রতিক্রিয়া। যেহেতু ইনপুটগুলির জন্য বিস্তৃত বিকল্প রয়েছে, সেগুলি কীভাবে প্রয়োগ করা যায় তা পৃথক হবে তবে কয়েকটি সাধারণ পয়েন্ট রয়েছে যা আপনার জানা উচিত। যদি ইনপুটটি একটি স্যুইচের মতো একটি বাইনারি ইনপুট সরবরাহ করে তবে আপনি আরডুইনোতে ডিজিটাল পিনগুলি ব্যবহার করতে চাইবেন, যা বোর্ডে বা ডেটাশিটে লেবেলযুক্ত হবে এবং ডিজিটাল রিড () ফাংশনটি ব্যবহার করবে আরডুইনো আইডিই। যদি আপনার ইনপুট ডিভাইসটি একটি অ্যানালগ সিগন্যাল সরবরাহ করে তবে আপনাকে অ্যানালগ পিনগুলি ব্যবহার করতে হবে, যা বোর্ডে বা ডেটাশিটে লেবেলযুক্ত হবে এবং অ্যানালগ্রেড () ফাংশনটি ব্যবহার করতে হবে।