Inhoudsopgave:
Video: Arduino AMS5812_0050-D-B Handleiding voor druk- en temperatuursensor - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
AMS5812 versterkte druksensor met analoge en digitale uitgangen is een zeer nauwkeurige sensor met een analoge spanningsuitgang en digitale I2C-interface. Het combineert een piëzoresistief meetelement met een signaalconditioneringselement voor zijn werking. Hier is de demonstratie met arduino nano.
Stap 1: Wat je nodig hebt.
1. Arduino Nano
2. AMS5812_0050-D-B
3. I²C-kabel
4. I2C-schild voor Arduino Nano
Stap 2: Aansluitingen:
Neem een I2C-schild voor Arduino Nano en duw het voorzichtig over de pinnen van Nano.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de AMS5812_0050-D-B-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Arduino-code voor AMS5812_0050-D-B kan worden gedownload van onze GitHub-repository-Dcube Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/AMS5812-0050-D-B
We nemen bibliotheek Wire.h op om de I2c-communicatie van de sensor met het Arduino-bord te vergemakkelijken.
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// AMS5812
// Deze code is ontworpen om te werken met de AMS5812_I2CS_0050-D-B I2C Mini Module die beschikbaar is in Dcube Store.
#erbij betrekken
// AMS5812 I2C-adres is 0x78 (120)
#define Addr 0x78
ongeldige setup()
{
// Initialiseer I2C-communicatie als MASTER
Draad.begin();
// Initialiseer seriële communicatie, stel baudrate in = 9600
Serieel.begin(9600);
vertraging (300);
}
lege lus()
{
niet-ondertekende int-gegevens[4];
vertraging (500);
// Vraag 4 bytes aan gegevens aan
Wire.requestFrom(Addr, 4);
// Lees 4 bytes aan gegevens
// druk msb, druk lsb, temp msb, temp lsb
if (Draad.beschikbaar() == 4)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
data[2] = Draad.lezen();
data[3] = Draad.lezen();
}
// Converteer de gegevens
vlotterdruk = ((data[0] & 0xFF) * 256 + (data[1] & 0xFF));
float temp = ((data[2] & 0xFF) * 256 + (data[3] & 0xFF));
druk = ((druk - 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;
// Gegevens uitvoeren naar seriële monitor
Serial.print("Druk: ");
Serieafdruk(druk);
Serial.println ("PSI");
Serial.print ("Temperatuur in Celsius: ");
Serieel.print(cTemp);
Serieel.println("C");
Serial.print("Temperatuur in Fahrenheit: ");
Serieel.print(fTemp);
Serieel.println ("F");
vertraging (500);
}
Stap 4: Toepassingen:
AMS5812 is een versterkte druksensor en kan worden gebruikt in systemen waar statische en dynamische drukmeting en barometrische drukmeting moet worden uitgevoerd. Het speelt een cruciale rol bij vacuümbewaking, gasstroombewaking, vloeistofniveaumeting en medische instrumentatie.