Escolar Documentos
Profissional Documentos
Cultura Documentos
Braços removíveis
e substituído
Criando o movimento de pinça
• Partes de um Servomotor
Diferentes tipos de
braços de Servomotor.
Braços removíveis
e substituído
Parafusos fixa
o braço
Criando o movimento de pinça
• Partes de um Servomotor
Diferentes tipos de
braços de Servomotor.
Braços removíveis
e substituído
Braços removíveis
e substituído
• Partes de um Servomotor
Cabo alimentação
e controle
Diferentes tipos de
braços de Servomotor.
Braços removíveis
e substituído
• Partes de um Servomotor
Cabo alimentação
e controle
Diferentes tipos de
braços de Servomotor.
Braços removíveis
e substituído
• Partes de um Servomotor
Cabo alimentação
e controle
Diferentes tipos de Aba de montagem.
braços de Servomotor.
Braços removíveis
e substituído
• Um sinal com largura de pulso de 1 ms corresponde a posição do servo todo a esquerda ou 0 grau.
• Um sinal com largura de pulso de 1,5 ms corresponde a posição central do servo ou de 90 graus.
• Um sinal com largura de pulso de 2 ms corresponde a posição do servo todo a direita ou 180 graus
Criando o movimento de pinça
• Como funciona um Servomotor
20 ms
Como o sinal com largura de pulso
de 1,5 ms são enviados a cada 20
milissegundos, tem-se 50 sinais de
pulso por segundo, logo se tem uma
frequência de 50 Hz.
Uma vez que o servo recebe um sinal de 1,5 ms (por exemplo), ele verifica se o potenciômetro
encontra-se na posição correspondente, se ele estiver nada é feito. Se o potenciômetro não estiver
na posição correspondente ao sinal recebido, o circuito de controle aciona o motor até que o
potenciômetro esteja na posição correta. A direção de rotação do servo motor depende da posição
do potenciômetro. O motor vai girar na direção leva o potenciômetro mais rapidamente na posição
correta.
Criando o movimento de pinça
• Como Controlar um Servomotor – no Tinkercad - Circuito
Criando o movimento de pinça
• Como Controlar um Servomotor – no Tinkercad – Código - setup
#define motor 6
void setup() {
pinMode(motor, OUTPUT);
controlaMotor(180); // Começa setando a
posição para 180º
delay(1000);
}
Criando o movimento de pinça
• Como Controlar um Servomotor – no Tinkercad – Código loop
void loop() {
int i;
for (i = 0; i < 180; i++) { // Gira de 0º a 180º
controlaMotor(i);
}
delay(1000);
for (i = 180; i > 0; i--) { // Gira de 180º até 0º
controlaMotor(i);
}
}
Criando o movimento de pinça
• Como Controlar um Servomotor – no Tinkercad – Código controleServo
void controlaMotor(int posicao) {
int tempo = map(posicao, 0, 180, 1000, 2000);
// Altere o limite inferior (1000) e superior
(2000) para o seu caso
int i;
for (i = 0; i < 5; i++) {
digitalWrite(motor, HIGH);
delayMicroseconds(tempo);
digitalWrite(motor, LOW);
delayMicroseconds(20000 - tempo);
digitalWrite(motor, HIGH);
}
}
Criando o
movimento de pinça
• Como Controlar um
Servomotor – no Tinkercad –
Código Completo
Criando o movimento de pinça
• Como Controlar um Servomotor –com Biblioteca
• O que é uma Biblioteca no Arduino
• No contexto do Arduino, bibliotecas são conjuntos de código pré-escrito que facilitam a
programação de dispositivos ou módulos específicos. Essas bibliotecas contêm funções e
comandos que permitem aos desenvolvedores acessar e controlar hardware e realizar
tarefas comuns de maneira mais simples, sem precisar escrever todo o código do zero.
• Bibliotecas de Servomores para Arduino
• Servo.h → Nativado Arduino
• https://www.arduino.cc/reference/en/libraries/servo/
• https://github.com/arduino-libraries/Servo/
• VarSpeedServo.h → Desenvolvida pelo grupo NetLab
• https://github.com/netlabtoolkit/VarSpeedServo
• Esta biblioteca não é mais mantida devido a dependências de hardware e grande variedade
de dispositivos para suporte. Como alternativa, criei VarSpeedPython...
void loop() {
int angulo = analogRead(A1); // Lê o valor do potenciômetro
angulo = map(angulo, 0, 1023, 0, 180); // Mudança de Escala
servo1.write(angulo); // Escreve o ângulo para o servomotor
delay(20); // Espera de 20ms, Suficiente para que o servomotor
atinja a posição
}
Criando o movimento
de pinça
• Como Controlar um
Servomotor – no Tinkercad –
Biblioteca VarSpeedServo
• Para usar o circuito com o
potenciômetro e a biblioteca
VarSpeedServo é só na IDE ir
em:
• Arquivo→Exemplo→VarSpee
dServo→Knob
Criando o movimento
de pinça
• Como Controlar um
Servomotor – no Tinkercad –
Biblioteca VarSpeedServo
• Substitua pontPin por A1 e
servoPin por 6
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Biblioteca VarSpeedServo
• Resultado
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• Vamos usar o circuito com o potenciômetro
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• Vamos usar o circuito com o potenciômetro, mas modificando o código
#include <Servo.h>
void setup(){
Serial.begin(9600);
servomotor.attach(6); // Associa o pino 9 ao objeto servomotor
servomotor.write(0); // Inicia servomotor na posição zero
}
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• Vamos usar o circuito com o potenciômetro, mas modificando o código
void loop(){
// Lê o valor do potenciometro. Esse valor está entre 0 e 1023
readAnalog = analogRead(potPin);
Serial.println(readAnalog);
// Traduz a escala de 0-1023 para uma escala de 0-179, usado pelo servo
readAnalog = map(readAnalog, 0, 1023, 0, 179);
• Como Controlar
um Servomotor
– no Tinkercad –
Fim do
Movimento
Pinça
• Vamos usar o
circuito com o
potenciômetro,
mas
modificando o
código
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real selecione o braço e parafuso da figura abaixo
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real coloque o braço e liga o Arduino na porta USB
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real com o código conferido gire o potenciômetro para zero, observando o
serial monitor
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real se braço não ficou paralelo às abas de montagem, então retire e
coloque-as paralelas.
Criando o movimento
de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real com o braço paralelo às abas de montagem, parafuse com o menor
parafuso.
Criando o movimento de pinça
• Como Controlar um Servomotor – no Tinkercad – Fim do Movimento Pinça
• No Servo real com o braço paralelo às abas de montagem, parafuse com o menor
parafuso.
Criando o movimento de pinça
• Cortando os palitos de picolé Cole, com cola quente, pegue um de
7cm e cole no braço do Servomotor no
sentido dos fios.
Criando o movimento de pinça
• Cortando os palitos de picolé