Primeiros Passos com o BRIICK DPS310

Introdução
Já precisou medir a pressão atmosférica ou a altura de algum lugar? Com o Briick Sensor de Pressão DPS310 e uma BlackBoard Edge, isso é possível.
Neste tutorial mostraremos como o sensor DPS310 funciona, qual biblioteca instalar e como ler a pressão atmosférica e a temperatura ambiente com ele através da Edge.
Lista de Materiais

Lista completa de produtos
comprar
BlackBoard Edge

BRIICK - Sensor de Pressão DPS310

Cabo USB Micro B 80cm
Observação: a BlackBoard Edge é vendida "sozinha", portanto é necessário adquirir um cabo Micro USB separadamente se não possuir um.
Conceitos Teóricos
Antes de colocarmos a mão na massa e vermos como usar o Briick DPS310 de fato, vamos entender um pouco melhor como ele realiza a leitura de temperatura e pressão.
Leitura de Pressão
Para realizar a leitura de pressão atmosférica, o sensor possui um furo em seu encapsulamento, como demarcado na imagem abaixo, que permite que a pressão interna do componente varie de acordo com a do ambiente. Caso o sensor fosse "selado", a pressão interna seria sempre a mesma e a leitura nunca variaria.

Dentro do sensor há um sensor capacitivo que se assemelha a um diafragma. Ele é composto de dois terminais (eletrodos) que formam um "sanduíche" contra um material dielétrico maleável, como na imagem a seguir. Essa composição faz com que seja gerada uma variação na tensão de saída quando há uma variação na compressão do material dielétrico.

Um microcontrolador interno então lê essa variação de tensão e calcula a pressão exercida sobre o sensor, fazendo todas as conversões e calibrações necessárias para ter uma precisão típica de leitura de pressão de +/- 1 hPa.
Leitura de Temperatura
Já a leitura de temperatura do sensor é feita através de um simples termistor, que varia a sua resistência de acordo com a temperatura sobre ele, o que permite que o sensor tenha uma precisão típica de +/- 0.5°C.
Circuito
Os módulos Briick foram desenvolvidos para facilitar a vida do maker, portanto o circuito elétrico é extremamente simples. Basta conectar a BlackBoard Edge ao módulo utilizando o cabo incluso com o módulo, como na imagem abaixo.

Vale lembrar que vários módulos Briick podem ser conectados em série e tanto faz a posição dos módulos nesta linha, todos funcionarão corretamente.
Instalação da Biblioteca
Para ler temperatura e pressão pelo DPS310, precisamos instalar uma biblioteca, e isso pode ser feito diretamente pelo "Gerenciador de Bibliotecas" da Arduino IDE. Para abri-lo na Arduino IDE 2.0, clique sobre o ícone de livros na barra lateral. Caso esteja utilizando uma IDE anterior à versão 2.0, siga o caminho da imagem a seguir, ou pressione "Ctrl+Shift+l".

Com o gerenciador aberto, independentemente da versão, digite "dps310" no campo de pesquisa e busque pela biblioteca desenvolvida pela Infineon Technologies, como demarcado na imagem abaixo.

Com a biblioteca encontrada, pressione o botão "Instalar" e aguarde alguns instantes. Assim que a biblioteca estiver instalada, será apresentada uma etiqueta "Instalada" ao lado da versão da biblioteca, como na próxima imagem.

Leitura das Grandezas
Com a biblioteca instalada, carregue o código a seguir para a sua BlackBoard Edge. Caso seja a sua primeira vez utilizando a placa, recomendamos que siga os passos do tutorial Primeiros Passos com a BlackBoard Edge.
Entendendo o Código
O código se inicia com a inclusão da biblioteca e a criação do objeto sensor_dps
que será responsável pela leitura do sensor. Em seguida, para finalizar as declarações globais do código, criamos as variáveis temperatura_ambiente
e pressao_atmosferica
para armazenar as respectivas leituras.
Já nas configurações do código, apenas inicializamos o monitor serial com a velocidade de 115200 bps e a comunicação I2C com o sensor através do comando sensor_dps.begin(Wire)
(o parâmetro "Wire" indica a comunicação I2C, já que o sensor também pode operar em SPI). Caso esteja utilizando o sensor em seu endereço I2C alternativo (0x76, alterável pelo jumper de solda na parte de baixo da placa), utilize o comando sensor_dps.begin(Wire, 0x76)
.
Por fim, na repetição do código, verificamos através das condições if (sensor_dps.measureTempOnce(temperatura_ambiente) == 0)
e if (sensor_dps.measurePressureOnce(pressao_atmosferica) == 0)
se as leituras de temperatura e pressão foram feitas corretamente e salvas nas respectivas variáveis. Se as condições forem verdadeiras, os valores são exibidos no monitor serial a cada 1 segundo.
O Que Deve Acontecer
Após carregar o código para a placa, abra o monitor serial e veja as leituras. Lembrando que o sensor irá retornar as leituras do ambiente, portanto a comparação com sites ou aplicativos meteorológicos não será muito precisa, já que essas leituras são retornadas por uma média da sua região ou cidade, enquanto o sensor mede as condições do seu ambiente.

Conclusão
Neste tutorial vimos como o sensor DPS310 funciona, qual biblioteca usar para lê-lo e como realizar as leituras de temperatura ambiente e pressão atmosférica do sensor.