Innehållsförteckning:

Arduino höjdmätare med BMP och SPI eller I2C OLED: 5 steg
Arduino höjdmätare med BMP och SPI eller I2C OLED: 5 steg

Video: Arduino höjdmätare med BMP och SPI eller I2C OLED: 5 steg

Video: Arduino höjdmätare med BMP och SPI eller I2C OLED: 5 steg
Video: Soar To New Heights: Building An Altimeter With BMP180 And Arduino Using ChatGPT Generated Code! 2024, November
Anonim
Arduino höjdmätare med BMP och SPI eller I2C OLED
Arduino höjdmätare med BMP och SPI eller I2C OLED

Jag har länge letat efter höjdmätare och temperatur med en enda sensor och visat den för SPI -baserad OLED. Eftersom jag inte kunde hitta något exakt, tänkte jag bygga mitt eget med U8glib -biblioteket. Det finns en handledning i youtube men jag hatar verkligen videohandledning, jag föredrar texter med enkla instruktioner och inga kommersiella länkar.

Steg 1: Första sakerna först

Innan du gör detta projekt rekommenderar jag starkt att du slutför SSD1306/OLED -handledning för I2C eller SPI (vilken du vill använda). Detta säkerställer att du vet hur du ansluter/kopplar din bildskärm, såväl som att skärmen fungerar. Gör handledningen för adafruit och/eller u8glib -exempel. Vi kommer att använda u8glib här så det rekommenderas för avancerade användare.

Steg 2: Nödvändig hårdvara

Nödvändig hårdvara
Nödvändig hårdvara

1. Arduino UNO eller Nano eller liknande.

2. BMP085 eller BMP180 barometrisk trycksensor.

3. SSD1306 I2C eller SPI -buss (konfigurerbar i skiss).

4. Bygeltrådar och brödbräda eller verobord för anslutningar.

Steg 3: Arduino IDE -bibliotek för kompilering

1. Wire.h

2. Adafruit_BMP085.h (fungerar även för BMP180)

3. U8glib.h

Steg 4: Anslutningar

Anslutningarna är desamma för både I2C och SPI OLED -skärmen. Endast anslutningen till skärmen blir annorlunda.

1. BMP till Arduino:

VCC> 3,3V

GND> Jord

SCL> A5/SCL

SDA> A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Återställ = 13

2. SPI OLED till Arduino

VDD> 5V

GND> Jord

SCK/D0> D12 (Digital 12)

SDA/D1/Mosi> D11

CS/Chip Select> D10

A0/DC> D9

RES/Återställ> D13

(Om din SPI OLED inte har Återställ stift på den tar du bara bort återställnings- och återställningsstiftet från skissdisplayens valparametrar)

3. I2C OLED

Samma som BMP -kablar, de använder samma portar och busstyp.

Steg 5: Skissöverföring

Ganska okomplicerat. Ladda bara ner zip -filen och öppna i Arduino IDE. Allt är konfigurerat i skissen. SPI OLED -användare kan bara ladda upp skissen utan någon redigering och det kommer att fungera. För I2C OLED -användare, avmarkera bara ditt visningsnamn/alternativ från alternativet Display Select på skissen och kommentera och stäng SPI Display -modellen/parametern för att inaktivera SPI OLED.

SPI -displayparameter:

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

I2C Display Parameter:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Display som inte skickar AC

För att aktivera en parameter, ta bara bort //-tecknet i början för att av-kommentera det. Se till att endast en skärm är markerad/ej kommenterad.

Tips:

1. BMP -sensorer är känsliga för vind, värme och ljus. Se till att täcka den, bästa resultat uppnås genom att fästa ett skum med ordentlig ventilation på det. Saker som andtejp fungerar också men kommer inte att vara exakta.

2. BMP använder vanligtvis 3,3V om inte tillverkaren säger något annat. OLED kan fungera från 3.3v-5.5V (4-5V rekommenderas)

3. Att ställa in allt på brödbräda först rekommenderas starkt.

4. Om du är ny på OLED, försök med enkla saker först som text och dummy -buffertar för att se till att skärmen fungerar och att dina anslutningar är korrekta.

Rekommenderad: