INHOUDSOPGAWE:

Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe
Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe

Video: Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe

Video: Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe
Video: BME280-sensortest met Arduino: druk, vochtigheid en temperatuur 2024, Julie
Anonim
Image
Image
Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het

Weet wat u besit, en weet waarom u dit besit

Dit is interessant. Ons leef in die tyd van internetautomatisering, aangesien dit in 'n magdom nuwe toepassings val. As rekenaar- en elektronika -entoesiaste het ons baie geleer met die Raspberry Pi en besluit om ons belange saam te voeg. Hierdie projek neem ongeveer 'n uur as u nuut is met I²C -verbindings en sagteware -opstelling, en dit is 'n uitstekende manier om die vermoëns van MPL3115A2 uit te brei met Raspberry Pi in Java.

Stap 1: Onontbeerlike toerusting wat ons benodig

Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het
Onmisbare toerusting wat ons nodig het

1. Framboos Pi

Die eerste stap was die verkryging van 'n Raspberry Pi -bord. Hierdie klein genie word gebruik deur stokperdjies, onderwysers en in die skep van innoverende omgewings.

2. I2C -skild vir Framboos Pi

Die INPI2 (I2C -adapter) bied die Raspberry Pi 2/3 en I²C -poort vir gebruik met verskeie I2C -toestelle. Dit is beskikbaar op Dcube Store.

3. Hoogtemeter, druk- en temperatuursensor, MPL3115A2

Die MPL3115A2 is 'n MEMS druksensor met 'n I²C -koppelvlak om druk-, hoogte- en temperatuurdata te gee. Hierdie sensor gebruik die I²2 -protokol vir kommunikasie. Ons het hierdie sensor by Dcube Store gekoop.

4. Aansluitkabel

Ons het die I²C -aansluitkabel gebruik wat by Dcube Store beskikbaar is.

5. Mikro -USB -kabel

Die Raspberry Pi word aangedryf deur 'n mikro -USB -toevoer.

6. Verbetering van internettoegang - Ethernet -kabel/WiFi -module

Een van die eerste dinge wat u wil doen, is om u Raspberry Pi aan die internet te koppel. U kan aansluit met 'n Ethernet -kabel of met 'n draadlose USB Nano WiFi -adapter.

7. HDMI -kabel (opsioneel, u keuse)

U kan Raspberry Pi met 'n HDMI -kabel aan 'n monitor koppel. U kan ook toegang tot u Raspberry Pi op afstand verkry deur SSH/PuTTY te gebruik.

Stap 2: Hardewareverbindings om die stroombaan saam te stel

Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel

Maak die stroombaan volgens die skema: In die algemeen is die verbindings redelik eenvoudig. Volg die instruksies en prente hierbo, en u hoef geen probleme te hê nie. Tydens die beplanning het ons gekyk na hardeware en kodering sowel as die basiese beginsels van elektronika. Ons wou 'n eenvoudige elektroniese skema vir hierdie projek ontwerp. In die diagram kan u die verskillende onderdele, kragkomponente en I²C -sensor sien wat volg op I²C -kommunikasieprotokolle. Hopelik illustreer dit hoe eenvoudig die elektronika vir hierdie projek is.

Verbinding van die Raspberry Pi en I2C Shield

Hiervoor, Raspberry Pi en plaas die I²C Shield daarop. Druk die skild saggies (sien die prentjie).

Aansluiting van die sensor en Framboos Pi

Neem die sensor en verbind die I²C -kabel daarmee. Maak seker dat I²C Output ALTYD aansluit by die I²C Input. Dieselfde moet gevolg word deur die Raspberry Pi met die I²C -skild daaroor gemonteer. Ons het die I²C Shield en die I²C -aansluitkabels aan ons kant as 'n baie groot voordeel, aangesien ons slegs die plug and play -opsie oor het. Geen probleem met penne en bedrading meer nie, en daarom is verwarring weg. Wat 'n verligting, stel u uself net voor in die draaddraad en daarby ingaan. So eenvoudig soos hierdie!

Let wel: die bruin draad moet altyd die grondverbinding (GND) volg tussen die uitset van een toestel en die ingang van 'n ander toestel

Internetverbinding is van kardinale belang

Om ons projek 'n sukses te maak, benodig ons 'n internettoegang vir ons Raspberry Pi. Hierin het u opsies soos om 'n Ethernet (LAN) kabel aan te sluit. As 'n alternatiewe, maar indrukwekkende manier om 'n WiFi -adapter te gebruik.

Die krag van die stroombaan

Steek die mikro -USB -kabel in die kragaansluiting van die Raspberry Pi. Skakel dit aan en voila, ons is gereed om te gaan!

Koppel aan skerm

Ons kan óf die HDMI -kabel aan 'n monitor koppel, óf ons kan 'n bietjie vernuwend wees om ons koplose Pi te maak (met behulp van -SSH/PuTTY), wat help om die ekstra koste te besnoei omdat ons op een of ander manier stokperdjies is.

As 'n gewoonte geld begin kos, word dit 'n stokperdjie genoem

Stap 3: Framboos Pi -programmering in Java

Framboos Pi -programmering in Java
Framboos Pi -programmering in Java

Die Java -kode vir die Raspberry Pi en MPL3115A2 sensor. Dit is beskikbaar in ons Github -bewaarplek.

Voordat u na die kode gaan, moet u die instruksies in die Readme -lêer lees en u Raspberry Pi daarvolgens opstel. Dit sal net 'n rukkie neem om dit te doen. Die hoogte word bereken uit die druk met behulp van die onderstaande vergelyking:

h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registerwaarde)

waar p0 = seevlakdruk (101326 Pa) en h in meter is. Die MPL3115A2 gebruik hierdie waarde aangesien die offsetregister gedefinieer word as 2 Pascal per LSB. Die kode is duidelik voor u en dit is in die eenvoudigste vorm wat u kan voorstel, en u behoort geen probleme te hê nie.

U kan ook die werkende Java -kode vir hierdie sensor hier kopieer.

// Versprei met 'n vrywillige lisensie. // Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas. // MPL3115A2 // Hierdie kode is ontwerp om te werk met die MPL3115A2_I2CS I2C Mini Module beskikbaar by ControlEverything.com. //

invoer com.pi4j.io.i2c. I2CBus;

voer com.pi4j.io.i2c. I2CD -toestel in; invoer com.pi4j.io.i2c. I2CFactory; invoer java.io. IOException;

openbare klas MPL3115A2

{public static void main (String args ) gooi uitsondering {// Skep I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Kry I2C -toestel, MPL3115A2 I2C -adres is 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Kies beheerregister // Aktiewe modus, OSR = 128, hoogtemodus -toestel.skryf (0x26, (byte) 0xB9); // Kies datakonfigurasie register // Data gereed gebeurtenis geaktiveer vir hoogte, druk, temperatuur device.write (0x13, (byte) 0x07); // Kies beheerregister // Aktiewe modus, OSR = 128, hoogtemodus -toestel.skryf (0x26, (byte) 0xB9); Draad.slaap (1000);

// Lees 6 grepe data vanaf adres 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte [6]; device.read (0x00, data, 0, 6);

// Skakel die data om in 20-bisse

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; dubbele hoogte = tHoogte / 16,0; dubbel cTemp = (temp / 16.0); dubbel fTemp = cTemp * 1.8 + 32;

// Kies kontroleregister

// Aktiewe modus, OSR = 128, barometer af apparaat. Skryf (0x26, (byte) 0x39); Draad.slaap (1000); // Lees 4 grepe data vanaf adres 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Skakel die data om in 20-bisse

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dubbele druk = (pres / 4.0) / 1000.0; // Uitset data na die skerm System.out.printf ("Druk: %.2f kPa %n", druk); System.out.printf ("Hoogte: %.2f m %n", hoogte); System.out.printf ("Temperatuur in Celsius: %.2f C %n", cTemp); System.out.printf ("Temperatuur in Fahrenheit: %.2f F %n", fTemp); }}

Stap 4: Die praktiese van die kode (werk)

Die praktiese van die kode (werk)
Die praktiese van die kode (werk)

Laai nou die kode af (of git trek) en maak dit oop in die Raspberry Pi. Voer die opdragte uit om die kode op die terminale op te stel en op te laai en sien die uitset op Monitor. Na 'n paar sekondes word al die parameters vertoon. Nadat u seker gemaak het dat alles vlot verloop, kan u hierdie projek na 'n groter projek neem.

Stap 5: Toepassings en funksies

Die algemene gebruik van die MPL3115A2 Precision Altimeter sensor is in toepassings soos Map (Map Assist, Navigation), Magnetic Compass, of GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry and Satelliete (weerstasie toerusting/voorspelling).

Vir bv. Deur hierdie sensor en Rasp Pi te gebruik, kan u 'n digitale visuele hoogtemeter bou, die belangrikste deel van die skydiving -toerusting wat hoogte, lugdruk en temperatuur kan meet. U kan windgaas en ander sensors byvoeg, sodat u dit meer interessant kan maak.

Stap 6: Gevolgtrekking

Aangesien die program ongelooflik aanpasbaar is, is daar baie interessante maniere waarop u hierdie projek kan uitbrei en dit nog beter kan maak. Byvoorbeeld, 'n hoogtemeter/interferometer bevat verskeie hoogtemeters wat op maste gemonteer is, wat gelyktydig metings sou verkry en sodoende 'n deurlopende bedekking van 'n enkele of meer hoogtemeter bied. Ons het 'n interessante video -tutoriaal op YouTube wat u kan help om hierdie projek beter te verstaan.

Aanbeveel: