Projeto 05 - Micro servomotor
Conceitos
Introdução
Servomotores são motores que podem ser controlados com precisão em uma determinada posição. Eles são usados em robótica, controle de rádio, dentro outros. Eles são pequenos, leves e podem ser conectados diretamente ao Arduino.
Para isso, iremos utilizar a seguinte lista de materiais1:
ID | Descrição | Quantidade |
---|---|---|
1 | Arduino Uno | 1 |
SERVO1 | Micro Servo Motor | 1 |
Implementação
Este exemplo mostra como usar um servomotor para controlar a posição de um objeto. Vamos usar o pino 9 para controlar o servomotor. Em suma, o Arduino envia um sinal PWM para o servomotor, que gira para a posição desejada. Veja os comentários do código de exemplo para obter uma boa compreensão de seu funcionamento.
Vamos começar montando o circuito e depois iremos programar o Arduíno.
Simulador Tinkercad
Para a implementação do projeto, iremos utilizar o simulador Tinkercad. Para isso, crie um novo projeto e adicione os componentes conforme a imagem abaixo:
Insira os blocos conforme ilustrado abaixo:
Veja como fica o código abaixo:
#include <Servo.h>
int pos = 0;
Servo servo_9;
void setup()
{
// anexar o servo no pino 9 ao objeto servo_9
servo_9.attach(9, 500, 2500);
}
void loop()
{
// girar o servo de 0 a 180 graus em passos de 1 grau
for (pos = 0; pos <= 180; pos += 1) {
// diga ao servo para ir para a posição na variável 'pos'
servo_9.write(pos);
// espere 15 ms para o servo atingir a posição
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
// diga ao servo para ir para a posição na variável 'pos'
servo_9.write(pos);
// espere 15 ms para o servo atingir a posição
delay(15);
}
}
Agora, clique no botão ▶️ Iniciar simulação
e veja o resultado. Cada LED deve piscar a cada 1s de maneira sequencial.
Funciona! Por que você não tenta fazer outra coisa, como por exemplo colocar um potenciômetro para controlar a velocidade do giro? 😉
Este projeto está também disponível em TinkerCad: Projeto 06 - Sensor de umidade
Referências
-
Este projeto foi criado por [Barragan](http://barraganstudio.com. O exemplo de código é de domínio público. Modificado em 8 de nov. de 2013 por Scott Fitzgerald. Disponível em http://www.arduino.cc/en/Tutorial/Sweep ↩