Ir ao conteúdo

Posts recomendados

Postado

Prezados, estou com problema na programação de meu Arduino, dá erro de “expected constructor, destructor, or type conversion before ‘ultrasonic’” na linha abaixo do código.

Erro na linha abaixo:

Ultrasonic ultrasonic(pino_trigger, pino_echo);

 

Código:
 

//Carrega a biblioteca do sensor ultrassonico
#include <Ultrasonic.h> //Biblioteca sensor ultrassonico
//#include <AFMotor.h> //Biblioteca comandos do motor (FORWARD, BACKWARD, RELEASE)
#include <Servo.h> //Biblioteca para manuseio dos motores

***********************************************//Define os pinos
  //Sensor ultrasonico
#define pino_trigger 4
#define pino_echo 5

//Led
#define pin_led 13  //Define pino para led, contar delay

//Motores
#define motor_dir 1   //Define pino motor direito
#define motor_esq 2  //Define pino motor esquerdo

//Sensor de linha
#define linha_dir 6  //Define pino sensor de linha direito
#define linha_esq 7  //Define pino sensor de linha esquerdo

//Inicializa o sensor ultrassonico / distância
Ultrasonic ultrasonic(pino_trigger, pino_echo);

void setup()
{
  int cont_delay; //delay
  pinMode(pin_led, OUTPUT);
  pinMode(linha_dir, INPUT);
  pinMode(linha_esq, INPUT);

  for(cont_delay = 0; cont_delay<5; cont_delay++){
//digitalWrite(pin_led, HIGH);
Serial.println(cont_delay);
delay(700);
//digitalWrite(pin_led, LOW);
Serial.println(cont_delay);
delay(300);
Serial.println(cont_delay);
  }
 
  Serial.begin(9600);
  Serial.println("Lendo dados do sensor...");
}

void frente()//Andar para frente
{
  motor_esq.setSpeed(180);
  motor_dir.setSpeed(180);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(1000);
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
  delay(300);  
}

void re()   //Andar de trás
{
  motor_esq.setSpeed(180);
  motor_dir.setSpeed(180);
  motor_esq.run(BACKWARD);
  motor_dir.run(BACKWARD);
  motor.setSpeed(0);
  motor.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
}

void direita()//Virar para a direita
{
motor_esq.setSpeed(180);
motor_dir.setSpeed(0);
motor_esq.run(FORWARD);
motor_dir.run(FORWARD);
delay(300);
motor_esq.setSpeed(0);
motor_dir.setSpeed(0);
motor_esq.run(BACKWARD);
motor_dir.run(BACKWARD);
delay(300);
}

void esquerda() //Vira para a esquerda 
{
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(180);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(300);
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
  delay(300);
}

void direita90()  //Vira para a direita em 90 graus
{
  motor_esq.setSpeed(90);
  motor_dir.setSpeed(0);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(300);
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(300);
}

void esquerda90() //Vira para a esquerda em 90 graus
{
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(90);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(300);
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
  delay(300);
}

void giro() //Gira o robo em 180 graus
{
  motor_esq.setSpeed(180);
  motor_dir.setSpeed(0);
  motor_esq.run(FORWARD);
  motor_dir.run(FORWARD);
  delay(300);
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
  delay(300);
  
}

void parar()
{
  motor_esq.setSpeed(0);
  motor_dir.setSpeed(0);
  motor_esq.run(RELEASE);
  motor_dir.run(RELEASE);
  delay(300);
}
 
void loop()
{
  /*Le as informações do sensor de distância
  float cm;
  long microsec = ultrasonic.timing();
  cm = ultrasonic.convert(microsec, Ultrasonic::CM);
  Serial.print("Distancia em cm: ");
  Serial.print(cm);
  Serial.println();  
  delay(1000);
  */
  
  //Movimentos
 
}

 

 

 

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!