Casharradan waa qayb ka mid ah: Matoorada Servo
Dhammaan fiidiyowyada la xiriira matoorada servo ee la xiriira, halkan ayaa lagu taxay. Xiriirinta fiidiyowyada kale waxay ku yaalliin maqaalkan hoose.
Xakameynta Moterka Servo ee Arduino iyadoo la adeegsanayo Potentiometer
Casharakan, waxaan ku sahmin doonaa sida loo xakameeyo mishiinka servo adigoo isticmaalaya potentiometer oo leh Arduino. Ujeedadu waa in la sameeyo wareeg fudud halkaas oo booska servo la hagaajinayo iyadoo lagu saleynayo wareegga potentiometer-ka. Dhamaadka mashruucan, waxaad yeelan doontaa moodel shaqeynaya oo si siman u beddelaya xagalka servo laga bilaabo 0 ilaa 180 darajo markaad rogto potentiometer-ka. Tani waa hab weyn oo lagu fahmo aasaaska gelinta analoogga ah iyo xakameynta servo ee Arduino.
Si aad tan u gaadho, waxaanu isticmaali doonaa guddiga Arduino, mishiinka servo, iyo potentiometer. Potentiometer-ku wuxuu u shaqeeyaa sidii iska caabin isbeddel ah, isagoo siinaya gelin analog ah Arduino, kaas oo markaa go'aamin doona booska mishiinka servo sida ku xusan. Mashruucan ma aha oo kaliya madadaalo laakiin sidoo kale waxbarasho, maadaama uu muujinayo fikradaha muhiimka ah ee korontada iyo barnaamijyada. Si aad u hesho sharaxaad qoto dheer, hubi inaad eegto fiidiyowga (fiidiyowga ku jira 00:00).
Qalabka la Sharxay
Mashruucan, qaybaha ugu muhiimsan waa guddiga Arduino, mishiinka servo, iyo potentiometer. Arduino waa maskaxda hawlgalka, oo ka shaqeysa gelinta iyo xakameynta wax soo saarka. Mishiinka servo waa waxa si jir ahaan u dhaqaaqi doona iyadoo ku saleysan amarrada uu ka helo Arduino. Potentiometer-ka wuxuu noqon karaa 1k ohm ilaa 1M ohm, wuxuuna u oggolaanayaa isticmaaleyaasha inay bixiyaan gelin isbeddel ah oo u tarjumaysa dhaqdhaqaaqa servo.
Mashiinka servo wuxuu shaqeeyaa isagoo helaya calaamad PWM (Pulse Width Modulation) ah oo muujinaysa booska la rabo. Potentiometer-ka, marka la jeexjeexo, wuxuu beddelaa iska caabinta, taasoo ay akhrido Arduino sida koronto analoog ah. Mashiinka Servo wuxuu ku shaqeeyaa 5V. Ma shaqeeyo 3.3V. Korontadan ayaa markaas loo qoondeeyaa xadka dhaqdhaqaaqa mashiinka servo, taasoo u oggolaanaysa dhaqdhaqaaq siman oo u dhexeeya 0 digrii ilaa 180 digrii.
Faahfaahinta Warqadda Xogta ee Mashiinka Servo SG90
| Soosaar | Parallax |
|---|---|
| Lambarka qaybta | SG90 |
| Voltage-ka loogiga/IO | 5 V |
| Koronto sahayada | 4.8-6 V |
| Hawada hadda (kanaal kasta) | ~500 mA |
| Culayska ugu sarreeya (kanaal kasta) | 1 A |
| Hagaha soo noqnoqoshada PWM | 50 Hz |
| Xadka loogaga talagalay gelinta | 0.5 V (hoose), 2.5 V (sare) |
| Hoos u dhaca koronto / RDS(on)/ buuxinta | 0.5 V oo 500 mA |
| Xadidaheeda kulaylka | 0°C ilaa 60°C |
| Baakidhka | Servo heerka 9g |
| Xusuusin / noocyo | Siyaab ahaan loo isticmaalo codsiyada RC |
- Hubi in servo-gu uusan ka badin qiimaha ugu badan ee hadda.
- Isticmaal heat sink haddii servo-gu si joogto ah u shaqeeyo culeysyo sarreeya.
- Ku xidh potensiometer-ka pin analog ah si loo helo akhris sax ah.
- Ka taxaddar waqtiga calaamadda PWM ee xakamaynta servo.
- Hubi xadka dhaqdhaqaaqa servo si aad uga fogaato caqabadaha jireed.
Tilmaamaha Xadhigga


