Innholdsfortegnelse:

Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED: 5 trinn
Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED: 5 trinn

Video: Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED: 5 trinn

Video: Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED: 5 trinn
Video: Soar To New Heights: Building An Altimeter With BMP180 And Arduino Using ChatGPT Generated Code! 2024, November
Anonim
Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED
Arduino høydemåler ved hjelp av BMP og SPI eller I2C OLED

Jeg har lenge søkt etter høydemåler og temperatur ved hjelp av en enkelt sensor og vist den til SPI -basert OLED. Siden jeg ikke fant noe presist, tenkte jeg at jeg skulle bygge mitt eget ved hjelp av U8glib -biblioteket. Det er en opplæring i youtube, men jeg hater virkelig videoopplæringer, jeg foretrekker tekster med enkle instruksjoner og ingen kommersielle lenker.

Trinn 1: Første ting først

Før du gjør dette prosjektet, anbefaler jeg deg å fullføre SSD1306/OLED -opplæringen for I2C eller SPI (den du vil bruke). Dette vil sikre at du vet hvordan du kobler til/til skjermen, og at skjermen fungerer. Gjør opplæringen for adafruit og/eller u8glib -eksempler. Vi bruker u8glib her, så det anbefales for avanserte brukere.

Trinn 2: Nødvendig maskinvare

Nødvendig maskinvare
Nødvendig maskinvare

1. Arduino UNO eller Nano eller lignende.

2. BMP085 eller BMP180 barometrisk trykksensor.

3. SSD1306 I2C eller SPI Bus (konfigurerbar i skisse).

4. Stikkledere og brødbrett eller verobrett for tilkoblinger.

Trinn 3: Arduino IDE -biblioteker for kompilering

1. Wire.h

2. Adafruit_BMP085.h (fungerer også for BMP180)

3. U8glib.h

Trinn 4: Tilkoblinger

Tilkoblinger er alle like for både I2C og SPI OLED -skjerm. Bare tilkoblingen til skjermen vil være annerledes.

1. BMP til Arduino:

VCC> 3,3V

GND> Bakken

SCL> A5/SCL

SDA> A4/SDA

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

2. SPI OLED til Arduino

VDD> 5V

GND> Bakken

SCK/D0> D12 (Digital 12)

SDA/D1/Mosi> D11

CS/Chip Select> D10

A0/DC> D9

RES/Reset> D13

(Hvis SPI OLED ikke har en tilbakestillingsnål på den, fjerner du bare tilbakestillings- og tilbakestillingsnålen fra parameterne for skissevisning.)

3. I2C OLED

Samme som BMP -ledninger, de bruker samme porter og busstype.

Trinn 5: Skisseopplasting

Ganske rett fram. Bare last ned zip -filen og åpne den i Arduino IDE. Alt er konfigurert i skissen. SPI OLED -brukere kan bare laste opp skissen uten noen redigering, og det vil fungere. For I2C OLED -brukere, bare kommenter visningsnavnet/alternativet fra Display Select -alternativet på skissen, og kommenter og lukk SPI -skjermmodellen/parameteren for å deaktivere SPI OLED.

SPI -skjermparameter:

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

I2C Display Parameter:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Display som ikke sender AC

For å aktivere en parameter, fjerner du // -tegnet i starten for å fjerne kommentaren. Sørg for at bare én skjerm er valgt/ikke kommentert.

Tips:

1. BMP -sensorer er følsomme for vind, varme og lys. Sørg for å dekke den, de beste resultatene oppnås ved å feste et skum med riktig ventilasjon på det. Ting som andebånd vil også fungere, men vil ikke være presist.

2. BMP bruker vanligvis 3,3V med mindre produsenten sier noe annet. OLED kan fungere fra 3.3v-5.5V (4-5V anbefales)

3. Det anbefales på det sterkeste å sette alt på brødbrettet.

4. Hvis du er ny på OLED, kan du prøve enkle ting først som tekst og dummy -buffere for å sikre at skjermen fungerer, så vel som at tilkoblingene dine er nøyaktige.

Anbefalt: