Turinys:

„Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED: 5 žingsniai
„Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED: 5 žingsniai

Video: „Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED: 5 žingsniai

Video: „Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED: 5 žingsniai
Video: Arduino Nano and GY-521 MPU6050 3-осевой гироскоп, 3-осевой акселерометр и DMP 2024, Lapkritis
Anonim
„Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED
„Arduino“aukščio matuoklis naudojant BMP ir SPI arba I2C OLED

Ilgą laiką aš ieškojau aukščio matuoklio ir temperatūros, naudodamas vieną jutiklį ir rodydamas jį SPI pagrįstu OLED. Kadangi nieko tikslaus neradau, pagalvojau, kad sukursiu savo, naudodamas „U8glib“biblioteką. „YouTube“yra viena pamoka, bet aš tikrai nekenčiu vaizdo įrašų vadovėlių, man labiau patinka tekstai su paprastomis instrukcijomis ir be komercinių nuorodų.

1 žingsnis: Pirmiausia

Prieš atlikdamas šį projektą, primygtinai rekomenduoju užpildyti SSD1306/OLED pamoką, skirtą I2C arba SPI (kurią norite naudoti). Tai užtikrins, kad žinote, kaip prijungti/prijungti ekraną, taip pat, kaip veikia ekranas. Atlikite „adafruit“vadovėlį ir (arba) „u8glib“pavyzdžių vadovėlį. Mes čia naudosime „u8glib“, todėl tai rekomenduojama patyrusiam vartotojui.

2 žingsnis: būtinos techninės įrangos

Reikalinga aparatūra
Reikalinga aparatūra

1. „Arduino UNO“arba „Nano“ar panašiai.

2. BMP085 arba BMP180 barometrinio slėgio jutiklis.

3. SSD1306 I2C arba SPI magistralė (konfigūruojama eskizu).

4. Jungiamieji laidai ir duonos plokštė arba vero plokštė jungtims.

3 žingsnis: „Arduino IDE“bibliotekos kompiliavimui

1. Viela.h

2. Adafruit_BMP085.h (tiks ir BMP180)

3. U8glib.h

4 žingsnis: jungtys

Visos jungtys yra vienodos tiek I2C, tiek SPI OLED ekranuose. Tik ryšys su ekranu bus kitoks.

1. BMP į Arduino:

VCC> 3.3V

GND> Žemė

SCL> A5/SCL

SDA> A4/SDA

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

2. „SPI OLED“į „Arduino“

VDD> 5V

GND> Žemė

SCK/D0> D12 (skaitmeninis 12)

SDA/D1/Mosi> D11

CS/Chip Pasirinkite> D10

A0/DC> D9

RES/Reset> D13

(Jei jūsų „SPI OLED“nėra atstatymo kaiščio, tiesiog išimkite iš naujo ir iš naujo nustatykite kaištį iš eskizo ekrano pasirinkimo parametrų)

3. I2C OLED

Kaip ir BMP laidai, jie naudoja tuos pačius prievadus ir magistralės tipą.

5 veiksmas: eskizo įkėlimas

Gana tiesmukas. Tiesiog atsisiųskite ZIP failą ir atidarykite „Arduino IDE“. Viskas sukonfigūruota eskize. „SPI OLED“vartotojai gali tiesiog įkelti eskizą be jokio redagavimo ir jis veiks. „I2C OLED“vartotojams tiesiog nekomentuokite savo rodomo vardo/parinkties iš eskizo parinkties „Vaizdo pasirinkimas“, pakomentuokite ir uždarykite „SPI Display“modelį/parametrą, kad išjungtumėte „SPI OLED“.

SPI rodymo parametras:

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

I2C ekrano parametras:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Ekranas, kuris nesiunčia kintamosios srovės

Norėdami įgalinti parametrą, tiesiog pašalinkite // ženklą pradžioje, kad panaikintumėte jo komentarą. Įsitikinkite, kad pasirinktas/panaikintas tik vienas ekranas.

Patarimai:

1. BMP jutikliai jautrūs vėjui, karščiui ir šviesai. Būtinai uždarykite, geriausi rezultatai pasiekiami pritvirtinus putas su tinkama ventiliacija. Taip pat veiks tokie dalykai kaip ančių juosta, tačiau jie nebus tikslūs.

2. BMP paprastai naudoja 3.3V, nebent jūsų gamintojas sako kitaip. OLED gali veikti nuo 3.3v-5.5V (rekomenduojama 4-5V)

3. Primygtinai rekomenduojama pirmiausia nustatyti viską ant duonos lentos.

4. Jei esate naujas OLED, pirmiausia išbandykite paprastus dalykus, pvz., Tekstą ir fiktyvius buferius, kad įsitikintumėte, jog ekranas veikia ir jūsų ryšiai yra tikslūs.

Rekomenduojamas: