Arduino کے ساتھ پش بٹن کنٹرول

اس مثال میں ہم ایک کے ساتھ ایک لکیری کی سمت کو کنٹرول کریں گے Arduino اور دو ناپائیدار سوئچ. یہ سبق ٹیوٹوریل میں بحث اصولوں پر بناتا ہے "ایک Arduino کے ساتھ موٹر ڈرائیور کی رفتار کنٹرول"، ہم جاری رکھنے سے پہلے اس سبق کا جائزہ لینے کا مشورہ دیتے ہیں ۔

اس سبق کو دو حصوں میں ٹوٹ جاتا ہے: ناپائیدار موڈ (یعنی متحرک طور پر جب بٹن جاری کیا جاتا ہے منتقل کرنے کی روک تھام) اور پش بٹن برقرار رکھنے کے موڈ میں کام کرتے ہیں (یعنی جب بٹن جاری ہے تو بھی منتقل جاری رکھیں).

نوٹ: یہ سبق بنیادی الیکٹرانک اصولوں ، Arduino ہارڈ ویئر اور سافٹ ویئر کے ساتھ پہلے علم کی سنبھالی ہے. اگر Arduino کا استعمال کرتے ہوئے آپ کی پہلی بار ہم نے Google اور یو ٹیوب کی تلاش کے ذریعہ دستیاب بہت سے عظیم ابتدائی سبق میں سے ایک سے بنیادی طور پر سیکھنے کا مشورہ دیتے ہیں. براہ کرم آگاہ رہیں کہ ہم اپنی مرضی کے مطابق ایپلی کیشنز کے لئے تکنیکی مدد فراہم کرنے کے وسائل نہیں رکھتے ہیں اور ان عوامی طور پر دستیاب سبق کے باہر diagrams کو ٹھیک نہیں ، ترمیم ، کوڈ یا وائرنگ فراہم نہیں کریں گے.

اجزاء

وائرنگ

Arduino کے ساتھ پش بٹن کنٹرول

ناپائیدار کنٹرول کے لئے ہارڈ ویئر اور سافٹ ویئر کا جائزہ

ناپائیدار سوئچ استعمال کیا جاتا ہے جب آپ صرف جب بٹن دبایا جاتا ہے تو متحرک طور پر منتقل کرنا چاہتے ہیں ، جب بٹن جاری کیا جاتا ہے تو آپ خود کار طریقے سے منتقل کر دیں گے. ذیل میں کوڈ اپ لوڈ کریں.

کوڈ برائے ناپائیدار کنٹرول

https://gist.github.com/Will-Firgelli/aeee209bda6b2246359eed70ec353eb8

COPY
/* 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 اور GND سے منسلک ، پھر ذیل میں پروگرام اپ لوڈ کریں. جب بٹن جاری ہے تو متحرک طور پر منتقل نہیں کرے گا ، یہ نیا سوئچ ایک "سٹاپ" بٹن پر عمل کرے گا.

کنٹرول برقرار رکھنے کے لیے ضابطہ

https://gist.github.com/Will-Firgelli/2b96dce14c0cee7a0009e61e47cc5f67
COPY
/* 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);
  } 
}
Share This Article
Tags: