INHOUDSOPGAWE:

Arduino hoogtemeter met BMP en SPI of I2C OLED: 5 stappe
Arduino hoogtemeter met BMP en SPI of I2C OLED: 5 stappe

Video: Arduino hoogtemeter met BMP en SPI of I2C OLED: 5 stappe

Video: Arduino hoogtemeter met BMP en SPI of I2C OLED: 5 stappe
Video: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, November
Anonim
Arduino hoogtemeter met behulp van BMP en SPI of I2C OLED
Arduino hoogtemeter met behulp van BMP en SPI of I2C OLED

Ek soek al lank na hoogtemeter en temperatuur met behulp van 'n enkele sensor en vertoon dit op SPI -gebaseerde OLED. Aangesien ek niks presies kon vind nie, het ek gedink ek sou my eie bou met die U8glib -biblioteek. Daar is een tutoriaal in YouTube, maar ek haat video -tutoriale regtig, ek verkies tekste met eenvoudige instruksies en geen kommersiële skakels nie.

Stap 1: Eerste dinge eerste

Voordat u hierdie projek doen, beveel ek u sterk aan om SSD1306/OLED -tutoriaal vir I2C of SPI te voltooi (wat u ook al wil gebruik). Dit sal verseker dat u weet hoe u u skerm moet aansluit/bedraad, sowel as dat u skerm werk. Doen die tutoriaal vir adafruit en/of u8glib -voorbeelde. Ons sal u8glib hier gebruik, sodat dit aanbeveel word vir gevorderde gebruikers.

Stap 2: Noodsaaklike hardeware

Nodige hardeware
Nodige hardeware

1. Arduino UNO of Nano of soortgelyk.

2. BMP085 of BMP180 Barometriese druksensor.

3. SSD1306 I2C of SPI Bus (konfigureerbaar in skets).

4. Springdrade en broodbord of vero -bord vir verbindings.

Stap 3: Arduino IDE -biblioteke vir die opstel

1. Wire.h

2. Adafruit_BMP085.h (werk ook vir BMP180)

3. U8glib.h

Stap 4: Verbindings

Verbindings is almal dieselfde vir beide I2C en SPI OLED -skerm. Slegs die verbinding met die skerm sal anders wees.

1. BMP na Arduino:

VCC> 3.3V

GND> Grond

SCL> A5/SCL

SDA> A4/SDA

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

2. SPI OLED na Arduino

VDD> 5V

GND> Grond

SCK/D0> D12 (digitaal 12)

SDA/D1/Mosi> D11

CS/Chip Select> D10

A0/DC> D9

RES/Reset> D13

(As u SPI OLED nie 'n reset -pen bevat nie, verwyder dan die reset en stel die pin terug van die parameters van die sketsweergawe)

3. I2C OLED

Dieselfde as BMP -bedrading, hulle gebruik dieselfde poorte en bus tipe.

Stap 5: Sketsoplaai

Redelik eenvoudig. Laai die zip -lêer af en maak dit oop in Arduino IDE. Alles is opgestel in die skets. SPI OLED -gebruikers kan die skets net oplaai sonder om te redigeer, en dit sal werk. Vir I2C OLED -gebruikers, los net u vertoningsnaam/opsie uit die Display Select -opsie van die skets op, en lewer kommentaar en sluit die SPI Display -model/parameter om SPI OLED uit te skakel.

SPI -vertoonparameter:

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

I2C vertoonparameter:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Vertoning wat nie AC stuur nie

Om 'n parameter in te skakel, verwyder die // teken aan die begin om die kommentaar daarop te verwyder. Maak seker dat slegs een skerm gekies is/sonder kommentaar.

Wenke:

1. BMP -sensors is sensitief vir wind, hitte en ligte. Maak seker dat u dit bedek; die beste resultate word behaal deur 'n skuim met behoorlike ventilasie daaraan vas te maak. Dinge soos eend tape sal ook werk, maar dit sal nie presies wees nie.

2. BMP gebruik gewoonlik 3.3V, tensy u vervaardiger anders sê. OLED werk moontlik van 3.3v-5.5V (4-5V word aanbeveel)

3. Dit word sterk aanbeveel om alles op die broodbord te plaas.

4. As u nuut is in OLED, probeer eers eenvoudige goed soos teks en dummy buffers om seker te maak dat u skerm werk, en dat u verbindings akkuraat is.

Aanbeveel: