Il servo motore SG90 è un servo motore piccolo e leggero comunemente usato in robotica, veicoli RC e altri progetti che richiedono un controllo angolare preciso. In questo tutorial, ti mostreremo come interfacciarsi il servo motore SG90 con un Arduino.
Cosa avrai bisogno
- Motore servo SG90
- Arduino Board (ad es. Uno, Mega, Nano)
- Breadboard
- Fili jumper
- Alimentazione esterna (opzionale per i servos multipli)
- Un computer con l'IDE Arduino installato
Passaggio 1: Comprensione del servo motore SG90
Il servo motore SG90 ha tre pin:
PIN SG90 | Funzione |
---|---|
Marrone | Terra (GND) |
Rosso | Potenza (VCC) |
Arancia | Segnale (PWM) |
Nota: Il motore servo funziona a 4.8v-6v. Se stai alimentando più servi, usa un alimentatore esterno.
Passaggio 2: Cablaggio dell'SG90 ad Arduino
Ecco come collegare il servo motore SG90 all'Arduino Uno:
PIN SG90 | Arduino Pin |
---|---|
Marrone | GND |
Rosso | 5v |
Arancia | Pin 9 |
Passaggio 3: installa la libreria dei servi
L'IDE Arduino include una libreria servo integrata, quindi non è necessario installare nulla in più.
Passaggio 4: caricare il codice
Ecco un semplice codice di esempio per controllare il servo motore SG90:
#include <Servo.h>
Servo myServo; // Create a Servo object
void setup() {
myServo.attach(9); // Attach the servo to pin 9
Serial.begin(9600);
Serial.println("SG90 Servo Test");
}
void loop() {
for (int angle = 0; angle <= 180; angle += 1) { // Sweep from 0 to 180 degrees
myServo.write(angle); // Set servo to angle
delay(15); // Wait for the servo to reach the position
}
for (int angle = 180; angle >= 0; angle -= 1) { // Sweep from 180 to 0 degrees
myServo.write(angle); // Set servo to angle
delay(15); // Wait for the servo to reach the position
}
}
Passaggio 5: testare l'installazione
- Collega il tuo Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta da Utensili menu.
- Carica il codice facendo clic su Caricamento pulsante.
- Una volta caricato il codice, il servo motore inizierà a spazzare da 0 a 180 gradi e indietro continuamente.
Passaggio 6: controllo del servo dinamicamente
È inoltre possibile controllare il servo utilizzando dinamicamente il monitor seriale. Ecco un esempio:
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9);
Serial.begin(9600);
Serial.println("Enter an angle (0-180):");
}
void loop() {
if (Serial.available()) {
int angle = Serial.parseInt(); // Read the angle from Serial Monitor
if (angle >= 0 && angle <= 180) {
myServo.write(angle);
Serial.print("Servo set to: ");
Serial.println(angle);
} else {
Serial.println("Invalid angle. Enter a value between 0 and 180.");
}
}
}
Risoluzione dei problemi
- Servo non si muove: Controllare il cablaggio e assicurarsi che il pin corretto sia definito nel codice.
- Servo jittering: Utilizzare un alimentatore esterno per fornire energia stabile.
- Servo surriscaldamento: Evita di tenere il servo in una posizione a lungo sotto carico.
Applicazioni del servo SG90
- Braccia robotiche
- Supporti per fotocamera in padella e inclinazione
- Veicoli RC
- Apri della porta automatizzati
Conclusione
Hai interfacciato con successo il motore servo SG90 con Arduino e hai controllato la sua posizione. La versatilità e la facilità d'uso dell'SG90 lo rendono ideale per vari progetti fai -da -te e robotica. Sperimenta diversi metodi di controllo e crea i tuoi progetti servi potere!