Indholdsfortegnelse:

Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED: 5 trin
Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED: 5 trin

Video: Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED: 5 trin

Video: Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED: 5 trin
Video: Soar To New Heights: Building An Altimeter With BMP180 And Arduino Using ChatGPT Generated Code! 2024, November
Anonim
Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED
Arduino højdemåler ved hjælp af BMP og SPI eller I2C OLED

I lang tid har jeg ledt efter højdemåler og temperatur ved hjælp af en enkelt sensor og vist den til SPI -baseret OLED. Da jeg ikke kunne finde noget præcist, troede jeg, at jeg ville bygge mit eget ved hjælp af U8glib -biblioteket. Der er en tutorial i youtube, men jeg hader virkelig video tutorials, jeg foretrækker tekster med enkle instruktioner og ingen kommercielle links.

Trin 1: Første ting først

Inden du udfører dette projekt, anbefaler jeg dig på det kraftigste at fuldføre SSD1306/OLED -tutorial til I2C eller SPI (alt efter hvad du vil bruge). Dette vil sikre, at du ved, hvordan du tilslutter/tilslutter din skærm, såvel som din skærm fungerer. Gør vejledningen til adafruit og/eller u8glib -eksempler. Vi vil bruge u8glib her, så det anbefales til avancerede brugere.

Trin 2: Nødvendige hardwares

Nødvendige hardwares
Nødvendige hardwares

1. Arduino UNO eller Nano eller lignende.

2. BMP085 eller BMP180 barometrisk trykføler.

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

4. Jumperwires og breadboard eller vero board til tilslutninger.

Trin 3: Arduino IDE -biblioteker til kompilering

1. Wire.h

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

3. U8glib.h

Trin 4: Forbindelser

Forbindelser er alle ens for både I2C og SPI OLED display. Kun forbindelsen til skærmen vil være anderledes.

1. BMP til Arduino:

VCC> 3,3V

GND> Jord

SCL> A5/SCL

SDA> A4/SDA

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

2. SPI OLED til Arduino

VDD> 5V

GND> Jord

SCK/D0> D12 (Digital 12)

SDA/D1/Mosi> D11

CS/Chip Select> D10

A0/DC> D9

RES/Reset> D13

(Hvis din SPI OLED ikke har nulstillingsnål på den, skal du bare fjerne nulstilling og nulstille pin fra skitsedisplayet vælge parametre)

3. I2C OLED

Samme som BMP -ledninger, de bruger samme porte og bustype.

Trin 5: Skitse -upload

Ret ligetil. Download bare zip -filen og åbn i Arduino IDE. Alt er konfigureret i skitsen. SPI OLED -brugere kan bare uploade skitsen uden nogen redigering, og det vil fungere. For I2C OLED -brugere skal du blot fjerne dit displaynavn/valgmulighed fra skærmbilledet Display Select, og kommentere og lukke SPI Display -modellen/parameteren for at deaktivere SPI OLED.

SPI -displayparameter:

// 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, der ikke sender AC

For at aktivere en parameter skal du blot fjerne // -tegnet i starten for at fjerne kommentaren. Sørg for, at kun ét display er valgt/ikke kommenteret.

Tips:

1. BMP -sensorer er følsomme over for vind, varme og lys. Sørg for at dække det, de bedste resultater opnås ved at fastgøre et skum med korrekt ventilation på det. Ting som andetape vil også fungere, men vil ikke være præcist.

2. BMP bruger normalt 3,3V, medmindre din producent siger andet. OLED fungerer muligvis fra 3.3v-5.5V (4-5V anbefales)

3. Det anbefales kraftigt at sætte alt på breadboard først.

4. Hvis du er ny i OLED, kan du prøve simple ting først som tekst og dummy -buffere for at sikre, at skærmen fungerer, såvel som dine forbindelser er korrekte.

Anbefalede: