Materiais Necessários:
- 1 Arduino
- 1 Sensor Ultrasonico (Utilizaremos um Sonar TRF05)
Utilizaremos uma Protoboard para efetuar as ligações dos pinos conforme o circuito:
Ligações:
Vcc -> 5V
GND -> GND
Echo -> Digital 9
Trig -> Digital 8
GND -> GND
Echo -> Digital 9
Trig -> Digital 8
Note que na foto o sensor possui um Quinto Pino com a denominação SER, esse pino não será utilizado nesse tutorial.
Depois de tudo devidamente conectado, faça o upload do seguinte código para o Arduino:
int TrigPin = 8;
int EcoPin = 9;
long Duration = 0;
void setup(){
pinMode(TrigPin,OUTPUT);
pinMode(EcoPin,INPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
Duration = pulseIn(EcoPin,HIGH);
long Distance_cm = Distance(Duration);
Serial.print(“Distancia = “);
Serial.print(Distance_cm);
Serial.println(” cm”);
delay(1000);
}
long Distance(long time){
long DistanceCalc;
DistanceCalc = (((time /2.9)/2)/10);
return DistanceCalc;
}
Resumindo o codigo, o programa possui um algoritimo que calcula o
tempo em microsegundos entre a mudança de estado de um determinado pino,
e com base nesse tempo se calcula a distancia.
Mas o que seria essa mudança de estado? Primeiramente vamos entender
como funciona esse sonar. Ele possui um emissor e um receptor de
ultrassom, assim, quando um ultrassom é emitido, demora um determinado
tempo para que essa onda atinja um Objeto e retorne para o receptor. A
partir daí, quando se sabe a velocidade do som, calcula-se a distância
percorrida pela onda naquele intervalo de tempo.
Agora que está tudo ok, abra o Serial Monitor, e aproxime Objetos a frente do sensor. Veja o Resultado:
Circuito Montado:
Observações: Há uma limitação quanto a amplitude de
captação de ondas, no caso do sensor TRF05, a distância minima que ele
consegue medir é de 20cm, e a máxima varia conforme as condições de
temperatura que influenciam na velocidade do som. Quando um Objeto é
aproximado a uma distancia menor que o minimo, os resultados obtidos
ficam variando sem uma precisão.
0 comentários:
Postar um comentário