Satura rādītājs:
- 1. darbība. Nepieciešamais aprīkojums, kas mums nepieciešams
- 2. darbība. Aparatūras savienojumi ķēdes salikšanai
- 3. darbība: Raspberry Pi programmēšana Java
- 4. darbība. Kodeksa praktiskums (darbs)
- 5. darbība: lietojumprogrammas un līdzekļi
- 6. darbība. Secinājums
Video: Izmantojot Raspberry Pi, izmēriet augstumu, spiedienu un temperatūru ar MPL3115A2: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Ziniet, kas jums pieder, un zināt, kāpēc jums tas pieder
Tas ir intriģējoši. Mēs dzīvojam interneta automatizācijas laikmetā, jo tas ienirst daudzās jaunās lietojumprogrammās. Kā datoru un elektronikas entuziasti mēs esam daudz mācījušies kopā ar Raspberry Pi un nolēmām apvienot mūsu intereses. Šis projekts aizņem apmēram stundu, ja esat iesācējs I²C savienojumos un programmatūras iestatīšanā, un tas ir lielisks veids, kā paplašināt MPL3115A2 iespējas, izmantojot Raspberry Pi Java.
1. darbība. Nepieciešamais aprīkojums, kas mums nepieciešams
1. Aveņu Pi
Pirmais solis bija Raspberry Pi dēļa iegūšana. Šo mazo ģēniju izmanto hobiji, skolotāji un novatoriskas vides veidošanā.
2. I2C vairogs Raspberry Pi
INPI2 (I2C adapteris) nodrošina Raspberry Pi 2/3 an I²C portu lietošanai ar vairākām I2C ierīcēm. Tas ir pieejams Dcube veikalā.
3. Altimetrs, spiediena un temperatūras sensors, MPL3115A2
MPL3115A2 ir MEMS spiediena sensors ar I²C saskarni, lai sniegtu datus par spiedienu, augstumu un temperatūru. Šis sensors saziņai izmanto protokolu I²2. Šo sensoru iegādājāmies Dcube veikalā.
4. Savienojošais kabelis
Mēs izmantojām I²C savienojuma kabeli, kas pieejams Dcube veikalā.
5. Mikro USB kabelis
Raspberry Pi baro no mikro USB padeves.
6. Interneta piekļuves uzlabošana - Ethernet kabelis/WiFi modulis
Viena no pirmajām lietām, ko vēlaties darīt, ir savienot Raspberry Pi ar internetu. Varat izveidot savienojumu, izmantojot Ethernet kabeli vai bezvadu USB Nano WiFi adapteri.
7. HDMI kabelis (pēc izvēles, jūsu izvēle)
Jūs varat savienot Raspberry Pi ar monitoru, izmantojot HDMI kabeli. Varat arī attālināti piekļūt savam Raspberry Pi, izmantojot SSH/PuTTY.
2. darbība. Aparatūras savienojumi ķēdes salikšanai
Izveidojiet ķēdi saskaņā ar parādīto shēmu. Kopumā savienojumi ir diezgan vienkārši. Izpildiet iepriekš sniegtos norādījumus un attēlus, un jums nevajadzētu rasties problēmām. Plānojot, mēs apskatījām aparatūru un kodēšanu, kā arī elektronikas pamatus. Mēs vēlējāmies šim projektam izveidot vienkāršu elektronikas shēmu. Diagrammā jūs varat pamanīt dažādas detaļas, barošanas komponentus un I²C sensoru, ievērojot I²C sakaru protokolus. Cerams, ka tas parāda, cik vienkārša ir šī projekta elektronika.
Raspberry Pi un I2C Shield savienojums
Lai to izdarītu, Raspberry Pi un novietojiet uz tā I²C vairogu. Viegli nospiediet vairogu (skatiet attēlu).
Sensora un Raspberry Pi savienojums
Paņemiet sensoru un pievienojiet tam I²C kabeli. Pārliecinieties, vai I²C izeja VIENMĒR ir savienota ar I²C ieeju. Tam jāseko arī Raspberry Pi ar tam piestiprināto I²C vairogu. Mūsu pusē ir ļoti liela priekšrocība I²C Shield un I²C savienojošie kabeļi, jo mums paliek tikai plug and play iespēja. Vairs nav problēmu ar tapām un vadiem, un līdz ar to apjukums ir pazudis. Kāds atvieglojums ir iedomāties sevi vadu tīklā un tajā iekļūt. Tik vienkārši!
Piezīme. Brūnajam vadam vienmēr jāseko zemējuma (GND) savienojumam starp vienas ierīces izeju un citas ierīces ieeju
Interneta savienojums ir izšķirošs
Lai mūsu projekts būtu veiksmīgs, mums ir nepieciešama interneta piekļuve mūsu Raspberry Pi. Šajā gadījumā jums ir tādas iespējas kā Ethernet (LAN) kabeļa pievienošana. Arī kā alternatīvs, bet iespaidīgs veids, kā izmantot WiFi adapteri.
Ķēdes barošana
Pievienojiet Micro USB kabeli Raspberry Pi barošanas ligzdai. Ieslēdz un voila, mums ir labi doties!
Savienojums ar ekrānu
Mēs varam vai nu savienot HDMI kabeli ar monitoru, vai arī mēs varam būt nedaudz novatoriski, lai izveidotu bezgalvu Pi (izmantojot -SSH/PuTTY), kas palīdz samazināt papildu izmaksas, jo mēs kaut kā esam hobiji.
Kad ieradums sāk maksāt naudu, to sauc par hobiju
3. darbība: Raspberry Pi programmēšana Java
Raspberry Pi un MPL3115A2 sensora Java kods. Tas ir pieejams mūsu Github krātuvē.
Pirms turpināt kodu, noteikti izlasiet Readme failā sniegtos norādījumus un iestatiet Raspberry Pi atbilstoši tam. Tas prasīs tikai brīdi. Augstums tiek aprēķināts no spiediena, izmantojot zemāk redzamo vienādojumu:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (reģistra vērtība)
kur p0 = jūras līmeņa spiediens (101326 Pa) un h ir metros. MPL3115A2 izmanto šo vērtību, jo nobīdes reģistrs ir definēts kā 2 Pascals uz LSB. Kods ir skaidri redzams jūsu priekšā, un tas ir visvienkāršākajā formā, kādu varat iedomāties, un jums nevajadzētu rasties problēmām.
Arī no šejienes varat nokopēt šī sensora darba Java kodu.
// Izplatīts ar brīvās gribas licenci. // MPL3115A2 // Šis kods ir paredzēts darbam ar MPL3115A2_I2CS I2C mini moduli, kas pieejams vietnē ControlEverything.com. //
importēt com.pi4j.io.i2c. I2CBus;
importēt com.pi4j.io.i2c. I2CDevice; importēt com.pi4j.io.i2c. I2CFactory; importēt java.io. IOException;
publiskā klase MPL3115A2
{public static void main (String args ) throws Exception {// Izveidot I2C kopni I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Iegūt I2C ierīci, MPL3115A2 I2C adrese ir 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Atlasiet vadības reģistru // Aktīvais režīms, OSR = 128, altimetra režīma ierīce. Rakstīt (0x26, (baits) 0xB9); // Atlasīt datu konfigurācijas reģistru // Datu gatavs notikums ir iespējots augstuma, spiediena, temperatūras ierīcei. Rakstīt (0x13, (baits) 0x07); // Atlasiet vadības reģistru // Aktīvais režīms, OSR = 128, altimetra režīma ierīce. Rakstīt (0x26, (baits) 0xB9); Vītne.miega (1000);
// Nolasīt 6 baitus datu no adreses 0x00 (00)
// statuss, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb baits dati = jauns baits [6]; device.read (0x00, dati, 0, 6);
// Pārvērst datus par 20 bitiem
int tAugstums = ((((dati [1] & 0xFF) * 65536) + ((dati [2] un 0xFF) * 256) + (dati [3] un 0xF0)) / 16); int temp = ((dati [4] * 256) + (dati [5] & 0xF0)) / 16; dubults augstums = tAugstums / 16,0; dubultā cTemp = (temp / 16,0); dubultā fTemp = cTemp * 1,8 + 32;
// Atlasiet vadības reģistru
// Aktīvais režīms, OSR = 128, barometra režīma ierīce. Rakstīt (0x26, (baits) 0x39); Vītne.miega (1000); // Nolasīt 4 baitus datu no adreses 0x00 (00) // statuss, pres msb1, pres msb, pres lsb device.read (0x00, dati, 0, 4);
// Pārvērst datus par 20 bitiem
int pres = ((((dati [1] & 0xFF) * 65536) + ((dati [2] & 0xFF) * 256) + (dati [3] & 0xF0)) / 16; dubultspiediens = (pres / 4,0) / 1000,0; // Izejas dati uz ekrāna System.out.printf ("Spiediens: %.2f kPa %n", spiediens); System.out.printf ("Augstums: %.2f m %n", augstums); System.out.printf ("Temperatūra pēc Celsija: %.2f C %n", cTemp); System.out.printf ("Temperatūra pēc Fārenheita: %.2f F %n", fTemp); }}
4. darbība. Kodeksa praktiskums (darbs)
Tagad lejupielādējiet (vai git pull) kodu un atveriet to Raspberry Pi. Palaidiet komandas, lai apkopotu un augšupielādētu kodu terminālī, un skatiet monitora izvadi. Pēc dažām sekundēm tas parādīs visus parametrus. Pēc tam, kad esat pārliecinājies, ka viss darbojas nevainojami, varat pārņemt šo projektu lielākā projektā.
5. darbība: lietojumprogrammas un līdzekļi
MPL3115A2 precīzo altimetra sensoru parasti izmanto tādās lietojumprogrammās kā karte (karšu palīgs, navigācija), magnētiskais kompass vai GPS (GPS mirgošana, GPS uzlabošana ārkārtas dienestiem), augstas precizitātes altimetrija, viedtālruņi/planšetdatori, personīgās elektronikas altimetrija un Satelīti (meteoroloģisko staciju aprīkojums/prognozēšana).
Par piem. Izmantojot šo sensoru un Rasp Pi, jūs varat izveidot digitālo vizuālo augstuma mērītāju, vissvarīgāko izpletņlēkšanas aprīkojumu, kas var izmērīt augstumu, gaisa spiedienu un temperatūru. Jūs varat pievienot vēja marli un citus sensorus, lai padarītu to interesantāku.
6. darbība. Secinājums
Tā kā programma ir pārsteidzoši pielāgojama, ir daudz interesantu veidu, kā paplašināt šo projektu un padarīt to vēl labāku. Piemēram, altimetrs/interferometrs ietver vairākus altimetrus, kas uzstādīti uz mastiem, kas vienlaikus veic mērījumus, tādējādi nodrošinot nepārtrauktu, viena vai vairāku altimetru plaša apgabala pārklājumu. Mums ir interesanta video apmācība vietnē YouTube, kas var palīdzēt jums labāk izprast šo projektu.
Ieteicams:
M5STACK Kā parādīt temperatūru, mitrumu un spiedienu M5StickC ESP32, izmantojot Visuino - viegli izdarāms: 6 soļi
M5STACK Kā parādīt temperatūru, mitrumu un spiedienu M5StickC ESP32, izmantojot Visuino - viegli izdarāms: Šajā apmācībā mēs iemācīsimies programmēt ESP32 M5Stack StickC ar Arduino IDE un Visuino, lai parādītu temperatūru, mitrumu un spiedienu, izmantojot ENV sensoru (DHT12, BMP280, BMM150)
Altimetrs (augstuma mērītājs), pamatojoties uz atmosfēras spiedienu: 7 soļi (ar attēliem)
Altimetrs (augstuma mērītājs) Pamatojoties uz atmosfēras spiedienu: [Rediģēt]; Skatiet 2. versiju 6. darbībā ar manuālu sākotnējā augstuma ievadi. Šis ir altimetra (augstuma mērītāja) apraksts, kura pamatā ir Arduino Nano un Bosch BMP180 atmosfēras spiediena sensors. Dizains ir vienkāršs, bet mērījumi
Izmēriet temperatūru un mitrumu, izmantojot DHT11 / DHT22 un Arduino: 4 soļi
Temperatūras un mitruma mērīšana, izmantojot DHT11 / DHT22 un Arduino: Šajā Arduino apmācībā mēs iemācīsimies izmantot DHT11 vai DHT22 sensoru temperatūras un mitruma mērīšanai ar Arduino plāksni
Izmēriet tīkla frekvenci, izmantojot Arduino: 7 soļi (ar attēliem)
Izmēriet tīkla frekvenci, izmantojot Arduino: 3. aprīlī, Indijas premjerministrs Šri. Narendra Modi bija aicinājusi indiešus izslēgt gaismas un iedegt lampu (Dija) 5. aprīlī pulksten 21:00, lai atzīmētu Indijas cīņu pret koronavīrusu. Tūlīt pēc paziņojuma iestājās liels haoss
Izmēriet spiedienu ar savu mikro: bits: 5 soļi (ar attēliem)
Spiediena mērīšana ar savu Micro: bit: Šajā instrukcijā aprakstīta viegli uzbūvējama un lēta ierīce spiediena mērīšanai un Boila likuma demonstrēšanai, izmantojot micro: bit kombinācijā ar spiediena/temperatūras sensoru BMP280. Tā kā šī šļirce/spiediens ir