Turinys:

Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2: 6 žingsniai
Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2: 6 žingsniai

Video: Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2: 6 žingsniai

Video: Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2: 6 žingsniai
Video: Урок 68. Домашняя автоматизация: как управлять 16-канальным релейным модулем с помощью Arduino, управляя 16 нагрузками переменного тока. 2024, Liepa
Anonim
Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2
Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2
Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2
Aukštis, slėgis ir temperatūra naudojant „Raspberry Pi“su MPL3115A2

Skamba įdomiai. Tai visiškai įmanoma šiuo metu, kai mes visi einame į IoT kartą. Būdami elektronikos keistuoliu, mes žaidėme su „Raspberry Pi“ir nusprendėme sukurti įdomių projektų, panaudodami šias žinias. Šiame projekte mes išmatuosime aukštį, oro slėgį, temperatūrą naudodami „Raspberry Pi“. Taigi čia pateikiami dokumentai (visada keičiami ir plečiami). Rekomenduojame pradėti nuo nurodymų ir nukopijuoti kodą. Vėliau galite eksperimentuoti. Taigi pradėkime.

1 žingsnis: reikalinga įranga

Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia
Privaloma įranga, kurios mums reikia

1. Avietė Pi

Pirmasis žingsnis buvo įsigyti Raspberry Pi plokštę. Mes nusipirkome savo, o jūs - ir jūs. Pradėję mokytis iš vadovėlių, supratome scenarijų ir ryšio sąvokas ir sužinojome vėliau. Šis mažas genijus būdingas mėgėjams, mokytojams ir kuriant novatorišką aplinką.

2. „I²C 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, suteikiančia slėgio/aukščio ir temperatūros duomenis. Šis jutiklis naudoja I²C protokolą bendravimui. Šį jutiklį įsigijome iš „Dcube Store“

4. Prijungimo kabelis

„Ic“jungiamąjį kabelį turėjome „Dcube“parduotuvėje

5. Mikro USB kabelis

Mikro USB kabelis Maitinimo šaltinis yra idealus pasirinkimas maitinant Raspberry Pi.

6. Interneto prieigos stiprinimas - eterneto kabelis/„WiFi“adapteris

Šiuo laikotarpiu norint pasiekti bet ką reikia interneto ryšio (beveik taip pat, kaip ir gyvenimas neprisijungus). Taigi, norėdami užmegzti interneto ryšį, kad galėtume lengvai ir be jokių problemų naudotis LAN patarimu, kreipiamės į LAN kabelį arba belaidį „Nano USB“adapterį („WiFi“).

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

Tai šiek tiek sudėtinga. Jei norite, galite turėti galimybę prijungti kitą monitorių, jei jis yra labai ekonomiškas, sukurdami „Pi“ryšį be galvos su kompiuteriu/nešiojamuoju kompiuteriu.

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 labai paprastos. Vykdykite 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

Pirmiausia paimkite Raspberry Pi ir uždėkite ant jo I²C skydą. Š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. Tiesiog paprastas procesas, kurį mes minėjome.

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

Interneto ryšys yra gyvybiškai svarbus

Čia jūs tikrai turite pasirinkimą. „Raspberry Pi“galite prijungti LAN kabeliu arba belaidžiu „Nano“USB adapteriu, kad galėtumėte prisijungti prie „WiFi“. Bet kokiu atveju pagrindinis tikslas buvo prisijungti prie interneto.

Grandinės maitinimas

Prijunkite „Micro USB“kabelį prie „Raspberry Pi“maitinimo lizdo. Įžiebkite šviesą ir mums gera eiti.

Ryšys su ekranu

Mes galime prijungti HDMI kabelį prie naujo monitoriaus arba sukurti „Pi“be galvos, kuris yra kūrybingas ir ekonomiškas naudojant nuotolinę prieigą, pvz., SSH/PuTTY. (Žinau, kad mes nefinansuojami kaip slapta organizacija)

3 žingsnis: Raspberry Pi programavimas „Python“

Raspberry Pi programavimas „Python“
Raspberry Pi programavimas „Python“

Raspberry Pi ir MPL3115A2 jutiklio „Python“kodas. 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 akimirką.

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) ir h yra 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ų.

Iš čia taip pat galite nukopijuoti šio jutiklio veikiančią „Python“kodą.

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

importuoti smbus

importo laikas

# Gaukite I2C autobusą

autobusas = smbus. SMBus (1)

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite valdymo registrą, 0x26 (38) # 0xB9 (185) Aktyvus režimas, OSR = 128, Altimeter mode bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adresas, 0x60 (96) # Pasirinkite duomenų konfigūracijos registrą, 0x13 (19)) # 0x07 (07) Įjungtas duomenų paruošimo įvykis aukščiui, slėgiui, temperatūrai magistralėje.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adresas, 0x60 (96) # Pasirinkite valdymo registrą, 0x26 (38) # 0xB9 (185) Aktyvus režimas, OSR = 128, altimetro režimo magistralė.write_byte_data (0x60, 0x26, 0xB9)

laikas. miegas (1)

# MPL3115A2 adresas, 0x60 (96)

# Skaityti duomenis iš 0x00 (00), 6 baitų # būsenos, tAukštis MSB1, tAukštis MSB, tAukštis LSB, temp MSB, temp LSB duomenys = autobusas.read_i2c_block_data (0x60, 0x00, 6)

# Konvertuokite duomenis į 20 bitų

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

# MPL3115A2 adresas, 0x60 (96)

# Pasirinkite valdymo registrą, 0x26 (38) # 0x39 (57) Aktyvusis režimas, OSR = 128, Barometro režimo magistralė.write_byte_data (0x60, 0x26, 0x39)

laikas. miegas (1)

# MPL3115A2 adresas, 0x60 (96)

# Skaityti duomenis iš 0x00 (00), 4 baitų # būsenos, iš anksto MSB1, iš anksto MSB, iš anksto LSB duomenys = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konvertuokite duomenis į 20 bitų

pres = ((duomenys [1] * 65536) + (duomenys [2] * 256) + (duomenys [3] ir 0xF0)) / 16 slėgis = (pres / 4,0) / 1000,0

# Išveskite duomenis į ekraną

spausdinti "Slėgis: %.2f kPa" %slėgio spausdinimas "Aukštis: %.2f m" %aukščio spausdinimas "Temperatūra Celsijaus laipsniais: %.2f C" %cTemp spausdinimas "Temperatūra Farenheitu: %.2f F" %fTemp

4 žingsnis: kodekso praktiškumas (testavimas)

Kodekso praktiškumas (testavimas)
Kodekso praktiškumas (testavimas)

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 tikslaus aukščio matuoklio I²C jutiklis dažniausiai naudojamas tokiose programose kaip Žemėlapis (Žemėlapio asistentas, 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. projektas, skirtas „Personal Electronics Altimeter“, kuris matuoja aukštį, oro slėgį, temperatūrą naudojant „Raspberry Pi“. „Personal Electronics Altimeter“yra gana greitai sukurtas projektas. Tai užtruks tik kelias akimirkas, jei turite visas dalis ir neimprovizuosite (žinoma, galite!). Slėgio aukščio matuoklis yra altimetras, randamas daugumoje orlaivių, o parašiutininkai panašiems tikslams naudoja ant riešo montuojamas versijas. Žygeiviai ir alpinistai naudoja ant riešo arba rankoje laikomus aukščiamačius.

6 žingsnis: Išvada

Tikiuosi, kad šis projektas įkvėps tolesniems eksperimentams. Šis I²C jutiklis yra neįtikėtinai universalus, pigus ir prieinamas. Kadangi tai labai kintanti programa, yra įdomių būdų, kaip išplėsti šį projektą ir padaryti jį dar geresnį. Pavyzdžiui, aukščio matuoklis yra neprivalomas prietaisas visureigėse transporto priemonėse, padedantis naršyti. Kai kurie aukštos kokybės prabangūs automobiliai, kurie niekada nebuvo skirti išvažiuoti iš asfaltuotų kelių, naudoja šią technologiją. Jūsų patogumui „YouTube“turime įdomią vaizdo įrašo pamoką, kuri gali padėti jūsų tyrimams. Tikiuosi, kad šis projektas įkvėps tolesniems eksperimentams.

Rekomenduojamas: