Aikin Arduino mai sauƙi: Sarrafa Servo da Maɓallin Turawa digiri 180 zuwa 0 da dawowa
Gabatarwa
Wannan labarin yana bayyana wani aiki mai sauƙi na Arduino wanda ke amfani da maɓallin turawa don sarrafa motar servo. Motar servo mota ce mai madaidaici wacce za ta iya juyawa zuwa wani takamaiman wuri, wanda ya sa ta dace da aikace-aikace kamar robotics da sarrafa kai. Wannan aikin zai sa servo ya motsa daga 0 zuwa 180 digiri lokacin da aka danna maɓallin kuma ya koma 0 lokacin da aka sake shi.
Abubuwan Aikin da Haɗin Waya
Za ku buƙaci allo na Arduino, motar servo, da maɓallin turawa.
Umarnin Haɗin Waya:
- Motar Servo: Haɗa wayar sigina (yawanci rawaya/orange) zuwa pin 3 na Arduino, wayar wutar lantarki (ja) zuwa 5V, da wayar ƙasa (baƙi/launin ruwan kasa) zuwa GND.
- Maɓallin Turawa: Haɗa ƙafa ɗaya zuwa digital pin 2 da ɗayan ƙafa zuwa pin na GND. Shi ke nan! Ta amfani da resistor na ciki na Arduino, ba ku buƙatar resistor na waje.
Bayanin Lambar
An raba shirin zuwa manyan sassa uku: ma'anar pin, aikin setup(), da aikin loop().
Ma'anar Pin
Wannan sashe yana saita ɗakunan karatu da ake buƙata kuma yana ba da sunaye masu ma'ana ga pins ɗin da kuke amfani da su.
#include <Servo.h>
const int servoPin = 3;
const int buttonPin = 2;
Servo myServo;
Aikin setup()
Aikin setup() yana ƙunshe da lambar da ke gudana sau ɗaya kawai lokacin da aka kunna ko sake saita allo na Arduino. Ana amfani da shi don saitin farko.
void setup() {
myServo.attach(servoPin);
pinMode(buttonPin, INPUT_PULLUP);
myServo.write(0);
}
Canjin mahimmanci shine pinMode(buttonPin, INPUT_PULLUP);. Wannan yana kunna resistor na ciki wanda ke ɗaga wutar pin ɗin zuwa HIGH. Lokacin da kuka danna maɓallin, yana haɗa pin ɗin zuwa ƙasa, kuma wutar ta faɗi zuwa LOW.
Aikin loop()
Aikin loop() yana ƙunshe da babban dabaru na shirin kuma yana gudana akai-akai har abada bayan aikin setup() ya ƙare.
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
myServo.write(180);
} else {
myServo.write(0);
}
}
Dabaru a nan yanzu an juyar da su. Tun da danna maɓallin yana haifar da sigina na LOW, ana amfani da yanayin if (buttonState == LOW) don motsa servo zuwa digiri 180.
#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);
}
}
Abin da zaka iya bukata
-
AmazonServo motor on Amazonamzn.to
-
AliExpressPurchase SG90 Servo motor 180 or 360 from AliExpresss.click.aliexpress.com
Albarkatun da kuma shafukan da za a duba
Babu kayan aiki tukuna.
Fayiloli📁
Babu fayiloli da ake da su.