![]() La connsessione del display sulla BDS |
I
display SSD1306 OLED sono molto flessibili. Ce ne sono di
due tipi: 128 x 32 e 128 x 64 pixel. Sono
veramente piccoli e adatti per moltissimi usi.
Quello che useremo principalmente nei programmi che
preseteremo è quello con il visore più ampio, in grado di
visualizzare un maggior numero di informazioni.
Seguono entrambi il protocollo I2C, quindi possono essere connessi insieme ad altri moduli che usano lo stesso protocollo senza che vi siano conflitti, purché abbiano indirizzi diversi. Entrambi i visori possono essere connessi sullo zoccolo I2C1. Sulla sinistra si vede come inserirli nel connettore sulla BDS. |
![]() ssd1306 128x64 ![]() ssd1306 128x32 |
| |
|
|
| I
progetti con i display SSD1306 OLED |
Abbiamo
diviso i programmi con i display su più pagine, perchè
altrimenti la pagina diverrebbe troppo lunga e complessa.
Perciò è stata divisa così:
Così ho preferito creare un ambiente per ogni sensore. Si occupa più spazio, ma si è più sicuri del risultato. |
Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "ssd1306" in cui creeremo l'ambiente virtuale (che chiameremo "1306"), 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) e digitare quanto segue:cd Desktop/Projects/ssd1306 per spostarsi nella cartella "ssd280; python3 -m venv 1306 per creare l'ambiente virtuale "280"; source ssd/bin/activate per attivare l'ambiente virtuale: apparirà (280) all'inizio della nuova riga; ![]() Installare la prima libreria, adafruit_circuitpython_ssd1306, con il comando: "pip3 install adafruit_circuitpython_ssd1306" ![]() la libreria è stata correttamente installata ![]() La seconda libreria necessaria: RPi.GPIO, con il comando: "pip3 install RPi.GPIO " ![]() e infine, l'ultima libreria necessaria: Pillow, con il comando: "pip3 install pillow": ![]() Dopo aver installato queste librerie, si potranno lanciare i programmi elencati di seguito. |
|
|
| Lista
di programmi di test per il display SSD1306 con librerie "standard" |
Questa prima serie di sketch, permette di effettuare alcuni test di funzionamento, per poi inserire le righe di testo necessarie nei propri programmi. Esse usano le librerie standard per SSd1306, come adafruit_circuitpython_ssd1306, ecc. Per ulteriori informazioni, fare riferimento a questo sito: https://it.emcelettronica.com/utilizzo-dei-display-in-progetti-con-raspberry-pi Nel caso si usi un SSD1306 128 x32 pixel, la riga del programma sarà simile a questa: ;se invece si usasse un SSD1306 128 x 64 pixel, modificare le informazioni tra parentesi nel modo seguente: "(128, 64, i2c)". In base anche alle dimensioni che si vogliono ottenere sullo schermo, si può anche giocare su questo parametro. |
| Il
primo programma, "1.py" disegna i quattro punti agli angoli
del display. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il secondo programma, "2.py" stampa sullo schermo un testo con i caratteri standard del display. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il terzo programma, "3.py" disegna sullo schermo un rettangolo, con inscritto un testo. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il quarto programma, "4.py" disegna sullo schermo quattro rettangoli, a formare una tabella 2 x 2, con all'interno di ognuno un testo. Adatto per la versione del display 128 x 32 Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
La "variante" del quarto programma, "4a.py" disegna sullo schermo otto rettangoli, a formare una tabella 4 x 4, con all'interno di ognuno un testo. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il quinto programma, "5.py" disegna sullo schermo alcune figure geometriche. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il sesto programma, "6.py" stampa sullo schermo un testo in caratteri truetype. Richiede che si sia scaricato e scompattato nella stessa cartella del programma il file truetipe.zip. Queste righe permettono di variare il tipo e le diemsioni dei caratteri stampati: ![]() e le seguenti righe di testo di indicare la posizione e i caratteri che appariranno nel testo: ![]() Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
Il settimo programma, "7.py" stampa anch'esso sullo schermo un testo in caratteri truetype. Richiede che si sia scaricato e scompattato nella stessa cartella del programma il file truetipe.zip. Clicca qui per scaricate il programma in formato ".zip". Clicca qui per visualizzare il programma. |
![]() |
|
|
| Inserimento
della libreria personalizzata per i prossimi programmi |
Nello stesso ambiente virtuale attivato per i programmi illustrati precedentemente, aggiungere la libreria piicodev, con il seguente comando: "pip3 install piicodev", che è l'unica necessaria per i programmi seguenti. ![]() La libreria piicodev gestisce anche diversi moduli utilizzati da Arduino. E' necessario scaricare anche questo file compresso: piico.zip Esso contiene immagini e font necessari per il funzionamento dei programmi seguenti. Scaricare il file nella cartella "/Desktop/Projects/ssd1306" (se si è usato lo stesso percorso e scompattarlo al suo interno. Da questo sito potrai avere informazioni su questa libreria, molto versatile: https://core-electronics.com.au/guides/raspberry-pi/piicodev-oled-ssd1306-raspberry-pi-guide/ |
|
|
| Lista di programmi di test per il display SSD1306 con libreria "personalizzata" |
| I
programmi che funzionano utilizzando la libreria "piicodev"
permettono di effettuare altri test, e parti di codici che
si possono poi inserire facilmente nei propri programmi. Ricordarsi di scaricare e scompattare questo file compresso: piico.zip che contiene le immgini necessari per i programmi quali "bitmapx.py" |
| Il
programma "animation.py" muove lentamente un quadtatino
sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "graph.py" disegna delle curve sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "rectangle.py" disegna dei rettangoli sullo schermo. Clicca qui per scaricare il prgramma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "text.py" stampa testi in vari formati sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
| Il
programma "triangle.py" mostra sullo schermo la costruzione
di un triangolo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "bitmap0.py" stampa il logo piicode in formato grafico "pbm" sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "bitmap1.py" stampa l'immagine di un gatto in formato grafico "pbm" sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "bitmap2.py" stampa l'immagine di un delfino che salta in formato grafico "pbm" sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
Il programma "bitmap3.py" stampa l'immagine di un cielo nuvoloso in formato grafico "pbm" sullo schermo. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
La libreria piicodev gestisce , oltre al display, un discreto numero di moduli e sensori vari. Il programma "mpu6050.py" utilizza un accelerometro e un giroscopio a tre assi, che inclinandosi fa spostare in modo proporzionale all'inclinazione un quadratino sullo schermo. Il modulo mpu6050 utilizza anch'esso il protocollo I2C, e può essere connesso sullo zoccolo I2C2 (o connettendo correttamente i pin) su I2c4. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
![]() |
La libreria piicodev gestisce , oltre al display, un discreto numero di moduli e sensori vari. Il programma "vl53l1x.py" utilizza un preciso sensore di distanza laser, e riporta la distanza in millimetri sulla parte alta del dispaly, mentre ne mostra pure una rappresentazione grafica sul resto dello schermo. Il modulo vl53l1x utilizza anch'esso il protocollo I2C, e può essere connesso sullo zoccolo I2C2 (o connettendo correttamente i pin) su I2c4. Clicca qui per scaricare il programma in formato ".zip" Clicca qui per visualizzare il programma |
Purtroppo
non ho un immagine con il sensore VL53L1X perché ho avuto problemi di funzionamento. |