Pessoal estou com problemas ao utilizar esse sensor no arduino mega, abaixo segue o código que eu fiz:
#include <Ultrasonic.h>
int trig = 12;
int echo = 13;
Ultrasonic ultrasonic(trig,echo);
void setup() {
Serial.begin(9600);
}
void loop()
{
Serial.print("Distance CM:");
Serial.println(ultrasonic.Ranging(CM));
delay(1000);
}
O problema é que ele só imprime um valor o 51, essa é a saída:
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
Distance CM:51
O que tem errado ?
Tags:
boa tarde, teste isso
#include <Ultrasonic.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 13
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup()
{
Serial.begin(9600);
}
void loop()
{
float cmMsec, inMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
Serial.print("MS: ");
Serial.print(microsec);
Serial.print(", CM: ");
Serial.print(cmMsec);
Serial.print(", IN: ");
Serial.println(inMsec);
delay(1000);
}
Quando tento usar isso na hora de compilar aparece a seguinte mensagem : 'class Ultrasonic' has no member named 'timing'
Ajuda sim, muito obrigado
certo, você importou a biblioteca correta? porque aqui eu não tenho problema com isso
Tentei com esse código aqui :
float t = ultrasonic.Timing();
float dt = t / 29.4 / 2;
delay(1000);
Funcionou !!
Muito Obrigado pela ajuda !!
Bom dia Erikson .
Onde encontrou essa constante 29.4 ??
distanceCm= duration * 0.034 / 2;
Eu vi uns 3 tutoriais que o cara usou o 29.4, mas estou achando meio duvidoso esse valor, vou usar esse que você passou, obrigado !
Oi EJA, bom dia.
Duration é o valor t.
Portanto
X = t / 29.4 / 2
X terá o mesmo valor de:
X = duration * 0.034 / 2;
Ex: t = 2000 x = 34
Duration = 2000 x = 34
Rui
OK Rui !
1 / 29,4 = 0,034
Obrigado.
Abraços
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por