Talaan ng mga Nilalaman:

Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: 5 Hakbang
Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: 5 Hakbang

Video: Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: 5 Hakbang

Video: Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: 5 Hakbang
Video: Lesson 96: Barometric Pressure, Temperature, Approximate Altitude Sensor BMP390 with LCD 2024, Nobyembre
Anonim
Arduino Altimeter Gamit ang BMP at SPI o I2C OLED
Arduino Altimeter Gamit ang BMP at SPI o I2C OLED

Sa loob ng mahabang panahon ay naghahanap ako ng altimeter at temperatura gamit ang isang solong sensor at ipinapakita ito sa OLI batay sa OLED. Dahil hindi ako makahanap ng anumang tumpak, naisip na magtatayo ako ng sarili gamit ang U8glib library. Mayroong isang tutorial sa youtube ngunit talagang kinamumuhian ko ang mga tutorial sa video, mas gusto ko ang mga teksto na may deretsong mga tagubilin at walang mga komersyal na link.

Hakbang 1: Una sa Una

Bago gawin ang proyektong ito, masidhi kong inirerekumenda na kumpletuhin ang tutorial ng SSD1306 / OLED para sa I2C o SPI (alinman ang nais mong gamitin). Titiyakin nito na alam mo kung paano ikonekta / i-wire ang iyong display, pati na rin ang iyong display ay gumagana. Gawin ang tutorial ng adafruit at / o u8glib halimbawa ng tutorial. Gumagamit kami ng u8glib dito kaya inirerekumenda para sa advanced na gumagamit.

Hakbang 2: Mga Kinakailangan na Hardwares

Kinakailangan Hardwares
Kinakailangan Hardwares

1. Arduino UNO o Nano o katulad.

2. BMP085 o BMP180 Barometric Pressure Sensor.

3. SSD1306 I2C o SPI Bus (Ma-configure sa sketch).

4. Jumper wires at breadboard o vero board para sa mga koneksyon.

Hakbang 3: Mga Aklatan ng Arduino IDE para sa Pag-iipon

1. Wire.h

2. Adafruit_BMP085.h (gagana rin para sa BMP180)

3. U8glib.h

Hakbang 4: Mga Koneksyon

Ang mga koneksyon ay pareho para sa parehong I2C at SPI OLED display. Ang koneksyon lamang na ipapakita ang magkakaiba.

1. BMP sa Arduino:

VCC> 3.3V

GND> Ground

SCL> A5 / SCL

SDA> A4 / SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, I-reset = 13

2. SPI OLED kay Arduino

VDD> 5V

GND> Ground

SCK / D0> D12 (Digital 12)

SDA / D1 / Mosi> D11

Piliin ang CS / Chip> D10

A0 / DC> D9

RES / I-reset> D13

(Kung ang iyong SPI OLED ay walang Reset pin dito alisin lamang ang pag-reset at pag-reset ng pin mula sa sketch display piliin ang mga parameter)

3. I2C OLED

Kapareho ng mga kable ng BMP, ginagamit nila ang parehong mga port at uri ng bus.

Hakbang 5: Pag-upload ng Sketch

Medyo prangka. I-download lamang ang zip file at buksan sa Arduino IDE. Ang lahat ay naka-configure sa sketch. Ang mga gumagamit ng SPI OLED ay maaaring mag-upload lamang ng sketch nang walang anumang pag-edit at gagana ito. Para sa mga gumagamit ng I2C OLED, i-unsment lang ang iyong display name / pagpipilian mula sa pagpipiliang Display Select ng sketch, at magkomento at isara ang modelo / parameter ng SPI Display upang hindi paganahin ang SPI OLED.

Parameter ng SPI Display:

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

I2C Display Parameter:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Display na hindi nagpapadala ng AC

Upang paganahin ang isang parameter, alisin lamang ang // sign sa simula upang i-un-comment ito. Siguraduhin na ang isang display lamang ang napili / hindi nagkomento.

Mga Pahiwatig:

1. Ang mga sensor ng BMP ay sensitibo sa hangin, init at ilaw. Siguraduhin na takpan ito, ang pinakamahusay na mga resulta ay nakamit sa pamamagitan ng paglakip ng isang Foam na may tamang bentilasyon dito. Ang mga bagay tulad ng duck tape ay gagana rin ngunit hindi magiging tumpak.

2. Karaniwang gumagamit ang BMP ng 3.3V maliban kung sinabi ng iyong tagagawa kung hindi man. Maaaring gumana ang OLED mula sa 3.3v-5.5V (inirekumenda ng 4-5V)

3. Ang pagtatakda muna ng lahat sa breadboard ay masidhing inirerekomenda.

4. Kung bago ka sa OLED mangyaring subukan muna ang mga simpleng bagay tulad ng text at dummy buffer upang matiyak na gumagana ang iyong display pati na rin ang iyong mga koneksyon ay tumpak.

Inirerekumendang: