Turinys:
- 1 žingsnis: Nepakeičiama įranga, kurios mums reikia
- 2 veiksmas: aparatinės įrangos jungtys grandinei sujungti
- 3 žingsnis: „Raspberry Pi“programavimas „Java“
- 4 žingsnis: Kodekso praktiškumas (veikimas)
- 5 žingsnis: programos ir funkcijos
- 6 žingsnis: Išvada
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Ž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
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
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“
„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)
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:
M5STACK Kaip rodyti temperatūrą, drėgmę ir slėgį naudojant „M5StickC ESP32“naudojant „Visuino“- lengva padaryti: 6 žingsniai
„M5STACK“Kaip rodyti temperatūrą, drėgmę ir slėgį „M5StickC ESP32“naudojant „Visuino“- lengva padaryti: šioje pamokoje sužinosime, kaip užprogramuoti „ESP32 M5Stack StickC“su „Arduino IDE“ir „Visuino“rodyti temperatūrą, drėgmę ir slėgį naudojant ENV jutiklį (DHT12, BMP280, BMM150)
Išmatuokite temperatūrą ir drėgmę naudodami DHT11 / DHT22 ir Arduino: 4 žingsniai
Temperatūros ir drėgmės matavimas naudojant DHT11 / DHT22 ir Arduino: Šioje „Arduino“pamokoje sužinosime, kaip naudojant DHT11 arba DHT22 jutiklį temperatūrai ir drėgmei matuoti naudojant „Arduino“plokštę
Išmatuokite tinklo dažnį naudodami „Arduino“: 7 žingsniai (su nuotraukomis)
Išmatuokite tinklo dažnį naudodami „Arduino“: Balandžio 3 d., Indijos ministras pirmininkas Shri. Balandžio 5 d. 21 val. Narendra Modi kreipėsi į indus, prašydama išjungti šviesą ir uždegti lempą (Diya), pažymint Indijos kovą su koronavirusu. Po pranešimo kilo didelis chaosas
Išmatuokite degalų lygį naudodami „Arduino“: 4 žingsniai (su nuotraukomis)
Išmatuokite degalų lygį naudodami „Arduino“: jutiklis paprastai naudoja plūdę, prijungtą prie potenciometro, paprastai spausdintą rašalą šiuolaikiniame automobilyje. Kai bakas ištuštėja, plūdė nukrenta ir slenka judantį kontaktą išilgai rezistoriaus, padidindamas jo atsparumą. [2] Papildomai
Išmatuokite slėgį naudodami savo mikro: bitą: 5 žingsniai (su nuotraukomis)
Išmatuokite slėgį naudodami „Micro: bit“: šioje instrukcijoje aprašomas lengvai pagaminamas ir nebrangus prietaisas, skirtas matuoti slėgį ir pademonstruoti Boyle'o dėsnį, naudojant „micro: bit“kartu su slėgio/temperatūros jutikliu BMP280. Kadangi šis švirkštas/slėgis yra