Search Code

Mashruuc Arduino Fudud: Xakamaynta Servo-ga Pushbutton 180 darajo ilaa 0 iyo dib

Mashruuc Arduino Fudud: Xakamaynta Servo-ga Pushbutton 180 darajo ilaa 0 iyo dib

Hordhac

Maqaalkani wuxuu sharxayaa mashruuc fudud oo Arduino ah oo isticmaalaya badhan riixid si loo xakameeyo matoor servo ah. Matoor-ka servo waa matoor sax ah oo u wareegi kara meel gaar ah, taasoo ka dhigaysa mid ku habboon codsiyada sida robotics iyo automation. Mashruucani wuxuu ka dhigi doonaa servo inuu ka dhaqaaqo 0 ilaa 180 darajo marka badhanka la riixo oo uu ku soo laabto 0 marka la sii daayo.

Qaybaha Mashruuca iyo Xiriirinta

Waxaad u baahan doontaa sabuurad Arduino ah, matoor servo ah, iyo badhan riixid.

Tilmaamaha Xiriirinta:

  • Matoor-ka Servo: Ku xidh siliga signal-ka (badanaa jaalle/oranji) ee Arduino pin 3, siliga korontada (guduudan) ee 5V, iyo siliga dhulka (madow/bunni) ee GND.
  • Badhanka Riixid: Ku xidh hal lug pin-ka dijitaalka ah ee 2 iyo lugta kale pin-ka GND. Waa taas! Adigoo isticmaalaya resistor-ka gudaha ee Arduino ee kor u soo jiidaya, uma baahnid resistor dibadeed.

 

Koodhka La Sharxay

Barnaamijku wuxuu u qaybsan yahay saddex qaybood oo waaweyn: qeexida pin-ka, shaqada setup(), iyo shaqada loop().

Qeexida Pin-ka

Qaybtani waxay dejisaa maktabadaha loo baahan yahay waxayna u magacowdaa magacyo macno leh pin-yada aad isticmaalayso.

#include <Servo.h>

const int servoPin = 3;
const int buttonPin = 2;

Servo myServo;

Shaqada setup()

Shaqada setup() waxay ka kooban tahay koodh ku shaqeeya hal mar oo keliya marka sabuuradda Arduino la shido ama la cusboonaysiiyo. Waxaa loo isticmaalaa qaabaynta bilowga ah.

void setup() {
  myServo.attach(servoPin);
  pinMode(buttonPin, INPUT_PULLUP);
  myServo.write(0);
}

Isbeddelka muhiimka ah waa pinMode(buttonPin, INPUT_PULLUP);. Tani waxay firimisaa resistor gudaha ah oo kor u soo jiidaya danabka pin-ka ilaa HIGH. Markaad riixdo badhanka, wuxuu ku xidhaa pin-ka dhulka, danabkuna wuxuu hoos u dhacaa ilaa LOW.

Shaqada loop()

Shaqada loop() waxay ka kooban tahay macquulka ugu weyn ee barnaamijka waxayna si joogto ah u shaqeysaa weligeed ka dib marka shaqada setup() la dhammeeyo.

void loop() {
  int buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) {
    myServo.write(180);
  } else {
    myServo.write(0);
  }
}

Macquulka halkan waa la rogay. Maaddaama riixista badhanka ay keento calaamad LOW, shardiga if (buttonState == LOW) ayaa loo isticmaalaa in servo-ga loo dhaqaajiyo 180 darajo.

Sawirro

Arduino wiring for Servo motor with a push button
Arduino wiring for Servo motor with a push button
795-Ardunino code to control servo motor using a push button to move between 180 and zero degree
Luqadda: C++
#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);
  }
}

Waad u baahan tahay

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Fayl la'aan.