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()```