Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS






 




Pagina principale per Raspberry



Informazioni di base




La basetta sperimentale (BDS)


Applicazioni



Librerie e programmi
  • La gestione delle librerie

  • Programmi applicativi
    • Protocollo_I2C
    • I2C_BME280
    • I2C_BME680
    • I2C_ Display_LCD_1602
    • I2C_Display_SSD1306
    • I2C_SGP30-SGP40
    • SPI_RFID_RC522
    • One-wire_18B20
    • DHT11/DHT22
    • Motore_elettrico
    • Servomotore
    • Motore a passo
    • Encoder_Joystick
    • Pulsanti/piccoli_sensori
    • Led
    • Telecamera_OpenCV
    • Gestione_immagini
    • Ingressi_Analogici
    • Display: LCD1602
    • Display: SSD1306 Oled
    • Display: ST7735
    • Ingressi analogici
    • Programmi vari














 








 
















Raspberry PI 3/4/5
Programmi  per BMP388 - BMP390

388
BMP388

I sensori BMP388 oppure BMP390 seppure di forma diversa, sono praticamente intercambiabili, infatti utilizzano la stessa libreria.
Eseguono le stesse misurazioni di BMP280, ossia temperatura e pressione; con un sistema un po' elaborato si può ricavare anche l'altitudine, sebbene in modo abbastanza impreciso.
A differenza di BMP280, oltre al protocollo I2C, possono utilizzare anche lo SPI. Questo secondo protocollo è più efficiente, però usa più GPIO e la sua gestione è leggermente più complessa.

390
BMP390
La differenza tra BMP e BME: i sensori della serie BMP in genere misurano solo temperatura e pressione; quelli che iniziano con BME, misurano anche il grado di umidità. Questo succede per esempio tra BMP280 e BME280.
Invece non i risulta che per i sensori presentati in questa pagina esistano le versioni BME388 e BME390.




Come inserire i sensori sulla BDS

Collegamenti per entrambi i sensori (protocollo I2C):

BMP388                                                    BMP390                       BDS (basetta sperimentale e didattica)
3Vc                                                             VCC                              3,3v
GND                                                           GND                             GND
SCK                                                           SCK                              SCL (GPIO3)
SDI                                                             SDI                               SDA (GPIO2)

02

Il sensore BMP390 può essere installato direttamente sul connettore I2C1; nel caso in contatto con il connettore di alimentazione, inserirlo sul connettore I2C4,(zoccolo universale per qualunque sensore I2C), collegando i cavetti come indicato neella figura di destra
Nota: il connettore J19 seleziona l'alimentazione, a +5 v o a +3,3v. Ricordarsi di connettere il jumper di alimentazione esclusivamente a +3,3v!


03

3881

Il sensore BMP388 ha una disposizione dei pin alquanto "anarchica", quindi l'unica soluzione è di collocarlo sul connettore I2C4 e collegare lo zoccolo "H21" con  i GPIO corretti. Ricordo che il connettore H21 è connesso in modo diretto con H2, è questo permette di connettere le varie porte del sensore nell'ordine che si preferisce con le porte del Raspberry.
Nota:  il connettore J19 seleziona l'alimentazione, a +5 v o a +3,3v. Ricordarsi di connettere il jumper di alimentazione esclusivamente a +3,3v!



La creazione dell'ambiente virtuale e l'inserimento delle librerie necessarie

Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "bmp388_390" in cui creeremo l'ambiente virtuale (che chiameremo "388"), le librerie necessarie e i programmi.
Nota: naturalmente i nomi dati alle sottocartelle possono essere variati a piacere. Postulando che si siano create le cartelle indicate, si può iniziare con la programmazione.
Aprire un terminale (la quarta icona in alto a destra) term e digitare quanto segue:
cd Desktop/Projects/bmp388_390  per spostarsi nella cartella "bmp388_390";
python3 -m venv 388                           per creare l'ambiente virtuale "388 ";
source 388 /bin/activate                     per attivare l'ambiente virtuale: apparirà (388) all'inizio della nuova riga.
A questo punto, si possono salvare all'interno dell'ampbiente virtuale la libreria necessaria, con il comando:
"pip3 install adafruit-circuitpython-bmp3xx"








L'attivazione dell'interfaccia I2C sul Raspberry

Quando si usa per la prima volta una  periferica che richiede  l'interfaccia I2C, deve essere attivata:
  • Apri il terminale del tuo Raspberry Pi (o collegati via SSH).
  • Digita il comando e premi Invio:
    sudo raspi-config
  • Usa i tasti freccia per scendere e seleziona Interface Options (o Interfacing Options) e premi Invio.
  • Seleziona la voce I2C e premi Invio.
  • Alla richiesta di abilitare l'interfaccia I2C, seleziona Yes (Sì) e conferma.
  • Se ti viene chiesto se caricare automaticamente il modulo I2C al boot, seleziona ancora Yes.
  • Premi Finish per uscire e riavvia il sistema per rendere effettive le modifiche digitando:
    sudo reboot.
L'informazione viene memorizzata permanentemente nella memoria del Raspberry, e sarà attiva fino a quando non si intervenga per annullare questa opzione.







Il primo programma: lettura di temperatura, pressione (e altitudine)
Questo programma funziona perfettamente sia con BMP388 che BMP390. Semplicemente mostra sul terminale del Raspberry la temperatura (gradi Celsius e Fahrenheit), la pressione atmosferica e, con una certa approssimazione , l'altitudine della nostra località.


06
05

Alcuni aspetti interessanti del programma:
bmp_se_level_pressure: inserire in questo campo la pressione attuale della città di mare più prossima alla nostra località.
tmp_offset: inserire in questa variabile la discrepanza trovata tra la misurazione del nostro sensore e quella di uno  preciso e calibrato.
time.sleep(): il tempo di attesa tra una lettura e la successiva





Clicca qui per scaricare il programma in formato ".zip"
Clicca qui per visualizzare il programma in formato testo.

Se stai eseguendo queste operazioni direttamente dal Raspberry, puoi scaricare e scompattare direttamente il programma nella cartella  "Desktop/Projects/bmp388_390"
e lanciarlo con il seguente comando: "python bmp388_1.py"

Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie.

Nota: in questa pagina è stato inserito solamente il programma di base. E' facilmente possibile creare altri programmi, sulla falsariga di quelli scritti per BME280.













Per contatti: etdiy@centroanahata.it