El servomotor SG90 es un servomotor pequeño y liviano comúnmente utilizado en robótica, vehículos RC y otros proyectos que requieren un control de ángulo preciso. En este tutorial, le mostraremos cómo interactuar el servo motor SG90 con un Arduino.
Lo que necesitarás
- Sg90 servo motor
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Tablero de circuitos
- Cables de jersey
- Fuente de energía externa (opcional para múltiples servos)
- Una computadora con el Arduino IDE instalado
Paso 1: Comprender el servomotor SG90
El servomotor SG90 tiene tres pines:
Pin de SG90 | Función |
---|---|
Marrón | Tierra (GND) |
Rojo | Potencia (VCC) |
Naranja | Señal (PWM) |
Nota: El servomotor opera a 4.8V-6V. Si está alimentando múltiples servos, use una fuente de alimentación externa.
Paso 2: Cableado el SG90 a Arduino
Aquí le mostramos cómo conectar el motor SG90 al Arduino Uno:
Pin de SG90 | Alfiler de arduino |
---|---|
Marrón | Gnd |
Rojo | 5V |
Naranja | Pin 9 |
Paso 3: Instale la biblioteca de servo
El Arduino IDE incluye una biblioteca servo incorporada, por lo que no necesita instalar nada adicional.
Paso 4: cargar el código
Aquí hay un código de ejemplo simple para controlar el motor 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
}
}
Paso 5: prueba la configuración
- Conecte su Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto desde Herramientas menú.
- Cargar el código haciendo clic en el Subir botón.
- Una vez que se cargue el código, el servomotor comenzará a barrer de 0 a 180 grados y retrocederá continuamente.
Paso 6: controlar el servo dinámicamente
También puede controlar el servo dinámicamente utilizando el monitor en serie. Aquí hay un ejemplo:
#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.");
}
}
}
Solución de problemas
- Servo no se mueve: Compruebe dos veces el cableado y asegúrese de que el PIN correcto esté definido en el código.
- Servo que se jitga: Use una fuente de alimentación externa para proporcionar una potencia estable.
- Servo sobrecalentamiento: Evite mantener el servo en una posición durante mucho tiempo bajo carga.
Aplicaciones de SG90 Servo
- Brazos robóticos
- Montes de la cámara de huella e inclinada
- Vehículos RC
- Abrores de puerta automatizados
Conclusión
Has interactuado con éxito el servomotor SG90 con Arduino y controlado su posición. La versatilidad y la facilidad de uso del SG90 lo hacen ideal para varios proyectos de bricolaje y robótica. ¡Experimente con diferentes métodos de control y cree sus propios proyectos servo con poder!