O motor servo SG90 é um motor de servo pequeno e leve comumente usado em robótica, veículos RC e outros projetos que exigem controle de ângulo preciso. Neste tutorial, mostraremos como interface o motor servo SG90 com um Arduino.
O que você precisará
- Motor servo SG90
- Board Arduino (por exemplo, Uno, Mega, Nano)
- Pão de pão
- Fios de jumper
- Fonte de alimentação externa (opcional para vários servos)
- Um computador com o Arduino IDE instalado
Etapa 1: Compreendendo o motor servo SG90
O motor servo SG90 tem três pinos:
Pino sg90 | Função |
---|---|
Marrom | Terra (GND) |
Vermelho | Power (VCC) |
Laranja | Sinal (PWM) |
Observação: O Motor Servo opera em 4.8V-6V. Se você estiver alimentando vários servos, use uma fonte de alimentação externa.
Etapa 2: Fiação do SG90 para Arduino
Veja como conectar o motor servo SG90 ao Arduino Uno:
Pino sg90 | Pino Arduino |
---|---|
Marrom | Gnd |
Vermelho | 5V |
Laranja | Pino 9 |
Etapa 3: instale a biblioteca servo
O Arduino IDE inclui uma biblioteca servo embutida, para que você não precise instalar nada extra.
Etapa 4: Faça o upload do código
Aqui está um código de exemplo simples para controlar o motor servo 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
}
}
Etapa 5: teste a configuração
- Conecte seu Arduino ao seu computador via USB.
- Abra o Arduino IDE e selecione o correto Quadro e Porta do Ferramentas menu.
- Carregue o código clicando no Carregar botão.
- Depois que o código for enviado, o motor servo começará a varrer de 0 a 180 graus e voltará continuamente.
Etapa 6: controlando o servo dinamicamente
Você também pode controlar o servo dinamicamente usando o monitor serial. Aqui está um exemplo:
#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.");
}
}
}
Solução de problemas
- Servo não se movendo: Verifique duas vezes a fiação e verifique se o pino correto está definido no código.
- Servo de estojos: Use uma fonte de alimentação externa para fornecer energia estável.
- Superaquecimento de servo: Evite manter o servo em uma posição por um longo tempo sob carga.
Aplicações do servo SG90
- Braços robóticos
- Montagens de câmera de panela e inclinação
- Veículos RC
- Abridores de portas automatizadas
Conclusão
Você interfigurou com sucesso o motor servo SG90 com o Arduino e controlou sua posição. A versatilidade e facilidade de uso do SG90 o tornam ideal para vários projetos de bricolage e robótica. Experimente diferentes métodos de controle e crie seus próprios projetos movidos a servo!