Turinys:

„Raspberry Pi“naudojimas, išmatuokite aukštį, slėgį ir temperatūrą naudodami MPL3115A2: 6 žingsniai
„Raspberry Pi“naudojimas, išmatuokite aukštį, slėgį ir temperatūrą naudodami MPL3115A2: 6 žingsniai
Anonim
Image
Image
Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia

Žinokite, kas jums priklauso, ir žinokite, kodėl jums tai priklauso

Tai intriguoja. Mes gyvename interneto automatikos amžiuje, nes ji pasineria į daugybę naujų programų. Kaip kompiuterių ir elektronikos entuziastai, mes daug išmokome su „Raspberry Pi“ir nusprendėme suderinti savo interesus. Šis projektas užtrunka apie valandą, jei dar nesate susipažinę su I²C ryšiais ir programinės įrangos sąranka, ir tai puikus būdas išplėsti MPL3115A2 galimybes naudojant „Raspberry Pi“„Java“.

1 žingsnis: Nepakeičiama įranga, kurios mums reikia

Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia
Nepakeičiama įranga, kurios mums reikia

1. Avietė Pi

Pirmasis žingsnis buvo įsigyti Raspberry Pi plokštę. Šį mažą genijų naudoja mėgėjai, mokytojai ir kuriant novatorišką aplinką.

2. „I2C Shield“, skirtas „Raspberry Pi“

INPI2 (I2C adapteris) turi Raspberry Pi 2/3 an I²C prievadą, skirtą naudoti su keliais I2C įrenginiais. Tai galima rasti „Dcube“parduotuvėje.

3. Aukščio matuoklis, slėgio ir temperatūros jutiklis, MPL3115A2

MPL3115A2 yra MEMS slėgio jutiklis su I²C sąsaja, leidžianti pateikti slėgio, aukščio ir temperatūros duomenis. Šis jutiklis naudoja I²2 protokolą bendravimui. Šį jutiklį įsigijome iš „Dcube Store“.

4. Prijungimo kabelis

Mes naudojome „I²C“jungiamąjį kabelį, kurį galima įsigyti „Dcube Store“.

5. Mikro USB kabelis

„Raspberry Pi“maitinamas naudojant mikro USB jungtį.

6. Interneto prieigos stiprinimas - Ethernet kabelis/WiFi modulis

Vienas iš pirmųjų dalykų, kuriuos norėsite padaryti, yra prijungti „Raspberry Pi“prie interneto. Galite prisijungti naudodami Ethernet kabelį arba naudodami belaidį USB „Nano WiFi“adapterį.

7. HDMI kabelis (pasirinktinai, jūsų pasirinkimas)

Galite prijungti „Raspberry Pi“prie monitoriaus naudodami HDMI kabelį. Taip pat galite nuotoliniu būdu pasiekti „Raspberry Pi“naudodami SSH/PuTTY.

2 veiksmas: aparatinės įrangos jungtys grandinei sujungti

Techninės įrangos jungtys grandinei sujungti
Techninės įrangos jungtys grandinei sujungti
Techninės įrangos jungtys grandinei sujungti
Techninės įrangos jungtys grandinei sujungti

Padarykite grandinę pagal pateiktą schemą. Apskritai, jungtys yra gana paprastos. Vykdykite aukščiau pateiktas instrukcijas ir vaizdus, ir jums neturėtų kilti problemų. Planuodami mes pažvelgėme į aparatūrą ir kodavimą, taip pat į elektronikos pagrindus. Šiam projektui norėjome sukurti paprastą elektronikos schemą. Diagramoje galite pastebėti skirtingas dalis, maitinimo komponentus ir I²C jutiklį pagal I²C ryšio protokolus. Tikimės, kad tai parodo, kaip paprasta šio projekto elektronika.

„Raspberry Pi“ir „I2C Shield“jungtis

Norėdami tai padaryti, „Raspberry Pi“ir uždėkite ant jo „I²C Shield“. Švelniai paspauskite skydą (žr. Paveikslėlį).

Jutiklio ir „Raspberry Pi“prijungimas

Paimkite jutiklį ir prijunkite prie jo I²C kabelį. Įsitikinkite, kad I²C išvestis VISADA jungiasi prie I²C įvesties. To paties turi laikytis „Raspberry Pi“su virš jo pritvirtintu „I²C“ekranu. „I²C Shield“ir „I²C“jungiamieji kabeliai yra labai didelis privalumas, nes mums lieka tik prijungimo ir paleidimo funkcija. Daugiau jokių kaiščių ir laidų problemų, taigi painiavos nebeliko. Koks palengvėjimas, kaip įsivaizduoti save laidų tinkle ir patekti į tai. Tokia paprasta!

Pastaba: ruda viela visada turi sekti įžeminimo (GND) jungtį tarp vieno įrenginio išvesties ir kito įrenginio įvesties

Interneto ryšys yra esminis

Kad mūsų projektas būtų sėkmingas, mums reikia interneto prieigos prie „Raspberry Pi“. Tokiu atveju galite prijungti Ethernet (LAN) kabelį. Be to, kaip alternatyvus, bet įspūdingas būdas naudoti „WiFi“adapterį.

Grandinės maitinimas

Prijunkite „Micro USB“kabelį prie „Raspberry Pi“maitinimo lizdo. Įjunk ir voila, mums gera eiti!

Ryšys su ekranu

HDMI kabelį galime prijungti prie monitoriaus, arba galime būti šiek tiek novatoriški, kad sukurtume „Pi“be galvos (naudojant -SSH/PuTTY), kuris padeda sumažinti papildomas išlaidas, nes mes kažkaip esame mėgėjai.

Kai įprotis pradeda kainuoti pinigus, tai vadinama hobiu

3 žingsnis: „Raspberry Pi“programavimas „Java“

Raspberry Pi programavimas Java
Raspberry Pi programavimas Java

„Java“kodas Raspberry Pi ir MPL3115A2 jutikliui. Tai galima rasti mūsų „Github“saugykloje.

Prieš pereidami prie kodo, būtinai perskaitykite „Readme“faile pateiktas instrukcijas ir pagal tai nustatykite „Raspberry Pi“. Tai užtruks tik šiek tiek laiko. Aukštis apskaičiuojamas pagal slėgį, naudojant toliau pateiktą lygtį:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (registro vertė)

kur p0 = jūros lygio slėgis (101326 Pa), o h - metrais. MPL3115A2 naudoja šią vertę, nes poslinkio registras yra apibrėžtas kaip 2 Pascal per LSB. Kodas aiškiai matomas priešais jus ir yra paprasčiausios formos, kokią galite įsivaizduoti, ir jums neturėtų kilti problemų.

Taip pat galite nukopijuoti šio jutiklio veikiančią „Java“kodą.

// Platinama su laisvos valios licencija. // MPL3115A2 // Šis kodas skirtas dirbti su „MPL3115A2_I2CS I2C Mini“moduliu, kurį galima įsigyti iš „ControlEverything.com“. //

importuoti com.pi4j.io.i2c. I2CBus;

importuoti com.pi4j.io.i2c. I2CDevice; importuoti com.pi4j.io.i2c. I2CFactory; importuoti java.io. IOException;

viešoji klasė MPL3115A2

{public static void main (String args ) metimai Išimtis {// Sukurti I2C magistralę I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1); // Gauti I2C įrenginį, MPL3115A2 I2C adresas yra 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Pasirinkite valdymo registrą // Aktyvusis režimas, OSR = 128, altimetro režimo įrenginys.write (0x26, (baitas) 0xB9); // Pasirinkite duomenų konfigūracijos registrą // Duomenų paruošimo įvykis įjungtas aukščio, slėgio, temperatūros prietaisui. Rašyti (0x13, (baitas) 0x07); // Pasirinkite valdymo registrą // Aktyvusis režimas, OSR = 128, altimetro režimo įrenginys.write (0x26, (baitas) 0xB9); Siūlai. Miegas (1000);

// Perskaitykite 6 baitus duomenų iš adreso 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb baitas duomenys = naujas baitas [6]; device.read (0x00, duomenys, 0, 6);

// Konvertuokite duomenis į 20 bitų

int tHeight = ((((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16); int temp = ((duomenys [4] * 256) + (duomenys [5] ir 0xF0)) / 16; dvigubas aukštis = tAukštis / 16,0; dvigubas cTemp = (temp / 16,0); dvigubas fTemp = cTemp * 1,8 + 32;

// Pasirinkite valdymo registrą

// Aktyvusis režimas, OSR = 128, barometro režimo įrenginys. Rašyti (0x26, (baitas) 0x39); Siūlai. Miegas (1000); // Skaityti 4 baitus duomenų iš adreso 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Konvertuokite duomenis į 20 bitų

int pres = (((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16; dvigubas slėgis = (pres / 4,0) / 1000,0; // Išvesti duomenis į ekraną System.out.printf ("Slėgis: %.2f kPa %n", slėgis); System.out.printf ("Aukštis: %.2f m %n", aukštis); System.out.printf ("Temperatūra Celsijaus: %.2f C %n", cTemp); System.out.printf ("Temperatūra Farenheitu: %.2f F %n", fTemp); }}

4 žingsnis: Kodekso praktiškumas (veikimas)

Kodekso praktiškumas (veikia)
Kodekso praktiškumas (veikia)

Dabar atsisiųskite (arba ištraukite) kodą ir atidarykite jį „Raspberry Pi“. Vykdykite komandas kompiliuoti ir įkelti kodą terminale ir pamatysite monitoriaus išvestį. Po kelių sekundžių jis parodys visus parametrus. Įsitikinę, kad viskas veikia sklandžiai, galite perkelti šį projektą į didesnį projektą.

5 žingsnis: programos ir funkcijos

MPL3115A2 tikslus aukščio matuoklis dažniausiai naudojamas tokiose programose kaip Žemėlapis (Žemėlapio pagalba, Navigacija), Magnetinis kompasas arba GPS (GPS mirusiųjų skaičiavimas, GPS patobulinimas skubios pagalbos tarnyboms), Didelio tikslumo aukščio matavimas, Išmanieji telefonai/planšetiniai kompiuteriai, Asmeninės elektronikos aukščio matuoklis ir Palydovai (orų stoties įranga/prognozavimas).

Dėl pvz. Naudodami šį jutiklį ir „Rasp Pi“, galite sukurti skaitmeninį vizualų aukščio matuoklį, svarbiausią parašiutininkų įrangą, kuri gali matuoti aukštį, oro slėgį ir temperatūrą. Galite pridėti vėjo marlę ir kitus jutiklius, kad jie taptų įdomesni.

6 žingsnis: Išvada

Kadangi programa yra nuostabiai pritaikoma, yra daug įdomių būdų, kaip išplėsti šį projektą ir padaryti jį dar geresnį. Pavyzdžiui, aukščio matuoklis/interferometras apimtų kelis aukščio matuoklius, sumontuotus ant stiebų, kurie vienu metu atliktų matavimus ir taip užtikrintų nuolatinį, vieno aukščio ar kelių aukštų matuoklį. „YouTube“turime įdomią vaizdo įrašo pamoką, kuri gali padėti geriau suprasti šį projektą.

Rekomenduojamas: