Sommario:

Altimetro Arduino che utilizza BMP e SPI o I2C OLED: 5 passaggi
Altimetro Arduino che utilizza BMP e SPI o I2C OLED: 5 passaggi

Video: Altimetro Arduino che utilizza BMP e SPI o I2C OLED: 5 passaggi

Video: Altimetro Arduino che utilizza BMP e SPI o I2C OLED: 5 passaggi
Video: EYE ON NPI — датчик атмосферного давления ICP-10111 #EYEonNPI #DigiKey @DigiKey @InvenSense @Adafruit 2024, Novembre
Anonim
Altimetro Arduino che utilizza BMP e SPI o I2C OLED
Altimetro Arduino che utilizza BMP e SPI o I2C OLED

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

Hardware necessario
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.

Consigliato: