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 SSD1306 e BME280

Per ulteriori informazioni sul sensore BME280,  aprire la pagina dedicata.




Come inserire il display SSD1306  e il sensore BME280 sulla BDS
s3
La connessione del
display sulla BDS
    
i2c
L'inserimento di BME280 sul connettore I2C2

Il display SSD1306, che segue il protocollo I2C, può essere inserito sul connettore I2C1.

Anche il sensore BME280 usa lo stesso protocollo e può essere connesso sullo zoccolo I2C2.










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 "ssd280" in cui creeremo l'ambiente virtuale (che chiameremo "ssd"), 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/ssd280  per spostarsi nella cartella "ssd280;
python3 -m venv 280             per creare l'ambiente virtuale "280";
source  ssd/bin/activate         per attivare l'ambiente virtuale: apparirà (280) all'inizio della nuova riga;
2801

Sarà necessario inserire un certo numero di librerie per SSD1306:
- RPi.GPIO:  "pip3 install RPi.GPIO";
2802

- adafruit_circuitpython_ssd1306:  "pip3 install adafruit_circuitpython_ssd1306";
2803
2804

- Pillow:
  "pip3 install pillow".
2805

e poi la libreria specifica per il sensore BME280:
2806
2807

A questo punto, si può lanciare il programma bme280ssd.py

Per il secondo programma, è necessario inserire anche la libreria gpiozero:

z1
z2
A questo punto, si può anche lanciare il secondo programma: bme_temp1.py



Il primo programma: visualizzazione dei dati sul sensore
Questo programma usa lo stesso codice del primo programma presentato nella pagina relativa al sensore BME280.
Semplicemente sono state iaggiunte le leibrerie neceaaseie per il funzionamento del display SSD1306 e le righe di codice necessario.
Quindi, oltre che a leggere i dati sul terminale, si vedranno gli stessi anche sul dispaly, con una precisione a molti decimali. Ottimo per creare una vera e propria stazione meteorologica.

s

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/ssd280"
e lanciarlo con il seguente comando: "python bme280ssd.py"

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











Il secondo programma: la gestione di un condizionatore/pompa di calore

Questo programma può essere piuttosto interessante: infatti permette di controllare, in modo del tutto automatico, un condizionatore.
Immaginiamo di possedere un condizionatore con tre funzioni: condizionatore, deumidificatore, pompa di calore.
E' necessario inserire nel programma tre variabili:
- tmin: temperatura minima. Nel programma è stata impostata a 18°.
- tmax:
temperatura massima. Nel programma è stata impostata a 28°.
- hmax:
umidità massima. Nel programma è stata impostata al 65%.

tmp

d6

Naturalmente i valori impostati possono essere variati a piacere.
Il programma funziona nel modo seguente:
- se la temperatura è maggiore di tmax, si accende il condizionatore, attivando il relè su DG1 e il led rosso;

- se la temperatura è minore di tmin, si accende la pompa di calore, attivando il relè su DG2 e il led blu;
- se l'umidità è maggiore a hmax, si accende il deumidificatore, attivando il relè su DG3 e il led giallo;
- se la temperuatura è compresa tra tmin e tmax, e l'umidità inferiore a hmax, si accende semplicemente il led verde.
Nota 1: il deumidificatore si accende solamente se non è attivato il condizionatore o la pompa di calore, perchè non è possibile utilizzare due funzioni contemporaneamente, oltre che del tutto inutile. Una linea di programme evita questo problema.


Saranno inseriti i seguenti moduli:
- un sensore BME280 sul connettore I2C2;
- un relè (RL1) KY-019 - HW-482 sul connettore DG1 e un led rosso su Led1 - GPIO19;
- un relè (RL2) KY-019 - HW-482 sul connettore DG2 e un led blu su Led2 - GPIO18;
- un relè (RL3) KY-019 - HW-482 sul connettore DG3 e un led giallo su Led3 - GPIO21;
- un led verde su Led4 - GPIO12;
- un led bianco su Led5 - GPIO5.

b2801

Nota 2: quando si utilizzano dei relè, per evitare danni al Raspberry, è necessario utilizzare l'alimentazione esterna, poccegando un alimentatore e cambiando la posizione dei ponticelli (jumper)V3_SEL e V5_SEL da "INT." a "EXT."
Nota 3: al posto di relè singoli, è possibile utilizzare dei relè in batteria, come questi (solo per illustrazione). In questo caso "VCC" andrà collegato a +3v; "GND" a "GND; "R1" a "GPIO19"; "R2" a "GPIO18"; R3 a "GPIO21". "R4" in questo programma non verrà utilizzato.

Se il proprio condizionatore/pompa di calore può essere controllato dall'esterno (in genere è prevista una morsettiere per il controllo attraverso dei relè),
- collegare l'uscita del relè presente su DG1 alla funzione condizionatore;
- collegare l'uscita del relè presente su DG2 alla funzione pompa di calore;
- collegare l'uscita del relè presente su DG3 alla funzione deumidificatore.

Attenzione: quando ai relè si collegano degli apparecchi da allacciare alla rete elettrica a 220v, si corrono gravi pericoli, anche mortali! In questi casi rivolgersi sempre a personale esperto e qualificato!


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/ssd280"
e lanciarlo con il seguente comando: "python bme280ssd.py"

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









Altri programmi con BME280
Puoi trovare altri programmi per BME280 alle seguenti pagine:

Clicca qui per programmi per BME280;
Clicca qui per programmi con BME280 con il sensore di qualità dell'aria SGP30.








Per contatti: etdiy@centroanahata.it