
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05


MPL3115A2 využíva snímač tlaku MEMS s rozhraním I2C, ktorý poskytuje presné údaje o tlaku/nadmorskej výške a teplote. Výstupy senzorov sú digitalizované 24-bitovým ADC s vysokým rozlíšením. Interné spracovanie odstráni úlohy kompenzácie z hostiteľského systému MCU. Je schopný detekovať zmenu iba o 0,05 kPa, čo sa rovná zmene výšky 0,3 m. Tu je jeho ukážka s Arduino Nano.
Krok 1: Čo potrebujete.. !

1. Arduino Nano
2. MPL3115A2
3. Kábel I²C
4. I²C štít pre Arduino Nano
Krok 2: Pripojenia:




Vezmite štít I2C pre Arduino Nano a jemne ho zatlačte cez kolíky Nano.
Potom pripojte jeden koniec kábla I2C k senzoru MPL3115A2 a druhý koniec k štítu I2C.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód:

Arduino kód pre MPL3115A2 je možné stiahnuť z nášho úložiska github-DCUBE Store.
Tu je odkaz na to isté:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Ponúkame knižnicu Wire.h na uľahčenie komunikácie senzora I2c s doskou Arduino.
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
// Distribuované s licenciou slobodnej vôle.
// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.
// MPL3115A2
// Tento kód je navrhnutý tak, aby pracoval s mini modulom MPL3115A2_I2CS I2C
#zahrnúť
// Adresa MPL3115A2 I2C je 0x60 (96)
#define Addr 0x60
neplatné nastavenie ()
{
// Inicializácia komunikácie I2C
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim výškomeru
Wire.write (0xB9);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register konfigurácie údajov
Wire.write (0x13);
// Udalosť pripravená na údaje je povolená pre nadmorskú výšku, tlak, teplotu
Wire.write (0x07);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
nepodpísané int údaje [6];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim výškomeru
Wire.write (0xB9);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (1000);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov údajov
Wire.requestFrom (Addr, 6);
// Prečítajte 6 bajtov údajov z adresy 0x00 (00)
// stav, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
ak (Wire.available () == 6)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
údaje [4] = Wire.read ();
údaje [5] = Wire.read ();
}
// Previesť údaje na 20-bitové
int tHeight = (((long) (data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
int temp = ((údaje [4] * 256) + (údaje [5] & 0xF0)) / 16;
plávajúca výška = tVýška / 16,0;
float cTemp = (teplota / 16,0);
float fTemp = cTemp * 1,8 + 32;
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim barometra
Wire.write (0x39);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (1000);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 4 bajty údajov
Wire.requestFrom (Addr, 4);
// Prečítajte 4 bajty údajov
// stav, pres msb1, pres msb, pres lsb
ak (Wire.available () == 4)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
}
// Previesť údaje na 20-bitové
long pres = (((long) data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
plavákový tlak = (prez / 4,0) / 1000,0;
// Výstup údajov na sériový monitor
Serial.print ("Nadmorská výška:");
Serial.print (nadmorská výška);
Serial.println ("m");
Serial.print ("Tlak:");
Sériový tlač (tlak);
Serial.println ("kPa");
Serial.print ("Teplota v stupňoch Celzia:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Teplota vo Fahrenheite:");
Serial.print (fTemp);
Serial.println ("F");
oneskorenie (500);
}
Krok 4: Aplikácie:
Rôzne aplikácie MPL3115A2 zahŕňajú vysoko presnú výškomer, smartphony/tablety, osobnú elektronickú výškomer atď. Môže byť tiež začlenený do systému GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, rovnako ako vybavenie meteorologickej stanice.
Odporúča:
Presný a presný voltmetr Arduino (0-90V DC): 3 kroky

Presný a presný voltmeter Arduino (0-90V DC): V tomto návode som postavil voltmetr na meranie relatívne vysokého napätia DC (0-90v) s relatívnou presnosťou a presnosťou pomocou Arduino Nano. Testovacie merania, ktoré som vykonal, boli dostatočne presné, väčšinou v rozmedzí 0,3 V od skutočného napätia nameraného pomocou
Výškomer (výškomer) na základe atmosférického tlaku: 7 krokov (s obrázkami)

Výškomer (výškomer) na základe atmosférického tlaku: [Upraviť]; Pozrite si verziu 2 v kroku 6 s manuálnym zadaním základnej hodnoty nadmorskej výšky. Toto je popis budovy výškomera (výškomera) založeného na Arduino Nano a senzore atmosférického tlaku Bosch BMP180. Konštrukcia je jednoduchá, ale merania
Arduino Nano-výukový program 3-osového 12-bitového/8-bitového digitálneho akcelerometra MMA8452Q: 4 kroky

Arduino Nano-trojosový 12-bitový/8-bitový digitálny akcelerometer MMA8452Q Výukový program: MMA8452Q je inteligentný, trojosový, kapacitný, mikroobrábaný akcelerometer s nízkym výkonom a 12 bitovým rozlíšením. Flexibilné programovateľné možnosti pre používateľov sú k dispozícii pomocou vstavaných funkcií v akcelerometri, konfigurovateľných na dve prerušenia
Výukový program Arduino Nano - teplotný snímač TCN75A: 4 kroky

Arduino Nano-teplotný snímač TCN75A Výukový program: TCN75A je dvojvodičový sériový teplotný snímač vybavený prevodníkom teploty na digitálny signál. Je integrovaný s užívateľsky programovateľnými registrami, ktoré poskytujú flexibilitu pre aplikácie snímajúce teplotu. Nastavenia registra umožňujú používateľom
Výukový program pre štít ovládača motora L298 2Amp pre Arduino: 6 krokov

Tutorial pre štít ovládača motora L298 2Amp pre Arduino: Popis Štítok ovládača motora L298 2Amp pre Arduino je založený na integrovanom obvode motora L298, ovládači motora s plným mostom. Môže poháňať dva samostatné 2A jednosmerné motory alebo 1 2A krokový motor. Rýchlosť a smery motora je možné ovládať samostatne