Inhoudsopgave:

Arduino-hoogtemeter met BMP en SPI of I2C OLED - Ajarnpa
Arduino-hoogtemeter met BMP en SPI of I2C OLED - Ajarnpa

Video: Arduino-hoogtemeter met BMP en SPI of I2C OLED - Ajarnpa

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

Ik ben lange tijd op zoek geweest naar hoogtemeter en temperatuur met behulp van een enkele sensor en deze weer te geven aan op SPI gebaseerde OLED. Omdat ik niets precies kon vinden, dacht ik dat ik er zelf een zou bouwen met behulp van de U8glib-bibliotheek. Er is één tutorial op youtube, maar ik heb een hekel aan videotutorials, ik geef de voorkeur aan teksten met duidelijke instructies en geen commerciële links.

Stap 1: Eerste dingen eerst

Voordat je dit project doet, raad ik je ten zeerste aan om de SSD1306/OLED-zelfstudie voor I2C of SPI te voltooien (wat je maar wilt gebruiken). Dit zorgt ervoor dat u weet hoe u uw beeldscherm moet aansluiten/bekabelen, en dat uw beeldscherm werkt. Doe de adafruit-tutorial en/of u8glib-voorbeelden-tutorial. We zullen hier u8glib gebruiken, dus dat wordt aanbevolen voor gevorderde gebruikers.

Stap 2: Noodzakelijke hardware

Noodzakelijke hardware
Noodzakelijke hardware

1. Arduino UNO of Nano of iets dergelijks.

2. BMP085 of BMP180 luchtdruksensor.

3. SSD1306 I2C of SPI Bus (configureerbaar in schets).

4. Jumper-draden en breadboard of vero-board voor verbindingen.

Stap 3: Arduino IDE-bibliotheken voor compileren

1. Draad.h

2. Adafruit_BMP085.h (werkt ook voor BMP180)

3. U8glib.h

Stap 4: Aansluitingen

Verbindingen zijn allemaal hetzelfde voor zowel I2C als SPI OLED-display. Alleen de verbinding met het scherm zal anders zijn.

1. BMP naar Arduino:

VCC > 3.3V

GND > Aarde

SCL > A5/SCL

VIB > A4/SDA

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

2. SPI OLED naar Arduino

VDD > 5V

GND > Aarde

SCK/D0 > D12 (Digitaal 12)

SDA/D1/Mosi > D11

CS/Chip Selecteer > D10

A0/DC > D9

RES/Reset > D13

(Als uw SPI OLED geen reset-pin heeft, verwijdert u gewoon de reset- en reset-pin uit de schetsweergave-selecteer parameters)

3. I2C OLED

Hetzelfde als BMP-bedrading, ze gebruiken dezelfde poorten en hetzelfde bustype.

Stap 5: Schets uploaden

Vrij eenvoudig. Download gewoon het zipbestand en open het in Arduino IDE. Alles is geconfigureerd in de schets. SPI OLED-gebruikers kunnen de schets gewoon uploaden zonder enige bewerking en het zal werken. Voor I2C OLED-gebruikers, verwijder gewoon het commentaar van uw weergavenaam/optie uit de Display Select-optie van de schets, en becommentarieer en sluit het SPI Display-model/parameter om SPI OLED uit te schakelen.

SPI-weergaveparameter:

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

I2C-weergaveparameter:

//U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Display die geen AC. verzendt

Om een parameter in te schakelen, hoeft u alleen het //-teken aan het begin te verwijderen om het commentaar ongedaan te maken. Zorg ervoor dat er slechts één weergave is geselecteerd/waar geen commentaar op is gegeven.

tips:

1. BMP-sensoren zijn gevoelig voor wind, warmte en licht. Zorg ervoor dat je het afdekt, de beste resultaten worden bereikt door een Foam met goede ventilatie erop te bevestigen. Dingen zoals ducktape zullen ook werken, maar zullen niet precies zijn.

2. BMP gebruikt meestal 3,3V, tenzij uw fabrikant anders aangeeft. OLED werkt mogelijk van 3,3v-5,5V (4-5V aanbevolen)

3. Alles eerst op breadboard instellen wordt sterk aanbevolen.

4. Als OLED nieuw voor u is, probeer dan eerst eenvoudige dingen zoals tekst en dummy-buffers om er zeker van te zijn dat uw scherm goed werkt en dat uw verbindingen nauwkeurig zijn.

Aanbevolen: