Vídeo: Arduino AMS5812_0050-D-B Tutorial do sensor de pressão e temperatura: 4 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O sensor de pressão amplificado AMS5812 com saídas analógicas e digitais é um sensor de alta precisão com saída de tensão analógica e interface digital I2C. Ele combina um elemento sensor piezoresistivo com um elemento condicionador de sinal para seu funcionamento. Aqui está sua demonstração com o arduino nano.
Etapa 1: O que você precisa..
1. Arduino Nano
2. AMS5812_0050-D-B
3. Cabo I²C
4. Escudo I2C para Arduino Nano
Etapa 2: Conexões:
Pegue um escudo I2C para Arduino Nano e empurre-o suavemente sobre os pinos do Nano.
Em seguida, conecte uma extremidade do cabo I2C ao sensor AMS5812_0050-D-B e a outra extremidade à blindagem I2C.
As conexões são mostradas na imagem acima.
Etapa 3: Código:
O código do Arduino para AMS5812_0050-D-B pode ser baixado de nosso repositório GitHub-Dcube Store.
Aqui está o link para o mesmo:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Incluímos a biblioteca Wire.h para facilitar a comunicação I2c do sensor com a placa Arduino.
Você também pode copiar o código daqui, ele é fornecido da seguinte forma:
// Distribuído com uma licença de livre arbítrio.
// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.
// AMS5812
// Este código foi projetado para funcionar com o Mini Módulo AMS5812_I2CS_0050-D-B I2C disponível na Dcube Store.
#incluir
// O endereço I2C AMS5812 é 0x78 (120)
#define Addr 0x78
void setup ()
{
// Inicializar a comunicação I2C como MASTER
Wire.begin ();
// Inicialize a comunicação serial, defina a taxa de transmissão = 9600
Serial.begin (9600);
atraso (300);
}
void loop ()
{
dados internos não assinados [4];
atraso (500);
// Solicita 4 bytes de dados
Wire.requestFrom (Addr, 4);
// Lê 4 bytes de dados
// pressão msb, pressão lsb, temp msb, temp lsb
if (Wire.available () == 4)
{
dados [0] = Wire.read ();
dados [1] = Wire.read ();
dados [2] = Wire.read ();
dados [3] = Wire.read ();
}
// Converta os dados
pressão flutuante = ((dados [0] e 0xFF) * 256 + (dados [1] e 0xFF));
float temp = ((dados [2] e 0xFF) * 256 + (dados [3] e 0xFF));
pressão = ((pressão - 3277,0) / ((26214,0) / 10,0)) - 5,0;
float cTemp = ((temp - 3277,0) / ((26214,0) / 110,0)) - 25,0;
float fTemp = (cTemp * 1.8) + 32;
// Dados de saída para monitor serial
Serial.print ("Pressão:");
Serial.print (pressão);
Serial.println ("PSI");
Serial.print ("Temperatura em Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura em Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
atraso (500);
}
Etapa 4: Aplicativos:
O AMS5812 é um sensor de pressão amplificado e pode ser empregado em sistemas onde a medição da pressão estática e dinâmica e a medição da pressão barométrica devem ser realizadas. Ele desempenha um papel fundamental no monitoramento de vácuo, monitoramento de fluxo de gás, medição de nível de fluido, bem como instrumentação médica.