Ola  pessoal estou construindo um cosplay do  home de ferro  estou aprendendo um pouco sobre  arduino também, achei este  código   abaixo  que  vai funcinar  bem  para  este  projeto https://www.youtube.com/watch?v=V0AgeFBaF3U  so que eu presiso  adicionar  mais um servo motor  pois no capacate  utilizo  2 e  um  taria que funcionar  inversamente  ao outro  para  poder a brir  a  mascara  obrigado e  fiquem com deus !!

/*
Sketch: Este programa ira girar o eixo de um servomotor para direita ou esquerda lendo o estado de dois botoes assim identificados.
*/


#include /span>Servo.h>

const int botaoDireita = 2;    // identifica o pino do botao a direita
const int botaoEsquerda = 3;   // identifica o pino do botao a esquerda
const int servo = 4;           // identifica o pino do servomotor

Servo servoMotor;              // declara um objeto tipo Servo

int angulo = 90;               // controla a posicao do eixo

void setup() {
 pinMode(botaoDireita, INPUT);
 digitalWrite(botaoDireita, HIGH);

 pinMode(botaoEsquerda, INPUT);
 digitalWrite(botaoEsquerda, HIGH);

 servoMotor.attach(servo);      // conecta o motor ao pino de controle
 servoMotor.write(angulo);      // gira o servo ate o ponto do meio
}

void loop() { 
 if(digitalRead(botaoDireita) == LOW) {     // botao direita pressionado
  if(angulo < 180) {
   angulo = angulo + 1;
  }
 } else { 
   if(digitalRead(botaoEsquerda) == LOW) {  // botao esquerda pressionado
    if(angulo > 0) {
     angulo = angulo - 1;
    }
   }
 }

 servoMotor.write(angulo);
 delay(5);
}

Exibições: 1334

Responder esta

Respostas a este tópico

#include span class="command">Servo.h>

const int botaoDireita = 2;    // identifica o pino do botao a direita
const int botaoEsquerda = 3;   // identifica o pino do botao a esquerda
const int servo1 = 4;           // identifica o pino do servomotor

const int servo2 = 5;           // identifica o pino do servomotor

Servo servoMotor1;              // declara um objeto tipo Servo

Servo servoMotor2;             

int angulo = 90;               // controla a posicao do eixo

void setup() {
 pinMode(botaoDireita, INPUT);
 digitalWrite(botaoDireita, HIGH);

 pinMode(botaoEsquerda, INPUT);
 digitalWrite(botaoEsquerda, HIGH);

 servoMotor1.attach(servo1);      // conecta o motor ao pino de controle

 servoMotor2.attach(servo2);      // conecta o motor ao pino de controle
 servoMotor1.write(angulo);      // gira o servo ate o ponto do meio

servoMotor2.write(180-angulo);
}

void loop() { 
 if(digitalRead(botaoDireita) == LOW) {     // botao direita pressionado
  if(angulo < 180) {
   angulo = angulo + 1;
  }
 } else { 
   if(digitalRead(botaoEsquerda) == LOW) {  // botao esquerda pressionado
    if(angulo > 0) {
     angulo = angulo - 1;
    }
   }
 }

 servoMotor1.write(angulo);

servoMotor1.write(180-angulo);
 delay(5);
}

Agora pronto! Podes fazer 2 e mandar um pra mim.

Se não for um bom servo, podes ter que ajustar esse 180º.

Não testei ou modifiquei o teu algoritmo (nem mesmo sintaxe). Só acrescentei oq era necessário pro segundo servo. Se tiver algum bug, comente.

 

#include span class="command">Servo.h>

servoMotor1.write(180-angulo);  


Funcionou  sim  os  bugs que  apresentou  foram nesas  2 linhas  por conta de  ter  2 servo 1 e  no include  eu retirei esa parte  "span class="command" dexei so  include  servo.h

ta  tendodo  uma oscilação durante  o movimento isso  nao sei  muito  bem  o motivo  

Ah sim... ali no segundo é obviamente servoMotor2.

Quanto a vibração, tente alimentar o servo com 6v.

E o include é isso mesmo. Aquilo ali é lixo de código devido a linguagem desta página web.

Pow, que massa... mostra ae pra galera...

Em breve estarei colocando  eu adquiri um easvr que pretendo implementar ja fiz alguns teste  mas nao tenho muita  habilidade  coma progrmação 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço