Arduino Nano - MPL3115A2 Precision hoogtemeter Sensor Tutorial (3 / 4 stap)

Stap 3: Code:


De code van de arduino voor MPL3115A2 kan worden gedownload van onze github archief-ControlEverythingCommunity

Hier is de link voor hetzelfde:

https://github.com/ControlEverythingCommunity/MPL3...

Het gegevensblad van MPL3115A2 kan hier worden gevonden:

https://S3.amazonaws.com/controleverything.Media/c...

We nemen de bibliotheek Wire.h om de I2c communicatie van de sensor met de Arduino board.

U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:

Gedistribueerd met een licentie van de vrije wil.

Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.

MPL3115A2

Deze code is ontworpen om te werken met de MPL3115A2_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.

https://www.controleverything.com/content/Analog-...

#include < Wire.h >

MPL3115A2 I2C adres is 0x60(96)

#define Addr 0x60

VOID Setup

{

Initialiseren van de I2C communicatie

Wire.begin();

Initialiseren van seriële communicatie, set baud-rate = 9600

Serial.begin(9600);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x26);

Actieve modus OSR = 128, hoogtemeter modus

Wire.write(0xB9);

Stop I2C transmissie

Wire.endTransmission();

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer Configuratie gegevensregister

Wire.write(0x13);

Gegevens klaar gebeurtenis ingeschakeld voor hoogte, druk, temperatuur

Wire.write(0x07);

Stop I2C transmissie

Wire.endTransmission();

delay(300);

}

void loop

{

unsigned int gegevens [6];

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x26);

Actieve modus OSR = 128, hoogtemeter modus

Wire.write(0xB9);

Stop I2C transmissie

Wire.endTransmission();

delay(1000);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer gegevens registreren

Wire.write(0x00);

Stop I2C transmissie

Wire.endTransmission();

6 bytes aan gegevens aanvragen

Wire.requestFrom (Addr, 6);

6 bytes aan gegevens van adres 0x00(00) leest

status, tHeight msb1, tHeight msb, tHeight lsb, msb temp, temp lsb

Als (Wire.available() == 6)

{

gegevens [0] = Wire.read();

gegevens [1] = Wire.read();

gegevens [2] = Wire.read();

gegevens [3] = Wire.read();

gegevens [4] = Wire.read();

gegevens [5] = Wire.read();

}

De gegevens converteren naar 20-bits

int. tHeight = (((lange) (gegevens [1] * (lang) 65536) + (gegevens [2] * 256) + (gegevens [3] & 0xF0)) / 16);

int. temp = ((gegevens [4] * 256) + (gegevens [5] & 0xF0)) / 16;

hoogte zweven = tHeight / 16.0;

zweven cTemp = (temp / 16.0);

zweven fTemp = cTemp * 1.8 + 32;

I2C-overdracht starten

Wire.beginTransmission(Addr);

Besturingselement SELECT register

Wire.write(0x26);

Actieve modus OSR = 128, barometer modus

Wire.write(0x39);

Stop I2C transmissie

Wire.endTransmission();

delay(1000);

I2C-overdracht starten

Wire.beginTransmission(Addr);

Selecteer gegevens registreren

Wire.write(0x00);

Stop I2C transmissie

Wire.endTransmission();

4 bytes aan gegevens aanvragen

Wire.requestFrom (Addr, 4);

Lees 4 bytes aan gegevens

status, pres msb1, pres msb, pres lsb

Als (Wire.available() == 4)

{

gegevens [0] = Wire.read();

gegevens [1] = Wire.read();

gegevens [2] = Wire.read();

gegevens [3] = Wire.read();

}

De gegevens converteren naar 20-bits

lange pres = (((lange) gegevens [1] * (lang) 65536) + (gegevens [2] * 256) + (gegevens [3] & 0xF0)) / 16;

zweven druk = (pres / 4.0) / 1000.0;

Uitvoergegevens naar seriële monitor

Serial.Print ("hoogte:");

Serial.Print(Altitude);

Serial.println ("m");

Serial.Print ("druk:");

Serial.Print(Pressure);

Serial.println ("kPa");

Serial.Print ("temperatuur in Celsius:");

Serial.Print(cTemp);

Serial.println ("C");

Serial.Print ("temperatuur in Fahrenheit:");

Serial.Print(fTemp);

Serial.println ("F");

delay(500);

}

Gerelateerde Artikelen

Deeltje Photon - MPL3115A2 Precision hoogtemeter Sensor Tutorial

Deeltje Photon - MPL3115A2 Precision hoogtemeter Sensor Tutorial

De MPL3115A2 maakt gebruik van een MEMS druksensor met een I2C-interface nauwkeurig drukhoogte/en temperatuur gegevens te verstrekken. De sensor outputs zijn gedigitaliseerd door een hoge resolutie 24-bits ADC. Interne verwerking verwijderd vergoedin
Arduino Nano - SHT30 vochtigheid & Temperatuur Sensor Tutorial

Arduino Nano - SHT30 vochtigheid & Temperatuur Sensor Tutorial

SHT30 digitale vochtigheids- en temperatuursensor biedt superieure prestaties en een ruimtebesparende voetafdruk. Het biedt gekalibreerde, gelineariseerde signalen in digitale, I2C-indeling. Fabricage van deze sensor is gebaseerd op CMOSens technolog
Raspberry Pi - MPL3115A2 Precision hoogtemeter Sensor Python Tutorial

Raspberry Pi - MPL3115A2 Precision hoogtemeter Sensor Python Tutorial

De MPL3115A2 maakt gebruik van een MEMS druksensor met een I2C-interface nauwkeurig drukhoogte/en temperatuur gegevens te verstrekken. De sensor outputs zijn gedigitaliseerd door een hoge resolutie 24-bits ADC. Interne verwerking verwijderd vergoedin
Arduino Nano: Infrarood obstakel vermijden Sensor met Visuino

Arduino Nano: Infrarood obstakel vermijden Sensor met Visuino

Infrarood obstakel vermijden sensoren zijn goedkoop, kleine sensoren vaak gebruikt in robots en Arduino project om te ontdekken van objecten in de buurt van de sensor.De infrarood sensoren werken door een infrarood licht met enige regelmaat te sturen
Arduino Nano - MPU-6000 6 as Motion Tracking Sensor Tutorial

Arduino Nano - MPU-6000 6 as Motion Tracking Sensor Tutorial

MPU-6000 is een 6-assige Motion Sensor die heeft 3-Axis versnellingsmeter en 3-as gyroscoop ingebed in het Tracking. Deze sensor is in staat efficiënt bijhouden van exacte positie of locatie van een object in het 3-dimensionale vlak. Het kan worden i
Arduino Nano - TCN75A Temperatuur Sensor Tutorial

Arduino Nano - TCN75A Temperatuur Sensor Tutorial

TCN75A is een twee-draads seriële temperatuursensor opgenomen met temperatuur / digitaal-converter. Het is opgenomen met gebruiker programmeerbare registers die flexibiliteit voor temperatuur-sensing toepassingen leveren. De register-instellingen kun
Arduino Nano - TMP100 Temperatuur Sensor Tutorial

Arduino Nano - TMP100 Temperatuur Sensor Tutorial

TMP100 hoog-nauwkeurigheid, Low-Power, digitale temperatuur Sensor I2C MINI module. De TMP100 is ideaal voor uitgebreide temperatuurmeting. Dit apparaat biedt een nauwkeurigheid van ± 1 ° C zonder kalibratie of externe component signaal conditioning.
Arduino Nano - SI7050 Temperatuur Sensor Tutorial

Arduino Nano - SI7050 Temperatuur Sensor Tutorial

SI7050 is een digitale temperatuursensor die werkt aan I2C communicatieprotocol en hoge nauwkeurigheid biedt over de gehele bedrijfsspanning en de temperatuurbereik. Deze hoge nauwkeurigheid van de sensor wordt door de roman signaalverwerking en anal
Arduino Nano - HTS221 relatieve vochtigheid en temperatuur Sensor Tutorial

Arduino Nano - HTS221 relatieve vochtigheid en temperatuur Sensor Tutorial

HTS221 is een ultra compacte capacitieve digitale sensor voor relatieve vochtigheid en temperatuur. Het omvat een sensing-element en een gemengde signaal toepassing specifieke geïntegreerde circuit(ASIC) de meting informatie via digitale seriële inte
Arduino Nano - STS21 Temperatuur Sensor Tutorial

Arduino Nano - STS21 Temperatuur Sensor Tutorial

STS21 digitale temperatuursensor biedt superieure prestaties en een ruimtebesparende voetafdruk. Het biedt gekalibreerde, gelineariseerde signalen in digitale, I2C-indeling. Fabricage van deze sensor is gebaseerd op CMOSens technologie, die aan de su
Arduino Nano - TSL45315 Sensor voor omgevingslicht Tutorial

Arduino Nano - TSL45315 Sensor voor omgevingslicht Tutorial

TSL45315 is een digitale sensor voor omgevingslicht. Het benadert menselijk oog reactie onder verschillende lichtomstandigheden. De apparaten hebben driemaal selecteerbare integratie en bieden een directe 16-bits lux output via een I2C bus interface.
Arduino Nano - SI7006-A20 vochtigheid & Temperatuur Sensor Tutorial

Arduino Nano - SI7006-A20 vochtigheid & Temperatuur Sensor Tutorial

SI7006-A20 is een vochtigheid en temperatuursensor die kan worden toegepast op I2C communicatieprotocol. Het heeft een monolithische CMOS IC integratie van vochtigheid en temperatuur sensor elementen, een analoog-digitaalomzetter enz. Opgenomen met z
Arduino Nano - HDC1000 Temperatuur Sensor Tutorial

Arduino Nano - HDC1000 Temperatuur Sensor Tutorial

De HDC1000 is een digitale vochtigheid sensor met geïntegreerde temperatuursensor waarmee uitstekende meetnauwkeurigheid op zeer lage kracht. Het toestel meet luchtvochtigheid gebaseerd op een roman capacitieve sensor. De vochtigheid en temperatuur s
Arduino Nano: Versnellingsmeter gyroscoop kompas MPU9250 I2C Sensor met Visuino

Arduino Nano: Versnellingsmeter gyroscoop kompas MPU9250 I2C Sensor met Visuino

MPU9250is een van de meest geavanceerde combinatie van de gyroscoop, versnellingsmeter en kompas klein sensoren momenteel beschikbaar. Ze hebben vele geavanceerde functies, zoals laagdoorlaat filter, bewegingsdetectie en zelfs een programmeerbare ges