Cuprins:

Altimetru Arduino folosind BMP și SPI sau I2C OLED: 5 pași
Altimetru Arduino folosind BMP și SPI sau I2C OLED: 5 pași

Video: Altimetru Arduino folosind BMP și SPI sau I2C OLED: 5 pași

Video: Altimetru Arduino folosind BMP și SPI sau I2C OLED: 5 pași
Video: SKR 1.4 - TFT24 Firmware Update (2 of 3) 2024, Noiembrie
Anonim
Altimetru Arduino Utilizând BMP și SPI sau I2C OLED
Altimetru Arduino Utilizând BMP și SPI sau I2C OLED

De mult timp am căutat altimetru și temperatură folosind un singur senzor și îl afișez pe OLED bazat pe SPI. Deoarece nu am putut găsi ceva precis, m-am gândit să-mi construiesc propriul meu folosind biblioteca U8glib. Există un tutorial pe YouTube, dar urăsc tutorialele video, prefer textele cu instrucțiuni simple și fără legături comerciale.

Pasul 1: Primele lucruri mai întâi

Înainte de a face acest proiect, vă recomand cu tărie să finalizați tutorialul SSD1306 / OLED pentru I2C sau SPI (oricare dintre acestea doriți să utilizați). Acest lucru vă va asigura că știți cum să conectați / conectați ecranul, precum și afișajul dvs. funcționează. Faceți tutorialul adafruit și / sau exemple de tutorial u8glib. Vom folosi u8glib aici, așa că este recomandat utilizatorilor avansați.

Pasul 2: Hardwares necesare

Hardwares necesare
Hardwares necesare

1. Arduino UNO sau Nano sau similar.

2. Senzor de presiune barometrică BMP085 sau BMP180.

3. SSD1306 I2C sau SPI Bus (Configurabil în schiță).

4. Sârme jumper și panou de verificare sau placa Vero pentru conexiuni.

Pasul 3: Biblioteci Arduino IDE pentru compilare

1. Sârmă.h

2. Adafruit_BMP085.h (va funcționa și pentru BMP180)

3. U8glib.h

Pasul 4: Conexiuni

Conexiunile sunt la fel atât pentru afișajul I2C, cât și pentru ecranul SPI OLED. Numai conexiunea la afișare va fi diferită.

1. BMP către Arduino:

VCC> 3,3V

GND> Teren

SCL> A5 / SCL

SDA> A4 / SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

2. SPI OLED către Arduino

VDD> 5V

GND> Teren

SCK / D0> D12 (Digital 12)

SDA / D1 / Mosi> D11

CS / Chip Select> D10

A0 / DC> D9

RES / Resetare> D13

(Dacă SPI OLED-ul dvs. nu are pinul Resetare, eliminați resetarea și resetarea pinului de pe afișajul schiței, selectați parametrii)

3. I2C OLED

La fel ca cablajul BMP, utilizează aceleași porturi și același tip de magistrală.

Pasul 5: încărcare schiță

Destul de direct. Doar descărcați fișierul zip și deschideți în Arduino IDE. Totul este configurat în schiță. Utilizatorii SPI OLED pot încărca schița fără nicio editare și va funcționa. Pentru utilizatorii I2C OLED, doar decomentați numele / opțiunea de afișare din opțiunea Display Select din schiță și comentați și închideți modelul / parametrul SPI Display pentru a dezactiva SPI OLED.

Parametru de afișare SPI:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

Parametru de afișare I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Afișați care nu trimite AC

Pentru a activa un parametru, trebuie doar să eliminați semnul // la început pentru a nu-l comenta. Asigurați-vă că este selectat / necomentat un singur afișaj.

Sugestii:

1. Senzorii BMP sunt sensibili la vânt, căldură și lumini. Asigurați-vă că îl acoperiți, cele mai bune rezultate sunt obținute prin atașarea unei spume cu aerisire adecvată pe ea. Lucruri precum banda de rață vor funcționa și ele, dar nu vor fi precise.

2. BMP folosește de obicei 3.3V, cu excepția cazului în care producătorul dvs. spune altfel. OLED poate funcționa de la 3,3V-5,5V (se recomandă 4-5V)

3. Este recomandat să setați mai întâi totul pe panou.

4. Dacă sunteți nou în OLED, vă rugăm să încercați mai întâi elemente simple, cum ar fi text și tampoane fictive, pentru a vă asigura că afișajul dvs. funcționează, precum și conexiunile dvs. sunt exacte.

Recomandat: