Sommario:
- Passaggio 1: attrezzatura indispensabile di cui abbiamo bisogno
- Passaggio 2: connessioni hardware per mettere insieme il circuito
- Passaggio 3: programmazione Raspberry Pi in Python
- Passaggio 4: la praticità del codice (test)
- Passaggio 5: applicazioni e funzionalità
- Passaggio 6: conclusione
Video: Altitudine, pressione e temperatura utilizzando Raspberry Pi con MPL3115A2: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
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, misureremo l'altitudine, la pressione atmosferica e la temperatura utilizzando Raspberry Pi. Quindi ecco la documentazione (sempre modificata e ampliata). Ti consigliamo di iniziare seguendo le istruzioni e di copiare il codice. Puoi sperimentare in seguito. Quindi iniziamo.
Passaggio 1: attrezzatura indispensabile di cui abbiamo bisogno
1. Lampone Pi
Il primo passo è stato ottenere una scheda Raspberry Pi. Abbiamo acquistato il nostro e anche tu puoi. Abbiamo iniziato a imparare dai tutorial, abbiamo capito i concetti di scripting e connessione e abbiamo imparato in seguito. Questo piccolo genio è comune per hobbisti, insegnanti e nella creazione di ambienti innovativi.
2. Scudo I²C 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²C per comunicare. Abbiamo acquistato questo sensore da Dcube Store
4. Cavo di collegamento
Avevamo il cavo di collegamento I2C disponibile presso Dcube Store
5. Cavo micro USB
Il cavo micro USB L'alimentatore è la scelta ideale per alimentare il Raspberry Pi.
6. Miglioramento dell'accesso a Internet - Cavo Ethernet/Adattatore WiFi
In questa era, per accedere a qualsiasi cosa è necessaria una connessione a Internet (quasi come c'è anche la vita offline). Quindi seguiamo il consiglio di un cavo LAN o di un adattatore Wireless Nano USB (WiFi) per creare la connessione Internet in modo da poter utilizzare il nostro Rasp Pi con facilità e senza alcun problema.
7. Cavo HDMI (opzionale, a tua scelta)
È un po' complicato. Puoi avere il potere di collegare un altro monitor nel caso in cui lo desideri o è molto conveniente per te stesso effettuando una connessione Pi senza testa con il tuo PC / laptop.
Passaggio 2: connessioni hardware per mettere insieme il circuito
Realizzare il circuito secondo lo schema mostrato. In generale i collegamenti sono molto semplici. Segui le istruzioni e le immagini 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
Prima di tutto prendi il 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. Solo il semplice processo che abbiamo menzionato.
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 è vitale
Hai una scelta qui in realtà. Puoi collegare Raspberry Pi con il cavo LAN o l'adattatore wireless Nano USB per la connettività WiFi. Ad ogni modo, ha lo scopo principale che è quello di connettersi a Internet.
Alimentazione del circuito
Collega il cavo Micro USB alla presa di alimentazione di Raspberry Pi. Accendilo e siamo a posto.
Connessione allo schermo
Possiamo collegare il cavo HDMI a un nuovo monitor o creare il nostro Pi senza testa che è creativo ed economico utilizzando l'accesso remoto come SSH/PuTTY. (So che non siamo finanziati come un'organizzazione segreta)
Passaggio 3: programmazione Raspberry Pi in Python
Il codice Python 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 Leggimi e imposta 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 Python funzionante per questo sensore da qui.
# Distribuito con una licenza di libero arbitrio.# Usalo come preferisci, 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 da ControlEverything.com. #
import smbus
tempo di importazione
# Ottieni l'autobus I2C
bus = smbus. SMBus(1)
# indirizzo MPL3115A2, 0x60(96)
# Seleziona registro di controllo, 0x26(38) # 0xB9(185) Modalità attiva, OSR = 128, Modalità altimetro bus.write_byte_data(0x60, 0x26, 0xB9) # Indirizzo MPL3115A2, 0x60(96) # Seleziona registro di configurazione dati, 0x13(19) # 0x07(07) Evento pronto dati abilitato per altitudine, pressione, temperatura bus.write_byte_data(0x60, 0x13, 0x07) # Indirizzo MPL3115A2, 0x60(96) # Seleziona registro di controllo, 0x26(38) # 0xB9(185) Modalità attiva, OSR = 128, modalità altimetro bus.write_byte_data(0x60, 0x26, 0xB9)
tempo.sonno(1)
# indirizzo MPL3115A2, 0x60(96)
# Rilegge i dati da 0x00(00), 6 byte # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)
# Converti i dati a 20 bit
tHeight = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16 altitudine = tHeight / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# indirizzo MPL3115A2, 0x60(96)
# Seleziona registro di controllo, 0x26(38) # 0x39(57) Modalità attiva, OSR = 128, Modalità barometro bus.write_byte_data(0x60, 0x26, 0x39)
tempo.sonno(1)
# indirizzo MPL3115A2, 0x60(96)
# Rilegge i dati da 0x00(00), 4 byte # stato, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data(0x60, 0x00, 4)
# Converti i dati a 20 bit
pres = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 pressione = (pres / 4.0) / 1000.0
# Invia i dati allo schermo
print "Pressione: %.2f kPa" %pressione print "Altitudine: %.2f m" %altitudine print "Temperatura in Celsius: %.2f C" %cTemp print "Temperatura in Fahrenheit: %.2f F" %fTemp
Passaggio 4: la praticità del codice (test)
Ora scarica (o git pull) il codice e aprilo nel Raspberry Pi.
Esegui i comandi per compilare e caricare il codice nel 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 I²C dell'altimetro di precisione MPL3115A2 è in applicazioni come mappa (mappa assistita, navigazione), bussola magnetica o GPS (GPS Dead Reckoning, miglioramento GPS per servizi di emergenza), altimetria ad alta precisione, smartphone/tablet, altimetria elettronica personale e Satelliti (Stazioni meteorologiche/Previsioni).
Per es. un progetto per realizzare un altimetro elettronico personale che misura altitudine, pressione atmosferica, temperatura utilizzando Raspberry Pi. L'altimetro per l'elettronica personale è un progetto piuttosto veloce da costruire. Ci vorranno solo pochi istanti se hai tutte le parti e non improvvisi (ovviamente puoi!). Un altimetro a pressione è un altimetro che si trova nella maggior parte degli aerei e i paracadutisti usano versioni da polso per scopi simili. Gli escursionisti e gli alpinisti utilizzano altimetri da polso o portatili.
Passaggio 6: conclusione
Spero che questo progetto ispiri ulteriori sperimentazioni. Questo sensore I²C è incredibilmente versatile, economico e accessibile. Poiché è un programma estremamente mutevole, ci sono modi interessanti per estendere questo progetto e renderlo ancora migliore. Ad esempio, l'altimetro è uno strumento opzionale nei veicoli fuoristrada per aiutare nella navigazione. Alcune auto di lusso ad alte prestazioni che non sono mai state concepite per lasciare strade asfaltate, utilizzano questa tecnologia. Per tua comodità, abbiamo un interessante video tutorial su YouTube che potrebbe dare una mano alla tua esplorazione. Spero che questo progetto ispiri ulteriori sperimentazioni.
Consigliato:
M5STACK Come visualizzare temperatura, umidità e pressione su M5StickC ESP32 utilizzando Visuino - Facile da eseguire: 6 passaggi
M5STACK Come visualizzare temperatura, umidità e pressione su M5StickC ESP32 utilizzando Visuino - Facile da fare: in questo tutorial impareremo come programmare ESP32 M5Stack StickC con Arduino IDE e Visuino per visualizzare la temperatura, l'umidità e la pressione utilizzando il sensore ENV (DHT12, BMP280, BMM150)
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
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ù
Utilizzo di Raspberry Pi, misurazione di altitudine, pressione e temperatura con MPL3115A2: 6 passaggi
Utilizzo di Raspberry Pi, misurazione di altitudine, pressione e temperatura con MPL3115A2: scopri cosa possiedi e scopri 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 un
Registratore di temperatura, umidità relativa, pressione atmosferica utilizzando Raspberry Pi e TE Connectivity MS8607-02BA01: 22 passaggi (con immagini)
Registratore di temperatura, umidità relativa, pressione atmosferica utilizzando Raspberry Pi e TE Connectivity MS8607-02BA01: Introduzione: In questo progetto ti mostrerò come costruire passo dopo passo un sistema di registrazione per l'umidità della temperatura e la pressione atmosferica. Questo progetto si basa sul chip del sensore ambientale Raspberry Pi 3 Modello B e TE Connectivity MS8607-02BA