Para usar o sensor *ultrassônico HC-SR04* com o *Arduino*, você não precisa de uma biblioteca
específica, pois o código que forneci anteriormente usa funções nativas do Arduino (como
`digitalWrite()` e `pulseIn()`) que já são suficientes para fazer as medições.
No entanto, para facilitar a implementação, você pode usar uma biblioteca externa chamada
*NewPing*, que simplifica o código e proporciona funções extras, como a medição de distância com
maior precisão e redução do uso de tempo de espera (delay).
*Instalando a Biblioteca NewPing:*
1. *Abra o Arduino IDE.*
2. Vá até o menu *Sketch* > *Incluir Biblioteca* > *Gerenciar Bibliotecas...*
3. Na janela que aparecer, digite "NewPing" na caixa de pesquisa.
4. Encontre a *NewPing* e clique em *Instalar*.
*Código Usando a Biblioteca NewPing:*
Aqui está um exemplo de código usando a biblioteca *NewPing* para medir a distância com o sensor
HC-SR04:
```cpp
#include <NewPing.h>
// Defina os pinos para o Trig e Echo
#define TRIGGER_PIN 9 // Pino Trigger do sensor
#define ECHO_PIN 10 // Pino Echo do sensor
#define MAX_DISTANCE 200 // Distância máxima que você deseja medir (em cm)
// Criação do objeto NewPing
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
// Inicialize a comunicação serial
[Link](9600);
void loop() {
// Mede a distância e armazena o valor
int distance = sonar.ping_cm();
// Exibe a distância no monitor serial
if (distance == 0) {
[Link]("Fora de alcance ou erro de medição");
} else {
[Link]("Distância: ");
[Link](distance);
[Link](" cm");
// Aguarda 1 segundo antes da próxima medição
delay(1000);
}
```
*Explicação do Código:*
1. *Biblioteca NewPing*: Importamos a biblioteca `NewPing.h` no início. Essa biblioteca é otimizada para
trabalhar com sensores ultrassônicos.
2. *Definição de pinos*: Especificamos os pinos *Trig* (9) e *Echo* (10) que estão conectados ao HC-
SR04.
3. *Objeto NewPing*: Criamos um objeto chamado `sonar` para controlar o sensor ultrassônico. O
`MAX_DISTANCE` define a distância máxima que o sensor pode medir (200 cm, neste exemplo).
4. *Função `ping_cm()`*: A função `ping_cm()` mede a distância em centímetros e retorna o valor.
5. *Monitoramento*: O valor de distância é impresso no monitor serial a cada segundo.
*Vantagens de Usar a Biblioteca NewPing:*
- *Precisão*: A biblioteca é otimizada para fazer medições com menos tempo de espera e mais precisão.