Taula de continguts:

Mitjançant Raspberry Pi, mesureu l’altitud, la pressió i la temperatura amb MPL3115A2: 6 passos
Mitjançant Raspberry Pi, mesureu l’altitud, la pressió i la temperatura amb MPL3115A2: 6 passos

Vídeo: Mitjançant Raspberry Pi, mesureu l’altitud, la pressió i la temperatura amb MPL3115A2: 6 passos

Vídeo: Mitjançant Raspberry Pi, mesureu l’altitud, la pressió i la temperatura amb MPL3115A2: 6 passos
Vídeo: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Desembre
Anonim
Image
Image
Equip indispensable que necessitem
Equip indispensable que necessitem

Conegueu el que teniu i sabeu per què el teniu

És intrigant. Vivim en l’era de l’automatització d’Internet, ja que s’enfonsa en una gran quantitat de noves aplicacions. Com a entusiastes de la informàtica i l’electrònica, hem estat aprenent moltes coses amb el Raspberry Pi i hem decidit combinar els nostres interessos. Aquest projecte triga aproximadament una hora si no coneixeu les connexions I²C i la configuració del programari, i és una manera fantàstica d’ampliar les capacitats de MPL3115A2 amb Raspberry Pi a Java.

Pas 1: Equip indispensable que necessitem

Equip indispensable que necessitem
Equip indispensable que necessitem
Equip indispensable que necessitem
Equip indispensable que necessitem
Equip indispensable que necessitem
Equip indispensable que necessitem

1. Raspberry Pi

El primer pas va ser obtenir una placa Raspberry Pi. Aquest petit geni és utilitzat per aficionats, professors i per crear entorns innovadors.

2. Escut I2C per a Raspberry Pi

L'INPI2 (adaptador I2C) proporciona a Raspberry Pi 2/3 un port I²C per utilitzar-lo amb diversos dispositius I2C. Està disponible a Dcube Store.

3. Altímetre, sensor de pressió i temperatura, MPL3115A2

El MPL3115A2 és un sensor de pressió MEMS amb una interfície I²C per donar dades de pressió, altitud i temperatura. Aquest sensor utilitza el protocol I²2 per comunicar-se. Hem comprat aquest sensor a Dcube Store.

4. Cable de connexió

Hem utilitzat el cable de connexió I²C disponible a Dcube Store.

5. Cable micro USB

El Raspberry Pi funciona amb un subministrament micro USB.

6. Millora de l'accés a Internet: mòdul de cable / WiFi Ethernet

Una de les primeres coses que voldreu fer és que el vostre Raspberry Pi estigui connectat a Internet. Podeu connectar-vos mitjançant un cable Ethernet o amb un adaptador WiFi USB Nano Wireless.

7. Cable HDMI (opcional, segons el vostre criteri)

Podeu connectar Raspberry Pi a un monitor mitjançant un cable HDMI. A més, podeu accedir remotament al vostre Raspberry Pi mitjançant SSH / PuTTY.

Pas 2: connexions de maquinari per unir el circuit

Connexions de maquinari per unir el circuit
Connexions de maquinari per unir el circuit
Connexions de maquinari per unir el circuit
Connexions de maquinari per unir el circuit

Feu el circuit segons l’esquema que es mostra. En general, les connexions són bastant senzilles. Seguiu les instruccions i les imatges anteriors i no hauríeu de tenir problemes. Durant la planificació, vam examinar el maquinari i la codificació, així com els conceptes bàsics sobre electrònica. Volíem dissenyar un esquema electrònic senzill per a aquest projecte. Al diagrama, podeu observar les diferents parts, components de potència i sensor I²C seguint els protocols de comunicació I²C. Amb sort, això il·lustra el simple que és l'electrònica per a aquest projecte.

Connexió de l’escut Raspberry Pi i I2C

Per a això, Raspberry Pi i col·loqueu-hi l’escut I²C. Premeu l'escut suaument (vegeu la foto).

Connexió del sensor i del gerd Pi

Agafeu el sensor i connecteu-hi el cable I²C. Assegureu-vos que la sortida I²C SEMPRE es connecti a l'entrada I²C. El mateix que seguirà el Raspberry Pi amb l’escut I²C muntat damunt seu. Tenim els cables de connexió I²C Shield i I²C al nostre costat com un gran avantatge, ja que només ens queda l’opció plug and play. Ja no hi ha problemes de cablejat i pins i, per tant, la confusió ha desaparegut. Quin alleujament, només imaginar-se a la xarxa de cables i entrar-hi. Tan senzill com això!

Nota: el cable marró sempre ha de seguir la connexió de terra (GND) entre la sortida d’un dispositiu i l’entrada d’un altre dispositiu

La connectivitat a Internet és crucial

Per fer del nostre projecte un èxit, necessitem un accés a Internet per al nostre Raspberry Pi. En això, teniu opcions com connectar un cable Ethernet (LAN). A més, com a forma alternativa però impressionant d’utilitzar un adaptador WiFi.

Alimentació del circuit

Connecteu el cable Micro USB a la presa d’alimentació de Raspberry Pi. Enceneu-lo i voilà, ja estem bé.

Connexió a pantalla

Podem tenir el cable HDMI connectat a un monitor o ser una mica innovadors per fer que el nostre Pi sense cap (utilitzant -SSH / PuTTY) ajudi a reduir el cost addicional perquè d’alguna manera som aficionats.

Quan un costum comença a costar diners, s’anomena afició

Pas 3: programació de Raspberry Pi a Java

Programació de Raspberry Pi a Java
Programació de Raspberry Pi a Java

El codi Java per al sensor Raspberry Pi i MPL3115A2. Està disponible al nostre dipòsit de Github.

Abans d’accedir al codi, assegureu-vos de llegir les instruccions del fitxer Llegeix-me i configurar el Raspberry Pi d’acord amb ell. Només trigarà un moment a fer-ho. L’altitud es calcula a partir de la pressió mitjançant l’equació següent:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (valor de registre)

on p0 = pressió del nivell del mar (101326 Pa) i h és en metres. El MPL3115A2 utilitza aquest valor ja que el registre de desplaçament es defineix com a 2 Pascals per LSB. El codi està clarament davant vostre i es troba en la forma més senzilla que us podeu imaginar i no hauríeu de tenir problemes.

També podeu copiar el codi Java de treball d’aquest sensor des d’aquí.

// Distribuïda amb una llicència de lliure voluntat.// Utilitzeu-la de la manera que vulgueu, de forma gratuïta o gratuïta, sempre que encaixi en les llicències de les seves obres associades. // MPL3115A2 // Aquest codi està dissenyat per funcionar amb el mini mòdul MPL3115A2_I2CS I2C disponible a ControlEverything.com. //

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; importació java.io. IOException;

classe pública MPL3115A2

{public static void main (String args ) throws Exception {// Crea bus I2C Bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Obteniu un dispositiu I2C, l'adreça I2C MPL3115A2 és 0x60 (96) Dispositiu I2CD = Bus.getDevice (0x60); // Seleccioneu registre de control // Mode actiu, OSR = 128, mode altímetre device.write (0x26, (byte) 0xB9); // Selecciona el registre de configuració de dades // Esdeveniment preparat per a dades habilitat per a altitud, pressió, temperatura device.write (0x13, (byte) 0x07); // Seleccioneu registre de control // Mode actiu, OSR = 128, mode altímetre device.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// Llegir 6 bytes de dades de l'adreça 0x00 (00)

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

// Converteix les dades a 20 bits

int tHeight = (((((dades [1] i 0xFF) * 65536) + ((dades [2] i 0xFF) * 256) + (dades [3] i 0xF0)) / 16); int temp = ((dades [4] * 256) + (dades [5] i 0xF0)) / 16; doble altitud = tAlçada / 16,0; doble cTemp = (temp / 16.0); doble fTemp = cTemp * 1,8 + 32;

// Seleccioneu el registre de control

// Mode actiu, OSR = 128, mode baròmetre device.write (0x26, (byte) 0x39); Thread.sleep (1000); // Llegiu 4 bytes de dades de l'adreça 0x00 (00) // estat, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Converteix les dades a 20 bits

int pres = (((dades [1] i 0xFF) * 65536) + ((dades [2] i 0xFF) * 256) + (dades [3] i 0xF0)) / 16; doble pressió = (pres / 4.0) / 1000.0; // Data de sortida a la pantalla System.out.printf ("Pressió:%.2f kPa% n", pressió); System.out.printf ("Altitud:%.2f m% n", altitud); System.out.printf ("Temperatura en centígrads:%.2f C% n", cTemp); System.out.printf ("Temperatura en Fahrenheit:%.2f F% n", fTemp); }}

Pas 4: la pràctica del codi (funcionament)

La pràctica del codi (funcionament)
La pràctica del codi (funcionament)

Ara, descarregueu (o git pull) el codi i obriu-lo al Raspberry Pi. Executeu les ordres per compilar i penjar el codi al terminal i veure la sortida a Monitor. Al cap de pocs segons, es mostraran tots els paràmetres. Després d'assegurar-vos que tot funciona correctament, podeu convertir aquest projecte en un projecte més gran.

Pas 5: Aplicacions i funcions

L’ús comú del sensor d’altímetre de precisió MPL3115A2 és en aplicacions com Map (Assistència al mapa, navegació), brúixola magnètica, o GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), altimetria d’alta precisió, telèfons intel·ligents / tauletes, altimetria electrònica personal i Satèl·lits (equipament d’estacions meteorològiques / predicció).

Per exemple, Mitjançant aquest sensor i Rasp Pi, podeu construir un altímetre visual digital, l’equip més important de paracaigudisme, que pugui mesurar l’altitud, la pressió de l’aire i la temperatura. Podeu afegir gases de vent i altres sensors perquè sigui més interessant.

Pas 6: Conclusió

Atès que el programa és increïblement personalitzable, hi ha moltes maneres interessants d’estendre aquest projecte i millorar-lo encara més. Per exemple, un altímetre / interferòmetre inclouria diversos altímetres muntats en pals que adquiririen mesures simultàniament, proporcionant així una cobertura contínua, simple o multi-altímetre. Tenim un interessant vídeo tutorial a YouTube que us pot ajudar a entendre millor aquest projecte.

Recomanat: