এই উদাহরণে আমরা একটি আরডুইনো এবং দুটি মুহূর্তের স্যুইচ সহ একটি লিনিয়ার অ্যাকুয়েটরের দিকটি নিয়ন্ত্রণ করব। এই টিউটোরিয়াল টিউটোরিয়ালে আলোচিত নীতিগুলির উপর ভিত্তি করে "একটি আরডুইনো সহ মোটর চালকের গতি নিয়ন্ত্রণ”, আমরা চালিয়ে যাওয়ার আগে এই টিউটোরিয়ালটি পর্যালোচনা করার পরামর্শ দিই।
এই টিউটোরিয়ালটি দুটি ভাগে বিভক্ত: মুহুর্তের মোডে অভিনয় করা ধাক্কা বোতামগুলি (অর্থাত্ বোতাম প্রকাশিত হওয়ার সময় অ্যাকিউটুয়েটারগুলি চলন্ত বন্ধ করে দেয়) এবং টেকসই মোডে অভিনয় করা বোতামগুলিকে ধাক্কা দেয় (অর্থাত্ বোতাম প্রকাশিত হওয়ার পরেও অ্যাকুয়েটরে চলতে থাকে)।
দ্রষ্টব্য: এই টিউটোরিয়ালটি প্রাথমিক বৈদ্যুতিন নীতিগুলি, আরডুইনো হার্ডওয়্যার এবং সফ্টওয়্যার সহ পূর্ববর্তী জ্ঞান ধারণ করে। যদি এটি আপনার প্রথমবারের মতো আরডুইনো ব্যবহার করে থাকে তবে আমরা গুগল এবং ইউটিউব অনুসন্ধানের মাধ্যমে উপলব্ধ অনেক দুর্দান্ত প্রাথমিক টিউটোরিয়ালগুলির মধ্যে একটি থেকে বেসিকগুলি শিখার পরামর্শ দিই। দয়া করে সচেতন হন যে আমাদের কাছে কাস্টম অ্যাপ্লিকেশনগুলির জন্য প্রযুক্তিগত সহায়তা দেওয়ার সংস্থান নেই এবং এই সর্বজনীনভাবে উপলব্ধ টিউটোরিয়ালের বাইরে ডিবাগ, সম্পাদনা, কোড বা তারের ডায়াগ্রামগুলি করব না।
উপাদান
- 12 ভি লিনিয়ার অ্যাক্টিভেটর
- 12 ভি বিদ্যুৎ সরবরাহ
- আরডুইনো
- মোটর ড্রাইভার
- দুটি মুহূর্তের বোতাম (latচ্ছিকভাবে ল্যাচিং নিয়ন্ত্রণের জন্য তৃতীয় বোতাম)
- সংযোগ তৈরির জন্য বৈদ্যুতিক তারগুলি এবং সরঞ্জাম বা সোল্ডারিং লোহা ক্রিম্পিংয়ের জন্য
তারের
ক্ষণিকের নিয়ন্ত্রণের জন্য হার্ডওয়্যার এবং সফ্টওয়্যার ওভারভিউ
মুহূর্তের স্যুইচগুলি ব্যবহৃত হয় যখন আপনি কেবল বাটনটি টিপে চলার সময় অ্যাকিউউটরটি সরাতে চান, বোতামটি প্রকাশিত হলে অ্যাকিউউটরটি স্বয়ংক্রিয়ভাবে চলানো বন্ধ করবে। নীচের কোডটি আপলোড করুন।
ক্ষণিকের নিয়ন্ত্রণের জন্য কোড
https://gist.github.com/Will-Firgelli/aeee209bda6b2246359eed70ec353eb8
/* Firgelli Automations
* Limited or no support: we do not have the resources for Arduino code support
*
* Program enables momentary direction control of actuator using push button
*/
int RPWM = 10; //connect Arduino pin 10 to IBT-2 pin RPWM
int LPWM = 11; //connect Arduino pin 11 to IBT-2 pin LPWM
int downPin = 12;
int upPin = 13;
int Speed = 255; //choose any speed in the range [0, 255]
void setup() {
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(downPin, INPUT_PULLUP);
pinMode(upPin, INPUT_PULLUP);
}
void loop() {
if(digitalRead(upPin)==LOW){ //check if extension button is pressed
analogWrite(RPWM, 0);
analogWrite(LPWM, Speed);
}
else if(digitalRead(downPin)==LOW){ //check if retraction button is pressed
analogWrite(RPWM, Speed);
analogWrite(LPWM, 0);
}
else{ //if no button is pushed, remain stationary
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
}
}
নিয়ন্ত্রণ বজায় রাখার জন্য হার্ডওয়্যার এবং সফ্টওয়্যার ওভারভিউ
বিকল্পভাবে, কখনও কখনও আপনি ল্যাচিং বোতামটি ব্যবহার করতে ইচ্ছুক হতে পারেন; আপনি যখন একটি বোতাম টিপবেন তখন অ্যাকিউউটরটি সরান এবং তারপরে আপনি বোতামটি ছেড়ে দিলে চলতে থাকুন। এটি অর্জনের জন্য আপনাকে আরও একটি স্যুইচ যুক্ত করতে হবে, পিন 8 এবং জিএনডি সংযুক্ত, তারপরে নীচের প্রোগ্রামটি আপলোড করুন। যেহেতু বোতামটি প্রকাশিত হয় তখন ভারপ্রাপ্ত পরিচালক চলাচল বন্ধ করবে না, তাই এই নতুন স্যুইচটি "স্টপ" বোতামটির কাজ করবে।
নিয়ন্ত্রণ বজায় রাখার জন্য কোড
https://gist.github.com/Will-Firgelli/2b96dce14c0cee7a0009e61e47cc5f67/* Firgelli Automations
* Limited or no support: we do not have the resources for Arduino code support
*
* Program enables latching direction control of actuator using push button
*/
int RPWM = 10; //connect Arduino pin 10 to IBT-2 pin RPWM
int LPWM = 11; //connect Arduino pin 11 to IBT-2 pin LPWM
int stopPin = 8;
int downPin = 12;
int upPin = 13;
int Speed = 255; //choose any speed in the range [0, 255]
void setup() {
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(stopPin, INPUT_PULLUP);
pinMode(downPin, INPUT_PULLUP);
pinMode(upPin, INPUT_PULLUP);
}
void loop() {
if(digitalRead(upPin)==LOW){ //check if extension button is pressed
analogWrite(RPWM, 0);
analogWrite(LPWM, Speed);
}
else if(digitalRead(downPin)==LOW){ //check if retraction button is pressed
analogWrite(RPWM, Speed);
analogWrite(LPWM, 0);
}
else if(digitalRead(stopPin)==LOW){ //check if retraction button is pressed
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
}
}