error in ultrasonic sensor

Asked

Viewed 14 times

0

I’ve tried several times to find the problem but I’m a layman in scaring yet and the following error keeps reproducing expected primary-expression before 'convert' if someone knows how to solve and can help me I’m glad the error is alternating between line 17, 18.

#include <NewTone.h>                                          // Adiciona biblioteca NewTone.h - Define parâmetros para colocar buzzer em uma saída do Arduino

#define PINO_TRIGGER 12                                       // Define o pino D12 do Arduino para comunicar com o pino Trigger do sensor ultrassônico
#define PINO_ECHO   11                                        // Define o pino D11 do Arduino para comunicar com o pino Echo do sensor ultrassônico 
   
Ultrasonic ultrasonic(PINO_TRIGGER, PINO_ECHO);               // Adiciona função ultrasonic da biblioteca Ultrasonic, a qual usa as definições implentadas nas linhas 7 e 8
                                      
int buzzer = 10;                                              // Definição da variável buzzer como inteira e atribuída ao pino 10;
int atraso;                                                   // Definição da variável atraso como inteira, sem atribuição de pino ou valor;

   
void setup()                                                  // Chama função setup() que é uma das funções principais do Arduino  
{                                                             // Abertura da função setup()
  pinMode(buzzer,OUTPUT);                                     // Definição do modo da variável buzzer como saída
  Serial.begin(9600);                                         // Inicializa o monitor serial e define a taxa de transmissão de dados
}                                                             // Fechamento da função setup()

   
void loop()                                                   // Chama função loop() que é uma das funções principais do Arduino (laço de repetição)
{                                                             // Abertura da função loop()  
  float distancia;    
  long microsec = ultrasonic.Timing();                        // Efetua a leitura dos dados do sensor ultrassonico, com o tempo de retorno do sinal 
  distancia = Ultrasonic convert (microsec, Ultrasonic::CM);   // Calcula a distancia em centimetros e aloca o resultado na variável distancia 
    
                                                              // Ajuste do tempo do bipe conforme com a distancia  
  if (distancia >= 100)                                       // Chama função condicional if e verifica se a variável distancia é maior ou igual a 100
  { atraso = 2000; }                                          // Se for maior que 100 será atribuido um valor de 2000ms a variável inteira atraso
  else if (distancia >= 70 && distancia < 100)                // Chama função condicional else if (senão se) e verifica se a variável distancia é maior ou igual a 70 e menor que 100
  { atraso = 1600; }                                          // Se a condição for verdadeira será atribuido um valor de 1600ms a variável inteira atraso
  else if (distancia >= 40 && distancia < 70)                 // Chama função condicional else if (senão se) e verifica se a variável distancia é maior ou igual a 40 e menor que 70  
  { atraso = 1000; }                                          // Se a condição for verdadeira será atribuido um valor de 1000ms a variável inteira atraso  
  else if (distancia >= 20 && distancia < 40)                 // Chama função condicional else if (senão se) e verifica se a variável distancia é maior ou igual a 20 e menor que 40    
  { atraso = 600; }                                           // Se a condição for verdadeira será atribuido um valor de 600ms a variável inteira atraso  
  else if (distancia < 20)                                    // Chama função condicional else if (senão se) e verifica se a variável distancia é menor que 20
  { atraso = 300; }                                           // Se a condição for verdadeira será atribuido um valor de 300ms a variável inteira atraso  
     
                                                              // Apresenta os dados, em centimetros, no monitor serial  
  Serial.print("Distancia: ");                                // Solicita que seja impresso o texto "Distancia: " no monitor serial  
  Serial.print(distancia);                                    // Solicita que seja impresso no monitor serial o valor armazenado na variável distancia
  Serial.print("cm ");                                        // Solicita que seja impresso o texto "cm " no monitor serial      
  Serial.print(" Atraso: ");                                  // Solicita que seja impresso o texto " Atraso: " no monitor serial    
  Serial.println(atraso);                                     // Solicita que seja impresso no monitor serial o valor armazenado na variável atraso
  if (distancia < 100)                                        // Chama função condicional if e verifica se a variável distancia é menor que 100
  {                                                           // Abertura da função condicional if
  NewTone(buzzer, 4000, 500);                                 // A condição if sendo verdadeira, irá chamar a função NewTone para acionar a variável buzzer, com uma frequencia de 4kHz
  delay(atraso);                                              // Implementação de um atraso de tempo com valor armazenado na variável atraso
  }                                                           // Fechamento da função condicional if
}                                                             // Fechamento da função loop()```
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.