INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
Weet wat u besit, en weet waarom u dit besit
Dit is interessant. Ons leef in die tyd van internetautomatisering, aangesien dit in 'n magdom nuwe toepassings val. As rekenaar- en elektronika -entoesiaste het ons baie geleer met die Raspberry Pi en besluit om ons belange saam te voeg. Hierdie projek neem ongeveer 'n uur as u nuut is met I²C -verbindings en sagteware -opstelling, en dit is 'n uitstekende manier om die vermoëns van MPL3115A2 uit te brei met Raspberry Pi in Java.
Stap 1: Onontbeerlike toerusting wat ons benodig
1. Framboos Pi
Die eerste stap was die verkryging van 'n Raspberry Pi -bord. Hierdie klein genie word gebruik deur stokperdjies, onderwysers en in die skep van innoverende omgewings.
2. I2C -skild vir Framboos Pi
Die INPI2 (I2C -adapter) bied die Raspberry Pi 2/3 en I²C -poort vir gebruik met verskeie I2C -toestelle. Dit is beskikbaar op Dcube Store.
3. Hoogtemeter, druk- en temperatuursensor, MPL3115A2
Die MPL3115A2 is 'n MEMS druksensor met 'n I²C -koppelvlak om druk-, hoogte- en temperatuurdata te gee. Hierdie sensor gebruik die I²2 -protokol vir kommunikasie. Ons het hierdie sensor by Dcube Store gekoop.
4. Aansluitkabel
Ons het die I²C -aansluitkabel gebruik wat by Dcube Store beskikbaar is.
5. Mikro -USB -kabel
Die Raspberry Pi word aangedryf deur 'n mikro -USB -toevoer.
6. Verbetering van internettoegang - Ethernet -kabel/WiFi -module
Een van die eerste dinge wat u wil doen, is om u Raspberry Pi aan die internet te koppel. U kan aansluit met 'n Ethernet -kabel of met 'n draadlose USB Nano WiFi -adapter.
7. HDMI -kabel (opsioneel, u keuse)
U kan Raspberry Pi met 'n HDMI -kabel aan 'n monitor koppel. U kan ook toegang tot u Raspberry Pi op afstand verkry deur SSH/PuTTY te gebruik.
Stap 2: Hardewareverbindings om die stroombaan saam te stel
Maak die stroombaan volgens die skema: In die algemeen is die verbindings redelik eenvoudig. Volg die instruksies en prente hierbo, en u hoef geen probleme te hê nie. Tydens die beplanning het ons gekyk na hardeware en kodering sowel as die basiese beginsels van elektronika. Ons wou 'n eenvoudige elektroniese skema vir hierdie projek ontwerp. In die diagram kan u die verskillende onderdele, kragkomponente en I²C -sensor sien wat volg op I²C -kommunikasieprotokolle. Hopelik illustreer dit hoe eenvoudig die elektronika vir hierdie projek is.
Verbinding van die Raspberry Pi en I2C Shield
Hiervoor, Raspberry Pi en plaas die I²C Shield daarop. Druk die skild saggies (sien die prentjie).
Aansluiting van die sensor en Framboos Pi
Neem die sensor en verbind die I²C -kabel daarmee. Maak seker dat I²C Output ALTYD aansluit by die I²C Input. Dieselfde moet gevolg word deur die Raspberry Pi met die I²C -skild daaroor gemonteer. Ons het die I²C Shield en die I²C -aansluitkabels aan ons kant as 'n baie groot voordeel, aangesien ons slegs die plug and play -opsie oor het. Geen probleem met penne en bedrading meer nie, en daarom is verwarring weg. Wat 'n verligting, stel u uself net voor in die draaddraad en daarby ingaan. So eenvoudig soos hierdie!
Let wel: die bruin draad moet altyd die grondverbinding (GND) volg tussen die uitset van een toestel en die ingang van 'n ander toestel
Internetverbinding is van kardinale belang
Om ons projek 'n sukses te maak, benodig ons 'n internettoegang vir ons Raspberry Pi. Hierin het u opsies soos om 'n Ethernet (LAN) kabel aan te sluit. As 'n alternatiewe, maar indrukwekkende manier om 'n WiFi -adapter te gebruik.
Die krag van die stroombaan
Steek die mikro -USB -kabel in die kragaansluiting van die Raspberry Pi. Skakel dit aan en voila, ons is gereed om te gaan!
Koppel aan skerm
Ons kan óf die HDMI -kabel aan 'n monitor koppel, óf ons kan 'n bietjie vernuwend wees om ons koplose Pi te maak (met behulp van -SSH/PuTTY), wat help om die ekstra koste te besnoei omdat ons op een of ander manier stokperdjies is.
As 'n gewoonte geld begin kos, word dit 'n stokperdjie genoem
Stap 3: Framboos Pi -programmering in Java
Die Java -kode vir die Raspberry Pi en MPL3115A2 sensor. Dit is beskikbaar in ons Github -bewaarplek.
Voordat u na die kode gaan, moet u die instruksies in die Readme -lêer lees en u Raspberry Pi daarvolgens opstel. Dit sal net 'n rukkie neem om dit te doen. Die hoogte word bereken uit die druk met behulp van die onderstaande vergelyking:
h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registerwaarde)
waar p0 = seevlakdruk (101326 Pa) en h in meter is. Die MPL3115A2 gebruik hierdie waarde aangesien die offsetregister gedefinieer word as 2 Pascal per LSB. Die kode is duidelik voor u en dit is in die eenvoudigste vorm wat u kan voorstel, en u behoort geen probleme te hê nie.
U kan ook die werkende Java -kode vir hierdie sensor hier kopieer.
// Versprei met 'n vrywillige lisensie. // Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas. // MPL3115A2 // Hierdie kode is ontwerp om te werk met die MPL3115A2_I2CS I2C Mini Module beskikbaar by ControlEverything.com. //
invoer com.pi4j.io.i2c. I2CBus;
voer com.pi4j.io.i2c. I2CD -toestel in; invoer com.pi4j.io.i2c. I2CFactory; invoer java.io. IOException;
openbare klas MPL3115A2
{public static void main (String args ) gooi uitsondering {// Skep I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Kry I2C -toestel, MPL3115A2 I2C -adres is 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Kies beheerregister // Aktiewe modus, OSR = 128, hoogtemodus -toestel.skryf (0x26, (byte) 0xB9); // Kies datakonfigurasie register // Data gereed gebeurtenis geaktiveer vir hoogte, druk, temperatuur device.write (0x13, (byte) 0x07); // Kies beheerregister // Aktiewe modus, OSR = 128, hoogtemodus -toestel.skryf (0x26, (byte) 0xB9); Draad.slaap (1000);
// Lees 6 grepe data vanaf adres 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte [6]; device.read (0x00, data, 0, 6);
// Skakel die data om in 20-bisse
int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; dubbele hoogte = tHoogte / 16,0; dubbel cTemp = (temp / 16.0); dubbel fTemp = cTemp * 1.8 + 32;
// Kies kontroleregister
// Aktiewe modus, OSR = 128, barometer af apparaat. Skryf (0x26, (byte) 0x39); Draad.slaap (1000); // Lees 4 grepe data vanaf adres 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);
// Skakel die data om in 20-bisse
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dubbele druk = (pres / 4.0) / 1000.0; // Uitset data na die skerm System.out.printf ("Druk: %.2f kPa %n", druk); System.out.printf ("Hoogte: %.2f m %n", hoogte); System.out.printf ("Temperatuur in Celsius: %.2f C %n", cTemp); System.out.printf ("Temperatuur in Fahrenheit: %.2f F %n", fTemp); }}
Stap 4: Die praktiese van die kode (werk)
Laai nou die kode af (of git trek) en maak dit oop in die Raspberry Pi. Voer die opdragte uit om die kode op die terminale op te stel en op te laai en sien die uitset op Monitor. Na 'n paar sekondes word al die parameters vertoon. Nadat u seker gemaak het dat alles vlot verloop, kan u hierdie projek na 'n groter projek neem.
Stap 5: Toepassings en funksies
Die algemene gebruik van die MPL3115A2 Precision Altimeter sensor is in toepassings soos Map (Map Assist, Navigation), Magnetic Compass, of GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry and Satelliete (weerstasie toerusting/voorspelling).
Vir bv. Deur hierdie sensor en Rasp Pi te gebruik, kan u 'n digitale visuele hoogtemeter bou, die belangrikste deel van die skydiving -toerusting wat hoogte, lugdruk en temperatuur kan meet. U kan windgaas en ander sensors byvoeg, sodat u dit meer interessant kan maak.
Stap 6: Gevolgtrekking
Aangesien die program ongelooflik aanpasbaar is, is daar baie interessante maniere waarop u hierdie projek kan uitbrei en dit nog beter kan maak. Byvoorbeeld, 'n hoogtemeter/interferometer bevat verskeie hoogtemeters wat op maste gemonteer is, wat gelyktydig metings sou verkry en sodoende 'n deurlopende bedekking van 'n enkele of meer hoogtemeter bied. Ons het 'n interessante video -tutoriaal op YouTube wat u kan help om hierdie projek beter te verstaan.
Aanbeveel:
Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2: 6 stappe
Hoogte, druk en temperatuur met behulp van Framboos Pi Met MPL3115A2: Klink interessant. Dit is heel moontlik in hierdie tyd dat ons almal in die IoT -generasie gaan. As elektronika -freak het ons met die Raspberry Pi gespeel en besluit om met hierdie kennis interessante projekte te maak. In hierdie projek wil ons
Bepaling van die druk en hoogte met behulp van GY-68 BMP180 en Arduino: 6 stappe
Die bepaling van die druk en hoogte met behulp van GY-68 BMP180 en Arduino: Oorsig In baie projekte, soos vlieënde robotte, weerstasies, die verbetering van roeteringsprestasie, sport en ens is dit baie belangrik om druk en hoogte te meet. In hierdie tutoriaal leer u hoe u die BMP180 -sensor gebruik, een van die mees
Meet temperatuur vanaf PT100 met behulp van Arduino: 6 stappe (met foto's)
Temperatuur meet vanaf PT100 met behulp van Arduino: Die PT100 is 'n weerstandstemperatuurdetektor (RTD) wat sy weerstand verander na gelang van die omgewingstemperatuur, dit word wyd gebruik vir industriële prosesse met stadige dinamika en relatief wye temperatuurreekse. Dit word gebruik vir stadige dinamika
Meet druk met u mikro: bietjie: 5 stappe (met foto's)
Meet druk met u mikro: bis: Die volgende instruksies beskryf 'n maklik om te bou en goedkoop toestel om drukmetings uit te voer en Boyle se wet te demonstreer deur die micro: bit in kombinasie met die BMP280 druk/temperatuur sensor te gebruik. Terwyl hierdie spuit/druk
Met die hoogte en temperatuur van die arduino: 5 stappe
Met Med Altitude Y Tempera Con Arduino: En este Instructable se encontrar á Met die temperatuur en die hoogte met 'n unieke UNO, 'n LCD -skerm en 'n sensor BMP 180