Sommario:
- Passaggio 1: attrezzatura indispensabile di cui abbiamo bisogno
- Passaggio 2: connessioni hardware per mettere insieme il circuito
- Passaggio 3: programmazione Raspberry Pi in Java
- Fase 4: La praticità del codice (funzionante)
- Passaggio 5: applicazioni e funzionalità
- Passaggio 6: conclusione
Video: Utilizzo di Raspberry Pi, misurazione di altitudine, pressione e temperatura con MPL3115A2: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Sapere cosa possiedi e sapere perché lo possiedi
È intrigante. Viviamo nell'era dell'automazione di Internet mentre si immerge in una pletora di nuove applicazioni. Come appassionati di computer ed elettronica, abbiamo imparato molto con il Raspberry Pi e abbiamo deciso di fondere i nostri interessi. Questo progetto richiede circa un'ora se non conosci le connessioni I²C e la configurazione del software ed è un ottimo modo per espandere le capacità di MPL3115A2 con Raspberry Pi in Java.
Passaggio 1: attrezzatura indispensabile di cui abbiamo bisogno
1. Lampone Pi
Il primo passo è stato ottenere una scheda Raspberry Pi. Questo piccolo genio viene utilizzato da hobbisti, insegnanti e nella creazione di ambienti innovativi.
2. Scudo I2C per Raspberry Pi
L'INPI2 (adattatore I2C) fornisce al Raspberry Pi 2/3 una porta I²C da utilizzare con più dispositivi I2C. È disponibile su Dcube Store.
3. Altimetro, sensore di pressione e temperatura, MPL3115A2
L'MPL3115A2 è un sensore di pressione MEMS con un'interfaccia I²C per fornire dati di pressione, altitudine e temperatura. Questo sensore utilizza il protocollo I²2 per comunicare. Abbiamo acquistato questo sensore da Dcube Store.
4. Cavo di collegamento
Abbiamo utilizzato il cavo di collegamento I²C disponibile presso Dcube Store.
5. Cavo micro USB
Il Raspberry Pi è alimentato da alimentazione micro USB.
6. Miglioramento dell'accesso a Internet: cavo Ethernet/modulo WiFi
Una delle prime cose che vorrai fare è connettere il tuo Raspberry Pi a Internet. Puoi connetterti utilizzando un cavo Ethernet o con un adattatore Wireless USB Nano WiFi.
7. Cavo HDMI (opzionale, a tua scelta)
Puoi collegare Raspberry Pi a un monitor utilizzando un cavo HDMI. Inoltre, puoi accedere in remoto al tuo Raspberry Pi usando SSH/PuTTY.
Passaggio 2: connessioni hardware per mettere insieme il circuito
Realizzare il circuito secondo lo schema mostrato. In generale, i collegamenti sono abbastanza semplici. Segui le istruzioni e le immagini sopra e non dovresti avere problemi. Durante la pianificazione, abbiamo esaminato l'hardware e la codifica, nonché le basi dell'elettronica. Volevamo progettare un semplice schema elettronico per questo progetto. Nel diagramma, puoi notare le diverse parti, i componenti di alimentazione e il sensore I²C che seguono i protocolli di comunicazione I²C. Si spera che questo illustri quanto sia semplice l'elettronica per questo progetto.
Collegamento di Raspberry Pi e I2C Shield
Per questo, Raspberry Pi e posizionaci sopra l'I²C Shield. Premi delicatamente lo scudo (vedi foto).
Collegamento del sensore e Raspberry Pi
Prendi il sensore e collega il cavo I²C con esso. Assicurati che l'uscita I²C si colleghi SEMPRE all'ingresso I²C. Lo stesso sarà seguito dal Raspberry Pi con lo shield I²C montato sopra. Abbiamo l'I²C Shield e i cavi di collegamento I²C dalla nostra parte come un grande vantaggio in quanto ci rimane solo l'opzione plug and play. Niente più pin e problemi di cablaggio e quindi la confusione è sparita. Che sollievo immaginarti nella rete di fili e entrarci dentro. Semplice come questo!
Nota: il filo marrone dovrebbe sempre seguire la connessione di terra (GND) tra l'uscita di un dispositivo e l'ingresso di un altro dispositivo
La connettività Internet è fondamentale
Per rendere il nostro progetto un successo, abbiamo bisogno di un accesso a Internet per il nostro Raspberry Pi. In questo, hai opzioni come il collegamento di un cavo Ethernet (LAN). Inoltre, come modo alternativo ma impressionante per utilizzare un adattatore WiFi.
Alimentazione del circuito
Collega il cavo Micro USB alla presa di alimentazione di Raspberry Pi. Accendilo e voilà, siamo a posto!
Connessione allo schermo
Possiamo avere il cavo HDMI collegato a un monitor o possiamo essere un po' innovativi per realizzare il nostro Pi senza testa (usando -SSH/PuTTY) che aiuta a ridurre i costi aggiuntivi perché siamo in qualche modo degli hobbisti.
Quando un'abitudine inizia a costare denaro, si chiama hobby
Passaggio 3: programmazione Raspberry Pi in Java
Il codice Java per il sensore Raspberry Pi e MPL3115A2. È disponibile nel nostro repository Github.
Prima di passare al codice, assicurati di leggere le istruzioni fornite nel file Readme e di configurare il tuo Raspberry Pi in base ad esso. Ci vorrà solo un momento per farlo. L'altitudine viene calcolata dalla pressione utilizzando l'equazione seguente:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (valore di registro)
dove p0 = pressione al livello del mare (101326 Pa) e h è in metri. L'MPL3115A2 utilizza questo valore poiché il registro di offset è definito come 2 Pascal per LSB. Il codice è chiaramente di fronte a te ed è nella forma più semplice che puoi immaginare e non dovresti avere problemi.
Puoi anche copiare il codice Java funzionante per questo sensore da qui.
// Distribuito con una licenza di libero arbitrio.// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate. // MPL3115A2 // Questo codice è progettato per funzionare con il Mini Modulo I2C MPL3115A2_I2CS disponibile su ControlEverything.com. //
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;
classe pubblica MPL3115A2
{ public static void main(String args) genera un'eccezione { // Crea bus I2C I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // Ottieni dispositivo I2C, l'indirizzo I2C MPL3115A2 è 0x60(96) dispositivo I2CDevice = Bus.getDevice(0x60); // Seleziona registro di controllo // Modalità attiva, OSR = 128, modalità altimetro device.write(0x26, (byte)0xB9); // Seleziona registro configurazione dati // Evento pronto dati abilitato per altitudine, pressione, temperatura device.write(0x13, (byte)0x07); // Seleziona registro di controllo // Modalità attiva, OSR = 128, modalità altimetro device.write(0x26, (byte)0xB9); Thread.sleep(1000);
// Legge 6 byte di dati dall'indirizzo 0x00(00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte[6]; device.read(0x00, data, 0, 6);
// Converti i dati a 20 bit
int tHeight = ((((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16); int temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16; doppia altitudine = tHeight / 16,0; double cTemp = (temp / 16.0); doppia fTemp = cTemp * 1,8 + 32;
// Seleziona il registro di controllo
// Modalità attiva, OSR = 128, modalità barometro device.write(0x26, (byte)0x39); Thread.sleep(1000); // Legge 4 byte di dati dall'indirizzo 0x00(00) // status, pres msb1, pres msb, pres lsb device.read(0x00, data, 0, 4);
// Converti i dati a 20 bit
int pres = (((data[1] & 0xFF) * 65536) + ((data[2] & 0xFF) * 256) + (data[3] & 0xF0)) / 16; doppia pressione = (pres / 4.0) / 1000.0; // Invia i dati allo schermo System.out.printf("Pressure: %.2f kPa %n", pressure); System.out.printf("Altitudine: %.2f m %n", altitudine); System.out.printf("Temperatura in gradi Celsius: %.2f C %n", cTemp); System.out.printf("Temperatura in Fahrenheit: %.2f F %n", fTemp); } }
Fase 4: La praticità del codice (funzionante)
Ora scarica (o git pull) il codice e aprilo nel Raspberry Pi. Esegui i comandi per compilare e caricare il codice sul terminale e vedere l'output su Monitor. Dopo pochi secondi verranno visualizzati tutti i parametri. Dopo esserti assicurato che tutto funzioni senza intoppi, puoi portare questo progetto in un progetto più grande.
Passaggio 5: applicazioni e funzionalità
L'uso comune del sensore dell'altimetro di precisione MPL3115A2 è in applicazioni come mappe (Map Assist, navigazione), bussola magnetica o GPS (GPS Dead Reckoning, GPS Enhancement per servizi di emergenza), altimetria ad alta precisione, smartphone/tablet, altimetria elettronica personale e Satelliti (apparecchiatura/previsione della stazione meteorologica).
Per es. Usando questo sensore e Rasp Pi, puoi costruire un altimetro visivo digitale, il pezzo più importante dell'attrezzatura per il paracadutismo, in grado di misurare l'altitudine, la pressione atmosferica e la temperatura. Puoi aggiungere una garza antivento e altri sensori in modo da renderlo più interessante.
Passaggio 6: conclusione
Poiché il programma è sorprendentemente personalizzabile, ci sono molti modi interessanti in cui puoi estendere questo progetto e renderlo ancora migliore. Ad esempio, un altimetro/interferometro includerebbe diversi altimetri montati su alberi che acquisirebbero misurazioni contemporaneamente, fornendo così una copertura di un'ampia area continua, singola o multi-altimetro. Abbiamo un interessante video tutorial su YouTube che può aiutarti nella migliore comprensione di questo progetto.
Consigliato:
Altimetro (misuratore di altitudine) basato sulla pressione atmosferica: 7 passaggi (con immagini)
Altimetro (misuratore di altitudine) basato sulla pressione atmosferica: [Modifica]; Vedere la versione 2 al passaggio 6 con l'immissione manuale dell'altitudine di base. Questa è la descrizione dell'edificio di un altimetro (misuratore di altitudine) basato su un Arduino Nano e un sensore di pressione atmosferica Bosch BMP180. Il design è semplice ma le misurazioni
Misurazione della pressione con CPS120 e Arduino Nano: 4 passaggi
Misurazione della pressione utilizzando CPS120 e Arduino Nano: CPS120 è un sensore di pressione assoluta capacitivo di alta qualità ea basso costo con uscita completamente compensata. Consuma molto meno energia e comprende un sensore microelettromeccanico (MEMS) ultra piccolo per la misurazione della pressione. Un sigma-delta basato
Misurazione della pressione utilizzando CPS120 e Raspberry Pi: 4 passaggi
Misurazione della pressione utilizzando CPS120 e Raspberry Pi: CPS120 è un sensore di pressione assoluta capacitivo di alta qualità ea basso costo con uscita completamente compensata. Consuma molto meno energia e comprende un sensore microelettromeccanico (MEMS) ultra piccolo per la misurazione della pressione. Un sigma-delta basato
Altitudine, pressione e temperatura utilizzando Raspberry Pi con MPL3115A2: 6 passaggi
Altitudine, pressione e temperatura utilizzando Raspberry Pi con MPL3115A2: sembra interessante. È abbastanza possibile in questo momento in cui stiamo tutti entrando nella generazione IoT. Da maniaci dell'elettronica, abbiamo giocato con il Raspberry Pi e abbiamo deciso di realizzare progetti interessanti utilizzando questa conoscenza. In questo progetto, vorremmo
Determinazione della pressione e dell'altitudine utilizzando GY-68 BMP180 e Arduino: 6 passaggi
Determinazione della pressione e dell'altitudine utilizzando GY-68 BMP180 e Arduino: PanoramicaIn molti progetti come robot volanti, stazioni meteorologiche, miglioramento delle prestazioni di routing, sport e così via, la misurazione della pressione e dell'altitudine è molto importante. In questo tutorial imparerai come utilizzare il sensore BMP180, che è uno dei più