DOISFI

Projeto: Sensor Ultrasônico

O Sensor Ultrassônico HC-SR04 é um componente muito comum em projetos com Arduino, e permite que você faça leituras de distâncias entre 2 cm e 4 metros, com precisão de 3 mm. Pode ser utilizado simplesmente para medir a distância entre o sensor e um objeto, como para acionar portas do microcontrolador, desviar um robô de obstáculos, acionar alarmes, etc. Neste tutorial ensinaremos a conectar o HC-SR04 ao Arduino.

Conectando o Sensor HC-SR04 ao Arduino

A ligação do sensor ao Arduino no nosso programa vai utilizar, além dos pinos de alimentação, os pinos digitais 4 para o Trigger, e para o Echo. A alimentação será feita pelo pino 5V do Arduino:

Sensor Ultrasônico

O programa usa a biblioteca Ultrasonic, que você pode baixar aqui. Descompacte a pasta Ultrasonic e coloque-a dentro da pasta LIBRARIES da IDE do Arduino.

//Programa: Conectando Sensor Ultrassonico HC-SR04 ao Arduino
                                //Autor: doisFi
                                 
                                //Carrega a biblioteca do sensor ultrassonico
                                #include 
                                 
                                //Define os pinos para o trigger e echo
                                #define pino_trigger 4
                                #define pino_echo 5
                                 
                                //Inicializa o sensor nos pinos definidos acima
                                Ultrasonic ultrasonic(pino_trigger, pino_echo);
                                 
                                void setup()
                                {
                                  Serial.begin(9600);
                                  Serial.println("Lendo dados do sensor...");
                                }
                                 
                                void loop()
                                {
                                  //Le as informacoes do sensor, em cm e pol
                                  float cmMsec, inMsec;
                                  long microsec = ultrasonic.timing();
                                  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
                                  inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
                                  //Exibe informacoes no serial monitor
                                  Serial.print("Distancia em cm: ");
                                  Serial.print(cmMsec);
                                  Serial.print(" - Distancia em polegadas: ");
                                  Serial.println(inMsec);
                                  delay(1000);
                                }
                            

No programa todo o cálculo é feito por meio da biblioteca Ultrasonic. O sensor é inicializado nos pinos trigger e echo, e depois efetuamos a leitura dos dados do sensor, atribuindo às variáveis cmMsec e inMsec os valores das distâncias em centímetros e polegadas, respectivamente. Os dados são mostrados no serial monitor:

Display Sensor Ultrasonico

 

Após compilar o código e fazer o upload na sua placa.

Se houve algum problema, procure seu erro e tente consertá-lo. Se não, parabéns!