Ikẹkọ yii jẹ apakan ti: Àwọn Ẹ̀rọ Iṣẹ́-Ẹ̀rọ
Gbogbo awọn fidio ti o ni ibatan si awọn ẹrọ servo ti o ni ibatan, ti a ṣe akojọ si ibi. Awọn ọna asopọ si awọn fidio miiran wa ni isalẹ nkan yii.
Bí Ọ̀nà Láti Lo Servo 360° Tí Ó Máa ń Yí Po Pẹ̀pẹ̀ pẹ̀lú Arduino
Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe ń ṣàkóso servo 360° tí ń yípo nígbà gbogbo pẹ̀lú Arduino. Yàtọ̀ sí servo tí ó wọ́pọ̀, servo tí ń yípo nígbà gbogbo lè yípo láìdáwọ́dúró ní èyíkéyìí nínú àwọn ìtọ́nà méjèèjì, tí ó ń ṣí ọ̀nà fún àwọn ìlò púpọ̀. Bí ó ti wù kí ó rí, ṣíṣàkóso ipò wọn nílò òye àwọn àṣẹ tí a rán sí wọn àti ìdánwò díẹ̀ láti rí àwọn iye ìdúró tí ó tọ́.
A óò ṣe àgbéjáde ètò kan tí yóò jẹ́ kí a rán àwọn àṣẹ nípasẹ̀ Serial Monitor láti yí servo náà sí òsì, ọ̀tún, tàbí láti dá a dúró. Kóòdù náà yóò ní ìmọ̀ tí ó pọn dandan láti túmọ̀ àwọn iye ASCII ti àwọn àṣẹ tí a tẹ̀ sílẹ̀. Fún ìṣàlàyé nípa ìlànà kíkọ kóòdù, rí i dájú pé o wo fídíò náà (nínú fídíò ní 12:30).
Ohun èlò tí a ṣàlàyé
Láti ṣe ìmúṣẹ iṣẹ́-ọwọ́ yìí, o nílò servo 360° tí ń yípo nígbà gbogbo, bọọdù Arduino kan, àti ìpèsè agbára tí ó lè pèsè ìṣàn tí ó tó (ó kéré tán 500mA). Servo náà gba àwọn àmì ìṣàkóso láti ọ̀dọ̀ Arduino, tí ó ń lo pulse width modulation (PWM) láti sọ ìtọ́nà àti ìyára yípo.
Mọ́tọ̀ servo fúnra rẹ̀ ní àwọn wáyà mẹ́ta: agbára, ilẹ̀, àti ìṣàkóso. Wáyà agbára náà ń sopọ̀ mọ́ ìpèsè agbára, wáyà ilẹ̀ náà ń sopọ̀ mọ́ ìpèsè agbára àti ilẹ̀ Arduino, àti wáyà ìṣàkóso náà ń sopọ̀ mọ́ pínì kan tí a yàn lórí Arduino fún gbígbé àmì ìṣàkóso.
Àwọn àlàyé Datasheet
| Olùṣelọpọ | Generic |
|---|---|
| Nọ́mbà apá | Servo 360° tí ń yípo nígbà gbogbo |
| Fóltì Logic/IO | 5 V |
| Fóltì ìpèsè | 4.8–6 V |
| Ìṣàn jáde (fún ikanni) | 500 mA |
| Ìṣàn tó ga jùlọ (fún ikanni) | 1 A max |
| Ìtọ́sọ́nà ìgbohùnsáfẹ́fẹ́ PWM | 50 Hz |
| Àwọn ìpele ìṣàkóso tí a fi síi | Gíga: >2.5 V, Kekere: <0.8 V |
| Ìrẹwẹ̀sì fóltì / RDS(on) / ìkún | — |
| Àwọn ààlà ooru | — |
| Àpótí | Ìgbàlódé servo housing |
| Àwọn àkíyèsí / àwọn oríṣiríṣi | Wà ní ọ̀pọ̀lọpọ̀ àwọn ìwọ̀n |
- Rí i dájú pé ilẹ̀ kan wà láàrin Arduino àti ìpèsè agbára.
- Lo ìpèsè agbára òde fún servo láti yẹra fún dídi Arduino lórí.
- Dánwò pẹ̀lú àwọn iye ìdúró láti rí iṣẹ́ tí ó dára jùlọ fún servo rẹ.
- Ṣàkíyèsí ìwọ̀n-otútù servo nígbà tí ó ń ṣiṣẹ́ láti yẹra fún gbígbóná janjan.
- Lo àmì PWM kan láti ṣàkóso ìyára àti ìtọ́nà yípo servo.
Àwọn ìtọ́nà ìsopọ̀ wáyà
Láti so servo 360° tí ń yípo nígbà gbogbo rẹ mọ́ Arduino, bẹ̀rẹ̀ nípa sísopọ̀ wáyà agbára servo náà mọ́ ìpèsè agbára òde kan tí ó pèsè 5V. Wáyà ilẹ̀ servo náà yẹ kí ó sopọ̀ mọ́ pínì ilẹ̀ (GND) lórí Arduino, ní ríri dájú pé ìpèsè agbára àti Arduino pín ilẹ̀ kan. Wáyà ìṣàkóso servo náà yóò lọ sí pínì 9 lórí Arduino, níbi tí àmì PWM yóò ti wá.
Ṣàbẹ̀wò lẹ́ẹ̀mejì pé àwọn ìsopọ̀ rẹ ṣe dáradára, nítorí àwọn ìsopọ̀ tí kò ṣe dáradára lè yọrí sí ìwà servo tí kò dúró ṣinṣin. Bí servo rẹ bá jẹ́ irú tí a lè fi agbára pèsè fún taara láti ọ̀dọ̀ Arduino, o lè so wáyà agbára náà mọ́ pínì 5V Arduino, ṣùgbọ́n rí i dájú pé ìṣàn lápapọ̀ kò ju èyí tí Arduino lè pèsè lọ.
Àwọn àpẹẹrẹ Kóòdù & Ìṣàlàyé
Ìyọ̀kù tí ó tẹ̀le yìí ṣàfihàn bí a ṣe ń ṣètò servo náà àti kíkà àwọn àṣẹ láti Serial Monitor:
#include
Servo myservo; // ṣẹ̀dá ohun èlò servo láti ṣàkóso servo kan
int incomingByte = 0; // fún data serial tí ń bọ̀
void setup() {
Serial.begin(9600);
myservo.attach(9); // so servo náà mọ́ pínì 9 mọ́ ohun èlò servo
}
Nínú ìyọ̀kù kóòdù yìí, a fi ìkàwé Servo sílẹ̀ àti ṣẹ̀dá ohun èlò servo kan tí a ń pè ní myservo. A tún ṣètò ìbánisọ̀rọ̀ serial ní 9600 baud àti so servo náà mọ́ pínì 9.
Ní ìgbà tí ó tẹ̀le, a ní ìyipo àkọkọ níbi tí a ti ń kà data serial tí ń bọ̀ àti ṣàkóso servo náà nípa àwọn àṣẹ:
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
if (incomingByte == 108) { // àṣẹ 'L'
myservo.write(0); // yípo ní ìtọ́nà aago
} else if (incomingByte == 114) { // àṣẹ 'R'
myservo.write(180); // yípo ní ìtọ́nà òdìkejì aago
} else if (incomingByte == 60) { // àṣẹ ìdúró
myservo.write(60); // dá servo dúró
}
}
}
Kóòdù yìí ṣàyẹ̀wò bí data èyíkéyìí bá wà ní ibi ìpamọ́ serial. Nípa iye ASCII ti input náà (fún àpẹẹrẹ, 108 fún 'L' láti yípo ní ìtọ́nà aago, 114 fún 'R' láti yípo ní ìtọ́nà òdìkejì aago), ó rán àṣẹ tí ó bá mu mọ́ servo náà.
Fún kóòdù pípé àti àwọn àlàyé àfikún, jọ̀wọ́ tọ́ka sí ètò kíkún tí a gbé sílẹ̀ nísàlẹ̀ àpilẹ̀kọ yìí.
Ìṣàfihàn / Ohun tí o lè retí
Nígbà tí o bá gbé kóòdù náà sílẹ̀ àti ṣí Serial Monitor, o lè tẹ 'L' láti yí servo náà sí òsì, 'R' láti yí i sí ọ̀tún, tàbí àwọn iye mìíràn láti dánwò pẹ̀lú dídá servo náà dúró. Retí láti rí ọ̀pọ̀lọpọ̀ àwọn iye ìdúró, nítorí ìwà servo náà lè yàtọ̀ nípa didára rẹ̀ àti ìrísí rẹ̀ (nínú fídíò ní 18:45).
Ṣọ́ra nípa bí servo náà ṣe ń fèsì sí àwọn àṣẹ; bí kò bá dá dúró bí a ti retí, dánwò pẹ̀lú àwọn iye mìíràn títí tí o fi rí àṣẹ ìdúró tí ó dára jùlọ. Èyí lè nílò ìdánwò díẹ̀, pàápàá láti yẹra fún gbígbóná janjan servo.
Àwọn orí-ìpín
- Ìfáàrà (0:00)
- Ohun èlò tí a ṣàlàyé (1:30)
- Àwọn ìtọ́nà ìsopọ̀ wáyà (3:45)
- Ìṣàlàyé Kóòdù (5:15)
- Ìṣàfihàn (18:00)
Àwọn ohun èlò
- Ìwé àṣẹ Ìkàwé Servo Arduino
- Àwọn datasheet Olùṣelọpọ Servo tí ń yípo nígbà gbogbo
Ikẹkọ yii jẹ apakan ti: Àwọn Ẹ̀rọ Iṣẹ́-Ẹ̀rọ
- Líloṣiṣẹ́ Servo pẹ̀lú Àwọn Bọ́tìnì Títẹ̀ Nípa Lílo 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)
- Líloṣiṣẹ́ Servo pẹ̀lú Potentiometer Nípa Lílo Arduino
- Pipọntiọmita ati LCD1602 lilo Arduino
- Lílọ̀ àwọn ẹ̀rọ Servo Motors Nípa Lílò Infrared Remote pẹ̀lú Arduino
- Iṣakoso Moto Servo Arduino Pẹlu Potentiometer
- Iṣakoso ipo servo pẹlu awọn iṣe ọwọ fun Arduino
- Controlling Two or More Servos with Potentiometers Using an Arduino
- How to Control a 360° Servo with Three Push-Button Switches
- Koodu Arduino ati Fidio fun PCA9685 16-ikanni 12-Bit Servo Oludari V1
- Kọ́ Arduino Servo Toggle Switch pẹ̀lú Bọ́tìnì Títẹ̀
/*
*
* Demonstration of Controlling Continuous Servo (360 servo)
* This code allows you to control a 360-degree servo by a command from the Serial Monitor.
* this 350 servo motor is a just for fun. it can't be used for real application where you need exact positioning. get stepper motor or expensive servo motor.
📚⬇️ Download and resource page https://robojax.com/RJT762
*
* Modified by Ahmad Shamshiri for Robojax.com
* on Sunday, July 1, 2018, at 11:09 AM in Ajax, Ontario, Canada
* Watch a video instruction of this project: https://youtu.be/b_xvu6wWafA
* Get this code from Robojax.com
*
Original code by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
Modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/
#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
int incomingByte = 0; // for incoming serial data
void setup() {
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("received: ");
Serial.print (incomingByte);
if(incomingByte == 108){
Serial.println(" sent 0 Rotating CW ");
myservo.write(0);
}else if(incomingByte == 114){
Serial.println(" sent 180 Rotating CCW ");
myservo.write(180);
}else if(incomingByte == 60){
Serial.println(" sent Stopped ");
myservo.write(60);
}else{
Serial.println(" moving Randomly");
myservo.write(incomingByte);
}
}
}
Orisun & itọkasi
Ko si awọn orisun sibẹsibẹ.
Fáìlìs📁
Ko si awọn faili ti o wa.