Skip to content

Instantly share code, notes, and snippets.

@ampulhetadosaber
Last active July 31, 2020 22:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ampulhetadosaber/563c259b80d7f61c4c690d763deebdb1 to your computer and use it in GitHub Desktop.
Save ampulhetadosaber/563c259b80d7f61c4c690d763deebdb1 to your computer and use it in GitHub Desktop.
#define Trig 10
#define Echo 11
float espaco = 0;
float distancia = 0;
float tempo_micro = 0;
float tempo = 0;
float vel_som_cm = 34300; /* Velocidade do Som = 343 m/s
para convertemos para cm/s,
multiplicamos 343 por 100,
então vel_som_cm = 34300 cm/s */
float distancia_em_cm()//Funçao onde calculamos a distancia em cm
{
digitalWrite(Trig,LOW);//Desligamos o pino do Trig durante 3 microssegundos para evitar qualquer conflito
delayMicroseconds(3);
digitalWrite(Trig,HIGH);//Ligamos o pino do Trig por 10us para gerar uma onda ultrassonica
delayMicroseconds(10);
digitalWrite(Trig,LOW);
tempo_micro = pulseIn(Echo,HIGH);//Estamos atribuindo a variavel tempo_micro, o valor do tempo em microssegundos que a onda sonora demorou para sair do Trig e chegar no Echo
tempo = ((tempo_micro/1000.0)/1000.0);//Estamos atribuindo a variavel tempo o valor da conversao do tempo de microssegundos para segundos
espaco = ((vel_som_cm*tempo)/2); //esta atribuindo a variavel espaco o valor da distancia em cm
return (espaco);
}
void setup()
{
pinMode(Trig,OUTPUT);//estamos declarando o pino do Trig como saida
pinMode(Echo,INPUT);//estamos declarando o pino do Echo como entrada
Serial.begin(9600);//estamos abrindo a serial
}
void loop()
{
distancia = distancia_em_cm();// estamos atribuindo a variavel distancia o valor retornado na funcao distancia_em_cm()
Serial.print(distancia);
Serial.println("cm");
delay(800);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment