Taula de continguts:

Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2: 6 passos
Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2: 6 passos

Vídeo: Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2: 6 passos

Vídeo: Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2: 6 passos
Vídeo: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Juliol
Anonim
Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2
Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2
Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2
Altitud, pressió i temperatura mitjançant Raspberry Pi amb MPL3115A2

Sona interessant. És molt possible en aquest moment en què tots entrem en la generació d’IoT. Com a monstre de l’electrònica, hem estat jugant amb el Raspberry Pi i hem decidit fer projectes interessants amb aquest coneixement. En aquest projecte, mesurarem l’altitud, la pressió de l’aire i la temperatura amb Raspberry Pi. Així doncs, aquí va la documentació (sempre es modifica i amplia). Us recomanem que seguiu les instruccions i copieu el codi. Podeu experimentar més endavant. Comencem doncs.

Pas 1: Equip imperatiu que necessitem

Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem
Equip imperatiu que necessitem

1. Raspberry Pi

El primer pas va ser obtenir una placa Raspberry Pi. Hem comprat el nostre i tu també. Vaig començar a aprendre dels tutorials, vam entendre els conceptes de seqüència d’ordres i connexió i vam aprendre després. Aquest petit geni és comú per a aficionats, professors i per crear entorns innovadors.

2. Escut I²C 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 que proporciona dades de pressió / altitud i temperatura. Aquest sensor utilitza el protocol I²C per comunicar-se. Hem comprat aquest sensor a Dcube Store

4. Cable de connexió

Teníem el cable de connexió I2C disponible a Dcube Store

5. Cable micro USB

El cable micro USB és una opció ideal per alimentar el Raspberry Pi.

6. Millora de l’accés a Internet: adaptador de cable / WiFi Ethernet

En aquesta època, accedir a qualsevol cosa necessita una connexió a Internet (gairebé ja que també hi ha vida fora de línia). Així doncs, anem a recomanar-nos un cable LAN o un adaptador Nano USB sense fils (WiFi) per construir la connexió a Internet de manera que puguem utilitzar el nostre Rasp Pi amb facilitat i sense cap problema.

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

És una mica complicat. Podeu connectar un altre monitor si voleu o és molt rendible per vosaltres mateixos mitjançant una connexió Pi sense cap amb el vostre PC / portàtil.

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 molt senzilles. Seguiu les instruccions i les imatges 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

Primer de tot, agafeu el 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. Només el procés senzill que hem esmentat.

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 vital

En realitat, aquí podeu triar. Podeu connectar Raspberry Pi amb el cable LAN o l’adaptador Nano USB sense fils per a la connectivitat WiFi. De tota manera, va fer l'objectiu principal que era connectar-se a Internet.

Alimentació del circuit

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

Connexió a pantalla

Podem tenir el cable HDMI connectat a un monitor nou o fer que el nostre Pi sense cap sigui creatiu i rendible mitjançant l'accés remot com-SSH / PuTTY. (Sé que no estem finançats com una organització secreta).

Pas 3: programació de Raspberry Pi a Python

Programació de Raspberry Pi a Python
Programació de Raspberry Pi a Python

El codi Python 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 segons el mateix. 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.

Podeu copiar també el codi Python 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 obres associades. # MPL3115A2 # Aquest codi està dissenyat per funcionar amb el mini mòdul MPL3115A2_I2CS I2C disponible a ControlEverything.com. #

importar smbus

temps d'importació

# Aconsegueix un bus I2C

bus = smbus. SMBus (1)

# MPL3115A2 adreça, 0x60 (96)

# Seleccioneu el registre de control, 0x26 (38) # 0xB9 (185) Mode actiu, OSR = 128, mode altímetre bus.write_byte_data (0x60, 0x26, 0xB9) # Adreça MPL3115A2, 0x60 (96) # Seleccioneu registre de configuració de dades, 0x13 (19)) # 0x07 (07) Esdeveniment preparat per a dades habilitat per altitud, pressió, temperatura bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adreça, 0x60 (96) # Seleccionar registre de control, 0x26 (38) # 0xB9 (185) Mode actiu, OSR = 128, mode altímetre bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 adreça, 0x60 (96)

# Llegir dades de 0x00 (00), 6 bytes # estat, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Converteix les dades a 20 bits

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

# MPL3115A2 adreça, 0x60 (96)

# Seleccioneu el registre de control, 0x26 (38) # 0x39 (57) Mode actiu, OSR = 128, mode Baròmetre bus.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# MPL3115A2 adreça, 0x60 (96)

# Llegir dades de 0x00 (00), 4 bytes # estat, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Converteix les dades a 20 bits

pres = ((dades [1] * 65536) + (dades [2] * 256) + (dades [3] i 0xF0)) / 16 pressió = (pres / 4.0) / 1000.0

# Sortida de dades a la pantalla

imprimir "Pressió:%.2f kPa"% pressió d'impressió "Altitud:%.2f m"% altitud d'impressió "Temperatura en centígrads:%.2f C"% cImpressió temporal "Temperatura en Fahrenheit:%.2f F"% fTemp

Pas 4: La pràctica del codi (proves)

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

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ó I²C 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 de l'estació meteorològica / predicció).

Per exemple, un projecte per fabricar Personal Electronics Altimeter que mesura l’altitud, la pressió de l’aire i la temperatura mitjançant Raspberry Pi. El Personal Electronics Altimeter és un projecte bastant ràpid de construir. Només trigareu uns quants moments si teniu totes les parts i no improviseu (és clar que podeu!). Un altímetre de pressió és un altímetre que es troba a la majoria d’avions i els paracaigudistes utilitzen versions muntades al canell per a propòsits similars. Els excursionistes i alpinistes fan servir altímetres de mà o canells.

Pas 6: Conclusió

Espero que aquest projecte inspiri més experimentació. Aquest sensor I²C és increïblement versàtil, barat i accessible. Com que és un programa extremadament mutable, hi ha maneres interessants d’estendre aquest projecte i millorar-lo encara més. Per exemple, l’altímetre és un instrument opcional en vehicles tot terreny per ajudar a la navegació. Alguns cotxes de luxe d’altes prestacions que mai no havien tingut la intenció de deixar carreteres asfaltades utilitzen aquesta tecnologia. Per a la vostra comoditat, tenim un interessant vídeo tutorial a YouTube que pot ajudar-vos a explorar. Espero que aquest projecte inspiri més experimentació.

Recomanat: