সহজ আরডুইনো প্রজেক্ট: একটি পুশবাটন দিয়ে সার্ভো ১৮০ ডিগ্রি থেকে ০ ডিগ্রি এবং আবার ফিরিয়ে নিয়ন্ত্রণ করুন
ভূমিকা
এই নিবন্ধটি একটি সাধারণ 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
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
কোনো ফাইল উপলব্ধ নেই।