Cuprins:
- Pasul 1: Echipament indispensabil de care avem nevoie
- Pasul 2: Conexiuni hardware pentru a pune împreună circuitul
- Pasul 3: Programarea Raspberry Pi în Java
- Pasul 4: Practicitatea codului (funcțional)
- Pasul 5: Aplicații și caracteristici
- Pasul 6: Concluzie
Video: Folosind Raspberry Pi, măsurați altitudinea, presiunea și temperatura cu MPL3115A2: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Știți ce dețineți și știți de ce îl dețineți
Este intrigant. Trăim în epoca automatizării internetului, deoarece se cufundă într-o multitudine de aplicații noi. În calitate de pasionați de computere și electronice, am învățat multe despre Raspberry Pi și am decis să ne amestecăm interesele. Acest proiect durează aproximativ o oră dacă sunteți nou la conexiunile I²C și la configurarea software-ului și este o modalitate excelentă de a extinde capacitățile MPL3115A2 cu Raspberry Pi în Java.
Pasul 1: Echipament indispensabil de care avem nevoie
1. Raspberry Pi
Primul pas a fost obținerea unei plăci Raspberry Pi. Acest mic geniu este folosit de amatori, profesori și în crearea de medii inovatoare.
2. I2C Shield pentru Raspberry Pi
INPI2 (adaptor I2C) oferă Raspberry Pi 2/3 un port I²C pentru utilizare cu mai multe dispozitive I2C. Este disponibil pe magazinul Dcube.
3. Altimetru, senzor de presiune și temperatură, MPL3115A2
MPL3115A2 este un senzor de presiune MEMS cu o interfață I²C pentru a da date de presiune, altitudine și temperatură. Acest senzor folosește protocolul I²2 pentru comunicare. Am achiziționat acest senzor de la Dcube Store.
4. Cablu de conectare
Am folosit cablul de conectare I²C disponibil la Dcube Store.
5. Cablu micro USB
Raspberry Pi este alimentat de la o sursă micro USB.
6. Îmbunătățirea accesului la Internet - Cablu Ethernet / modul WiFi
Unul dintre primele lucruri pe care veți dori să le faceți este să vă conectați Raspberry Pi la Internet. Vă puteți conecta utilizând un cablu Ethernet sau cu un adaptor Wireless USB Nano WiFi.
7. Cablu HDMI (opțional, la alegerea dvs.)
Puteți conecta Raspberry Pi la un monitor folosind un cablu HDMI. De asemenea, puteți accesa de la distanță Raspberry Pi utilizând SSH / PuTTY.
Pasul 2: Conexiuni hardware pentru a pune împreună circuitul
Realizați circuitul conform schemei prezentate. În general, conexiunile sunt destul de simple. Urmați instrucțiunile și imaginile de mai sus și nu ar trebui să aveți probleme. În timp ce planificam, ne-am uitat la hardware și codificare, precum și la elementele de bază ale electronicii. Am vrut să proiectăm o schemă electronică simplă pentru acest proiect. În diagramă, puteți observa diferitele părți, componente de putere și senzor I²C urmând protocoalele de comunicație I²C. Sperăm că acest lucru ilustrează cât de simplă este electronica pentru acest proiect.
Conexiunea Raspberry Pi și I2C Shield
Pentru aceasta, Raspberry Pi și așezați scutul I²C pe el. Apăsați ușor Shield (Vedeți imaginea).
Conexiunea senzorului și a Raspberry Pi
Luați senzorul și conectați cablul I²C cu acesta. Asigurați-vă că ieșirea I²C se conectează ÎNTOTDEAUNA la intrarea I²C. La fel urmează Raspberry Pi cu scutul I²C montat deasupra. Avem cablurile de conectare I²C și I²C pe partea noastră ca un avantaj foarte mare, deoarece rămân doar cu opțiunea plug and play. Nu mai există probleme legate de cabluri și, prin urmare, dispariția a dispărut. Ce ușurare, doar să te imaginezi în rețeaua de fire și să intri în asta. La fel de simplu ca acesta!
Notă: firul maro trebuie să urmeze întotdeauna conexiunea la masă (GND) între ieșirea unui dispozitiv și intrarea unui alt dispozitiv
Conectivitatea la Internet este crucială
Pentru a face proiectul nostru un succes, avem nevoie de un acces la internet pentru Raspberry Pi. În aceasta, aveți opțiuni precum conectarea unui cablu Ethernet (LAN). De asemenea, ca o alternativă, dar impresionantă modalitate de a utiliza un adaptor WiFi.
Alimentarea circuitului
Conectați cablul Micro USB la mufa de alimentare a Raspberry Pi. Porniți-l și voila, suntem bine să plecăm!
Conexiune la ecran
Putem avea cablul HDMI conectat la un monitor sau putem fi puțin inovatori pentru a ne face Pi fără cap (folosind -SSH / PuTTY), ceea ce ajută la reducerea costurilor suplimentare, deoarece suntem cumva pasionați.
Când un obicei începe să coste bani, se numește hobby
Pasul 3: Programarea Raspberry Pi în Java
Codul Java pentru senzorul Raspberry Pi și MPL3115A2. Este disponibil în depozitul nostru Github.
Înainte de a trece la cod, asigurați-vă că ați citit instrucțiunile date în fișierul Readme și configurați Raspberry Pi în conformitate cu acesta. Va dura doar un moment pentru a face acest lucru. Altitudinea este calculată din presiune folosind ecuația de mai jos:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Valoare înregistrare)
unde p0 = presiunea nivelului mării (101326 Pa) și h este în metri. MPL3115A2 folosește această valoare, deoarece registrul de compensare este definit ca 2 Pascali per LSB. Codul este clar în fața ta și este în cea mai simplă formă pe care ți-o poți imagina și nu ar trebui să ai probleme.
Puteți copia și codul Java funcțional pentru acest senzor de aici.
// Distribuit cu o licență de voință liberă. // MPL3115A2 // Acest cod este conceput pentru a funcționa cu Mini-modulul MPL3115A2_I2CS I2C disponibil de pe ControlEverything.com. //
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;
clasa publică MPL3115A2
{public static void main (String args ) throws Exception {// Create I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Obțineți dispozitiv I2C, adresa I2C MPL3115A2 este 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Selectați registrul de control // Mod activ, OSR = 128, modul altimetru device.write (0x26, (octet) 0xB9); // Selectați registrul de configurare a datelor // Eveniment pregătit pentru date activat pentru altitudine, presiune, temperatură device.write (0x13, (octet) 0x07); // Selectați registrul de control // Mod activ, OSR = 128, modul altimetru device.write (0x26, (octet) 0xB9); Thread.sleep (1000);
// Citiți 6 octeți de date de la adresa 0x00 (00)
// stare, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb octet date = octet nou [6]; device.read (0x00, date, 0, 6);
// Convertiți datele în 20 de biți
int tHeight = ((((date [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((date [4] * 256) + (date [5] & 0xF0)) / 16; altitudine dublă = tHeight / 16,0; cTemp dublu = (temp / 16.0); fTemp dublu = cTemp * 1,8 + 32;
// Selectați registrul de control
// Mod activ, OSR = 128, modul barometru device.write (0x26, (octet) 0x39); Thread.sleep (1000); // Citiți 4 octeți de date de la adresa 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);
// Convertiți datele în 20 de biți
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; presiune dublă = (pres / 4.0) / 1000.0; // Ieșire date pe ecran System.out.printf ("Presiune:%.2f kPa% n", presiune); System.out.printf ("Altitudine:%.2f m% n", altitudine); System.out.printf ("Temperatura în grade Celsius:%.2f C% n", cTemp); System.out.printf ("Temperatura în Fahrenheit:%.2f F% n", fTemp); }}
Pasul 4: Practicitatea codului (funcțional)
Acum, descărcați (sau git pull) codul și deschideți-l în Raspberry Pi. Rulați comenzile pentru a compila și încărca codul pe terminal și vedeți ieșirea pe monitor. După câteva secunde, va afișa toți parametrii. După ce vă asigurați că totul funcționează fără probleme, puteți duce acest proiect într-un proiect mai mare.
Pasul 5: Aplicații și caracteristici
Utilizarea obișnuită a senzorului de altimetru de precizie MPL3115A2 este în aplicații precum Hartă (Asistență hartă, Navigare), Busolă magnetică, sau GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), Altimetrie de înaltă precizie, Smartphone-uri / Tablete, Altimetrie electronică personală și Sateliți (echipamente pentru stații meteo / prognoză).
De ex. Folosind acest senzor și Rasp Pi, puteți construi un altimetru vizual digital, cea mai importantă piesă de echipament de parașutism, care poate măsura altitudinea, presiunea aerului și temperatura. Puteți adăuga tifon de vânt și alți senzori, astfel încât să faceți unul mai interesant.
Pasul 6: Concluzie
Deoarece programul este uimitor de personalizabil, există multe modalități interesante prin care puteți extinde acest proiect și îl puteți face și mai bun. De exemplu, un altimetru / interferometru ar include mai mulți altimetri montați pe catarguri, care ar dobândi măsurători simultan, asigurând astfel o acoperire continuă, cu un singur sau multimetru cu o zonă largă. Avem un tutorial video interesant pe YouTube care vă poate ajuta să înțelegeți mai bine acest proiect.
Recomandat:
M5STACK Cum se afișează temperatura, umiditatea și presiunea pe M5StickC ESP32 folosind Visuino - Ușor de făcut: 6 pași
M5STACK Cum se afișează temperatura, umiditatea și presiunea pe M5StickC ESP32 folosind Visuino - ușor de făcut: În acest tutorial vom învăța cum să programăm ESP32 M5Stack StickC cu Arduino IDE și Visuino pentru a afișa temperatura, umiditatea și presiunea utilizând senzorul ENV (DHT12, BMP280, BMM150)
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: 6 pași
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: Sună interesant. Este foarte posibil în acest moment când toți intrăm în generația IoT. În calitate de ciudat al electronicii, ne-am jucat cu Raspberry Pi și am decis să facem proiecte interesante folosind aceste cunoștințe. În acest proiect, vom
Măsurați temperatura și umiditatea folosind DHT11 / DHT22 și Arduino: 4 pași
Măsurați temperatura și umiditatea folosind DHT11 / DHT22 și Arduino: În acest tutorial Arduino vom învăța cum să utilizați senzorul DHT11 sau DHT22 pentru măsurarea temperaturii și umidității cu placa Arduino
Raspberry Pi / DHT11 - Măsurați umiditatea și temperatura: 4 pași
Raspberry Pi / DHT11 - Măsurarea umidității și temperaturii: am vrut să măsoară temperatura și umiditatea folosind Raspberry Pi. Am ales un senzor DHT11 pentru că este robust și ieftin. Configurarea acestuia este, de asemenea, bine documentată, dar există o serie de capcane pe care aș dori să mă concentrez. DHT11
Măsurați presiunea cu micro: bit: 5 pași (cu imagini)
Măsurați presiunea cu ajutorul microbului dvs.: Instrucțiunile următoare descriu un dispozitiv ușor de construit și ieftin pentru efectuarea măsurătorilor de presiune și pentru a demonstra legea lui Boyle, utilizând bitul micro: în combinație cu senzorul de presiune / temperatură BMP280. Întrucât această seringă / presiune este