Turinys:
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
MPL3115A2 naudojamas MEMS slėgio jutiklis su I2C sąsaja, kad būtų gauti tikslūs slėgio/aukščio ir temperatūros duomenys. Jutiklių išėjimai yra skaitmeninami didelės skiriamosios gebos 24 bitų ADC. Vidinis apdorojimas pašalina kompensavimo užduotis iš pagrindinės MCU sistemos. Jis gali aptikti tik 0,05 kPa pokytį, o tai prilygsta 0,3 m aukščio pokyčiui. Čia yra jo demonstravimas su aviečių pi naudojant „Java“kodą.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. MPL3115A2
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys:
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie MPL3115A2 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
„MPL3115A2“„Java“kodą galima atsisiųsti iš mūsų „github“saugyklos- „DCUBE Store“.
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:
pi4j.com/install.html
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// MPL3115A2
// Šis kodas skirtas dirbti su MPL3115A2_I2CS I2C mini moduliu, kurį galima įsigyti iš
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
importuoti com.pi4j.io.i2c. I2CFactory;
importuoti java.io. IOException;
viešoji klasė MPL3115A2
{
public static void main (String args ) metimai Išimtis
{
// Sukurti I2C magistralę
I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);
// Gaukite I2C įrenginį, MPL3115A2 I2C adresas yra 0x60 (96)
I2CDevice device = Bus.getDevice (0x60);
// Pasirinkite valdymo registrą
// Aktyvusis režimas, OSR = 128, altimetro režimas
device.write (0x26, (baitas) 0xB9);
// Pasirinkite duomenų konfigūracijos registrą
// Įgalintas duomenų paruošimo įvykis aukščiui, slėgiui, temperatūrai
device.write (0x13, (baitas) 0x07);
// Pasirinkite valdymo registrą
// Aktyvusis režimas, OSR = 128, altimetro režimas
device.write (0x26, (baitas) 0xB9);
Siūlai. Miegas (1000);
// Perskaitykite 6 baitus duomenų iš adreso 0x00 (00)
// būsena, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
baitas duomenys = naujas baitas [6];
device.read (0x00, duomenys, 0, 6);
// Konvertuokite duomenis į 20 bitų
int tHeight = ((((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16);
int temp = ((duomenys [4] * 256) + (duomenys [5] ir 0xF0)) / 16;
dvigubas aukštis = tAukštis / 16,0;
dvigubas cTemp = (temp / 16,0);
dvigubas fTemp = cTemp * 1,8 + 32;
// Pasirinkite valdymo registrą
// Aktyvusis režimas, OSR = 128, barometro režimas
device.write (0x26, (baitas) 0x39);
Siūlai. Miegas (1000);
// Perskaitykite 4 baitus duomenų iš adreso 0x00 (00)
// status, pres msb1, pres msb, pres lsb
device.read (0x00, duomenys, 0, 4);
// Konvertuokite duomenis į 20 bitų
int pres = (((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16;
dvigubas slėgis = (pres / 4,0) / 1000,0;
// Išvesti duomenis į ekraną
System.out.printf ("Slėgis: %.2f kPa %n", slėgis);
System.out.printf ("Aukštis: %.2f m %n", aukštis);
System.out.printf ("Temperatūra Celsijaus: %.2f C %n", cTemp);
System.out.printf ("Temperatūra Farenheitu: %.2f F %n", fTemp);
}
}
4 žingsnis: programos:
Įvairios MPL3115A2 programos apima didelio tikslumo altimetriją, išmaniuosius telefonus/planšetinius kompiuterius, asmeninės elektronikos aukščio matavimus ir tt. Jis taip pat gali būti įtrauktas į GPS mirusiųjų skaičiavimą, GPS gerinimą skubios pagalbos tarnyboms, žemėlapio pagalbinę įrangą, navigaciją ir orų stoties įrangą.
Rekomenduojamas:
Raspberry Pi - TMD26721 infraraudonųjų spindulių skaitmeninis artumo jutiklis „Java“pamoka: 4 žingsniai
„Raspberry Pi“-TMD26721 infraraudonųjų spindulių skaitmeninis artumo jutiklis „Java“pamoka: TMD26721 yra infraraudonųjų spindulių skaitmeninis artumo detektorius, kuris suteikia pilną artumo aptikimo sistemą ir skaitmeninės sąsajos logiką viename 8 kontaktų paviršiaus tvirtinimo modulyje. Artumo aptikimas apima patobulintą signalo ir triukšmo tikslumas. Profesionalus
„Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai
„Raspberry Pi“-ADXL345 3 ašių akcelerometras „Java“pamoka: „ADXL345“yra mažas, plonas, itin mažos galios 3 ašių akselerometras, turintis didelės skiriamosios gebos (13 bitų) matavimą iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2 C skaitmeninę sąsają. Tai matuoja
„Raspberry Pi MCP9803“temperatūros jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi MCP9803“temperatūros jutiklis „Java“pamoka: MCP9803 yra 2 laidų didelio tikslumo temperatūros jutiklis. Jie yra su vartotojo programuojamais registrais, palengvinančiais temperatūros jutimo programas. Šis jutiklis tinka labai sudėtingai kelių zonų temperatūros stebėjimo sistemai. Čia
„Raspberry Pi MCP9805“temperatūros jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi MCP9805“temperatūros jutiklis „Java“pamoka: MCP9805 yra atminties modulio skaitmeninis temperatūros jutiklis. Jis įtrauktas į vartotojo programuojamus registrus, kurie suteikia lankstumo temperatūros jutikliams. Šis jutiklis skirtas integruoti į mobiliosios platformos atminties modulį
„Raspberry Pi A1332 Precision Hall“- efekto kampo jutiklio „Java“pamoka: 4 žingsniai
„Raspberry Pi A1332 Precision Hall“- efekto kampo jutiklio „Java“pamoka: „A1332“yra 360 ° bekontaktis didelės raiškos programuojamas magnetinio kampo padėties jutiklis. Jis skirtas skaitmeninėms sistemoms, kuriose naudojama I2C sąsaja. Jis sukurtas naudojant „Circular Vertical Hall“(CVH) technologiją ir programuojamą mikroprocesoriaus signalą