آسان آرڈوینو پروجیکٹ: پش بٹن سے سروو کو 180 ڈگری سے 0 اور واپس کنٹرول کریں
تعارف
یہ مضمون ایک سادہ Arduino پروجیکٹ کی وضاحت کرتا ہے جو ایک پش بٹن کے ذریعے سروو موٹر کو کنٹرول کرتا ہے۔ ایک سروو موٹر ایک درست موٹر ہے جو کسی مخصوص پوزیشن تک گھوم سکتی ہے، جو اسے روبوٹکس اور آٹومیشن جیسی ایپلیکیشنز کے لیے مثالی بناتی ہے۔ یہ پروجیکٹ بٹن دبانے پر سروو کو 0 سے 180 ڈگری تک حرکت دے گا اور چھوڑنے پر 0 پر واپس آئے گا۔
پروجیکٹ کے اجزاء اور وائرنگ
آپ کو ایک Arduino بورڈ، ایک سروو موٹر، اور ایک پش بٹن درکار ہوگا۔
وائرنگ ہدایات:
- سروو موٹر: سگنل تار (عام طور پر پیلا/نارنجی) کو Arduino پن 3 سے جوڑیں، پاور تار (سرخ) کو 5V سے، اور گراؤنڈ تار (سیاہ/براؤن) کو GND سے جوڑیں۔
- پش بٹن: ایک ٹانگ کو ڈیجیٹل پن 2 سے اور دوسری ٹانگ کو GND پن سے جوڑیں۔ بس! Arduino کے اندرونی پل-اپ ریزسٹر کے استعمال سے، آپ کو بیرونی ریزسٹر کی ضرورت نہیں ہے۔
کوڈ کی وضاحت
پروگرام کو تین اہم حصوں میں تقسیم کیا گیا ہے: پن کی تعریفیں، setup() فنکشن، اور loop() فنکشن۔
پن کی تعریفیں
یہ سیکشن مطلوبہ لائبریریاں ترتیب دیتا ہے اور آپ کے استعمال کردہ پنوں کو معنی خیز نام تفویض کرتا ہے۔
#include <Servo.h>
const int servoPin = 3;
const int buttonPin = 2;
Servo myServo;
setup() فنکشن
setup() فنکشن میں وہ کوڈ ہوتا ہے جو Arduino بورڈ کے آن ہونے یا ری سیٹ ہونے پر صرف ایک بار چلتا ہے۔ یہ ابتدائی ترتیب کے لیے استعمال ہوتا ہے۔
void setup() {
myServo.attach(servoPin);
pinMode(buttonPin, INPUT_PULLUP);
myServo.write(0);
}
اہم تبدیلی pinMode(buttonPin, INPUT_PULLUP); ہے۔ یہ ایک اندرونی ریزسٹر کو فعال کرتا ہے جو پن کی وولٹیج کو HIGH پر کھینچتا ہے۔ جب آپ بٹن دباتے ہیں، تو یہ پن کو گراؤنڈ سے جوڑتا ہے، اور وولٹیج LOW پر گر جاتی ہے۔
loop() فنکشن
loop() فنکشن میں مرکزی پروگرام منطق ہوتی ہے اور یہ setup() فنکشن کے ختم ہونے کے بعد بار بار ہمیشہ چلتا ہے۔
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
myServo.write(180);
} else {
myServo.write(0);
}
}
یہاں منطق اب الٹ ہے۔ چونکہ بٹن دبانے سے LOW سگنل ملتا ہے، اس لیے سروو کو 180 ڈگری تک منتقل کرنے کے لیے if (buttonState == LOW) شرط استعمال کی جاتی ہے۔
#include <Servo.h>
/*
This is sketch for controlling servo motor. when push button is pressed, the servo moves to 180 degreees and stays there. when the push button is released, the servo motor returns back to 0 degree.
*/
// Define the pin for the servo motor
const int servoPin = 3;
// Define the pin for the push button
const int buttonPin = 2;
// Create a Servo object
Servo myServo;
void setup() {
// Attach the Servo object to the servo pin
myServo.attach(servoPin);
// Set the button pin as an input
pinMode(buttonPin, INPUT);
// Start the servo at 0 degrees
myServo.write(0);
}
void loop() {
// Read the state of the push button
int buttonState = digitalRead(buttonPin);
// If the button is pressed (HIGH)
if (buttonState == HIGH) {
// Move the servo to 180 degrees
myServo.write(180);
} else {
// If the button is released (LOW), move the servo back to 0 degrees
myServo.write(0);
}
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزونServo motor on Amazonamzn.to
-
علی ایکسپریسPurchase SG90 Servo motor 180 or 360 from AliExpresss.click.aliexpress.com
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
کوئی فائلیں دستیاب نہیں ہیں۔