Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Per molto tempo ho cercato altimetro e temperatura utilizzando un singolo sensore e visualizzandolo su OLED basato su SPI. Dato che non sono riuscito a trovare nulla di preciso, ho pensato di crearne uno mio usando la libreria U8glib. C'è un tutorial su youtube ma odio davvero i tutorial video, preferisco testi con istruzioni semplici e senza link commerciali.
Passaggio 1: per prima cosa
Prima di realizzare questo progetto, ti consiglio vivamente di completare il tutorial SSD1306/OLED per I2C o SPI (a seconda di quale vuoi utilizzare). Ciò assicurerà che tu sappia come collegare/cablare il tuo display e che il tuo display funzioni. Fai il tutorial di adafruit e/o il tutorial degli esempi di u8glib. Utilizzeremo u8glib qui, quindi è consigliato per utenti avanzati.
Passaggio 2: hardware necessario
1. Arduino UNO o Nano o simili.
2. Sensore di pressione barometrica BMP085 o BMP180.
3. SSD1306 I2C o bus SPI (configurabile in sketch).
4. Ponticelli e breadboard o vero board per i collegamenti.
Passaggio 3: librerie IDE Arduino per la compilazione
1. Filo.h
2. Adafruit_BMP085.h (funzionerà anche per BMP180)
3. U8glib.h
Passaggio 4: connessioni
Le connessioni sono tutte uguali per i display OLED I2C e SPI. Solo la connessione al display sarà diversa.
1. Da BMP ad Arduino:
VCC > 3,3V
GND > Terra
SCL > A5/SCL
SDA > A4/SDA
SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13
2. SPI OLED su Arduino
VDD > 5V
GND > Terra
SCK/D0 > D12 (Digitale 12)
SDA/D1/Mosi > D11
Selezione CS/Chip > D10
A0/DC > D9
RES/Reset > D13
(Se il tuo OLED SPI non ha il pin di ripristino su di esso, rimuovi il ripristino e ripristina il pin dai parametri di selezione del display dello schizzo)
3. OLED I2C
Come il cablaggio BMP, utilizzano le stesse porte e lo stesso tipo di bus.
Passaggio 5: caricamento dello schizzo
Abbastanza diretto. Basta scaricare il file zip e aprirlo nell'IDE di Arduino. Tutto è configurato nello schizzo. Gli utenti SPI OLED possono semplicemente caricare lo schizzo senza alcuna modifica e funzionerà. Per gli utenti I2C OLED, decommentare il nome/opzione visualizzato dall'opzione Display Select dello schizzo e commentare e chiudere il modello/parametro SPI Display per disabilitare SPI OLED.
Parametro di visualizzazione SPI:
//U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13
Parametro di visualizzazione I2C:
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display che non invia AC
Per abilitare un parametro, basta rimuovere il segno // all'inizio per decommentarlo. Assicurati che solo un display sia selezionato/non commentato.
Suggerimenti:
1. I sensori BMP sono sensibili a vento, calore e luci. Assicurati di coprirlo, i migliori risultati si ottengono attaccando una schiuma con un'adeguata ventilazione. Anche cose come il nastro adesivo funzioneranno, ma non saranno precise.
2. BMP di solito usa 3,3 V a meno che il produttore non dica diversamente. OLED può funzionare da 3,3 V-5,5 V (4-5 V consigliato)
3. Si consiglia vivamente di impostare prima tutto sulla breadboard.
4. Se non conosci l'OLED, prova prima cose semplici come testo e buffer fittizi per assicurarti che il tuo display funzioni e che le tue connessioni siano accurate.