1
resposta

tou fazendo um codigo com radom mas da erro

#include <VarSpeedServo.h>  //Biblioteca Servo, essa biblioteca permie colocar a velocidade no servo
VarSpeedServo cabeca;       //Define o objeto cabeça na classe VarSpeedServo
int comando;                //Declara a variável comando como inteiro, essa será a variável que será carregada quando lido a portta serial

int pos; // Posição Servo

void setup() {

  Serial.begin(9600);       //Define a velocidade de transmissão da comunicação serial
  pinMode(3,OUTPUT);        //Declara a porta 3 como pora de sáida
  cabeca.attach(3);         //Anexa o objeto "cabeça" na porta 3
  cabeca.slowmove(120, 60);         //Inicializa com o JARVIS olhando para frente

}

void loop() {

  comando=Serial.read();
  delay(7);

//Se o comando para o JARVIS for "JARVIS OLHE PRA CÁ" ele enviará 'a' para o Arduino.
  if (comando=='a'){
    cabeca.slowmove(0, 60);      //O arduino manda o servo para a posição 0º
  }

//Se o comando para o JARVIS for "JARVIS OLHE PARA MIM" ele enviará 'b' para o Arduino.
  if (comando=='b'){
    cabeca.slowmove(180, 60);    //O arduino manda o servo para a posição 180º
  }

//Se o comando para o JARVIS for "JARVIS OLHE PARA FRENTE" ele enviará 'c' para o Arduino.
  if (comando=='c'){
    cabeca.slowmove(100, 50);     //O arduino manda o servo para a posição 90º
  }

//ARI, ESTA FOI A PARTE QUE EU ALTEREI

//Se o comando para o JARVIS for "NÃO" ele enviará 'd' para o Arduino.
  if (comando=='d'){
    //TODA VEZ Q VOCÊ PRECISAR QUE ELE FAÇA O MOVIMENTO DE NEGAÇÃO
    //BASTA VOCÊ ADICIONAR A LINHA ABAIXO QUE ELE AUTOMATICAMENTE EXECUTARÁ O CÓDIGO DA FUNÇÃO NEGAÇÃO QUE ESTÁ NO FINAL
    negacao();   
  }


  movimentoAleatorio(); //FUNÇÃO DE MOVIMENTO ALEATORIO


//AQUI É O FINAL


}



//TODA A FUNÇÃO TEM QUE ESTAR FORA DO VOID LOOP

//FUNÇÃO DE NEGAÇÃO
void negacao(){
  //O arduino manda o servo para as posições 40° e 140° por 4 x para simular uma negação
    cabeca.slowmove(50, 60);
    delay(300);
    cabeca.slowmove(120, 60);
    delay(300);
    cabeca.slowmove(50, 60);
    delay(300);
    cabeca.slowmove(120, 60);
    delay(300);
     cabeca.slowmove(50, 60);
    delay(300);
    cabeca.slowmove(100, 60);
    delay(300);
}
//FIM DA FUNÇÃO DE NEGAÇÃO




//INICIO DO MOVIMENTO ALEATORIO
void movimentoAleatorio()
{
    pos = (random(0,9)*10);
    cabeca.write(pos,30,true);
    delay(100);
}
//FIM DO MOVIMENTO ALEATORIO

mas quando vou compilar da o erro de 
funccoes.ino: in function 'void movimentoAleatorio()';
fincoes:28: error no maching function for call to 'varSpeedServo::write (int&, int, int1)
c:\user\meus documentos\documentos\arduino\libraries\varSpeedservo/VarSpeedServo.:130: note: candidates are: void VarSpeedServo: : writw(int)
1 resposta

Oi Antonio.

Dei uma googlada e parece que em alguns casos a versão do Arduino estava desatualizada e por isso deu esse erro. qual versão vc está usando? Alias, vc está usando Arduino ou outro controlador?

abs, Nico

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software