Si aad u dejiso, waxaad u baahan doontaa inaad ku xidhid qaybaha sida soo socota:
Ku xir pin-ka dhexe ee potentiometer-ka (wiper) pin-ka analog-ka ee Arduino.A0Laba laba pins ee potentiometer-ka waa in lagu xiraa5ViyoGNDArduino. Moterka servo, ku xir xadhigga cas ilaa5V, xargaha madow ilaaGND, iyo xadhigga huruudda ama caddaanka ahna pin dijital ah9Arduino-da. Qaabkan wuxuu u oggolaanayaa potentiometer-ka inuu bixiyo gelin analog ah oo ku saabsan Arduino, kaas oo xakameyn doona booska mishiinka servo iyadoo lagu saleynayo gelintaas.
Hubi inaad xaqiijiso dhammaan xiriirada oo aad hubiso in servo-gu aanu ku xannibanaynin xadka dhaqdhaqaaqa. Haddii aad isticmaalayso nooc kale oo Arduino ah, xaqiiji in qoondeynta pins-ka ee gelinta analog iyo soo saarka servo ay is waafaqsan yihiin.
Tusaalooyinka Koodhka & Socodka
Hooska waxaa ku qoran qayb ka mid ah koodhka oo dejinaya servo-ga iyo akhrinta qiimaha potentiometer-ka:
#include
Servo myservo; // create servo object to control a servo
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
Koodhkan, waxaan ku darnaa maktabadda Servo oo aan abuurnaa shay servo ah oo la yiraahdomyservo. Servo-ga waxaa lagu xidhay pin9, taasoo noo ogolaanaysa inaan ku xakameyno isticmaalka pin-kan.
void loop() {
int sensorValue = analogRead(A0); // read the potentiometer
pos = map(sensorValue, 0, 1023, 0, 180); // map to servo position
myservo.write(pos); // move servo to position
delay(15); // waits 15ms for the servo to reach the position
}
Hawsha loop-ka, waxaan ka akhrinaa qiimaha potentiometer-ka pinA0iyo ka khariidso xadka (0-1023) ilaa xadka servo (0-180 darajo). myservo.write(pos)amarka ayaa markaas u dhaqaaqda servo-ga si uu u gaadho booska la rabo iyadoo lagu saleynayo wareegga potentiometer-ka.
Muuqaal / Waxa La Filayo
Marka aad barnaamijkan ordo, waa in aad aragto mishiinka servo oo si siman uga dhaqaaqaya 0 ilaa 180 darajo marka aad rogto potentiometer-ka. Haddii servo-gu uusan u dhaqaaqin sidii la filayay, hubi xargaha oo xaqiiji in potentiometer-ku si sax ah u shaqeynayo. Intaas waxaa dheer, hubi in Arduino-gu si sax ah loo koriyo iyo in koodhka la geliyay aanay khaladaad lahayn. Waxaad filan kartaa in servo-gu uu muujinayo booska potentiometer-ka waqtiga dhabta ah (fiidiyowga 02:00).
Video Timestamps
- 00:00- Hordhaca mashruuca
- 01:30- Sharaxaada dejinta qalabka
- 03:45- Tilmaamaha xadhigga
- 05:00- Socodka koodhka
- 07:30- Muuqaalka mashruuca dhameystiran
Casharradan waa qayb ka mid ah: Matoorada Servo
- Xakamaynta Servo-ga iyadoo la isticmaalayo Buttons-ka Riixaya iyadoo la isticmaalayo Arduino
- Control a Servo Motor with a Push Button: Move Servo and Return SPB-1
- Control a Servo Motor with a Push Button: Move Servo in One Direction SPB-2
- Controlling a Servo Motor with a Push Button: Move Servo While Button Is Pressed (SPB-3)
- Xakamaynta Servo-ga iyadoo la isticmaalayo Potentiometer iyadoo la adeegsanayo Arduino
- Xakamaynta Servo-ga iyadoo la isticmaalayo Potentiometer iyo LCD1602 iyadoo la adeegsanayo Arduino
- Kontoroolka Matoorka Servo iyadoo la isticmaalayo Remote Infrared ah oo leh Arduino
- Xakameynta Meesha Servo iyadoo la adeegsanayo Gacmaha ee Arduino
- Controlling Two or More Servos with Potentiometers Using an Arduino
- How to Control a 360° Servo with Three Push-Button Switches
- Sida loo isticmaalo Servo 360° oo joogto ah oo leh Arduino
- Koodhka Arduino iyo Fiidiyowga ee PCA9685 16-Kanaal 12-Bit Kontoroolaha Servo V1
- Dhis Arduino Servo Toggle Switch ku sameeyo oo leh Push Button
/**
*Original source: Arduino IDE
* Arduino Project: Controlling the servo position
* This code is used with a video tutorial for Robojax.com
* Published on April 24, 2017, from Ajax, ON, Canada.
* Written/Edited by Ahmad Shamshiri
* Watch the video on YouTube: https://youtu.be/kZ9b31gVemc
* View tutorial page for this code https://robojax.com/RJT8
* Controlling a servo position using a potentiometer (variable resistor)
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
Kheyraadka & Tixraacyada
Wali wax kaydsan ah oo weli ma jiro.
Faylasha📁
Waraaqa xogta (pdf)
-
sg90_serveo_motor_datasheet
sg90_serveo_motor_datasheet.pdf0.13 MB