Съдържание:

Arduino Altimeter Използване на BMP и SPI или I2C OLED: 5 стъпки
Arduino Altimeter Използване на BMP и SPI или I2C OLED: 5 стъпки

Видео: Arduino Altimeter Използване на BMP и SPI или I2C OLED: 5 стъпки

Видео: Arduino Altimeter Използване на BMP и SPI или I2C OLED: 5 стъпки
Видео: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Юли
Anonim
Arduino Altimeter Използване на BMP и SPI или I2C OLED
Arduino Altimeter Използване на BMP и SPI или I2C OLED

Дълго време търсих висотомер и температура с помощта на един сензор и го показвах на SPI базиран OLED. Тъй като не можах да намеря нищо точно, мислех, че ще създам свой собствен, използвайки библиотеката U8glib. Има един урок в youtube, но наистина мразя видео уроците, предпочитам текстове с ясни инструкции и без търговски връзки.

Стъпка 1: Първи неща първо

Преди да започнете този проект, силно ви препоръчвам да завършите SSD1306/OLED урок за I2C или SPI (каквото искате да използвате). Това ще гарантира, че знаете как да свържете/свържете вашия дисплей, както и че дисплеят ви работи. Направете урок за адафрут и/или урок с примери u8glib. Тук ще използваме u8glib, така че се препоръчва за напреднали потребители.

Стъпка 2: Необходими хардуери

Необходими хардуерни елементи
Необходими хардуерни елементи

1. Arduino UNO или Nano или подобен.

2. BMP085 или BMP180 сензор за барометрично налягане.

3. SSD1306 I2C или SPI шина (Конфигурира се в скица).

4. Кабелни проводници и дъска или вяро платка за връзки.

Стъпка 3: Arduino IDE библиотеки за компилиране

1. Wire.h

2. Adafruit_BMP085.h (ще работи и за BMP180)

3. U8glib.h

Стъпка 4: Връзки

Връзките са еднакви както за I2C, така и за SPI OLED дисплей. Само връзката с дисплея ще бъде различна.

1. BMP към Arduino:

VCC> 3.3V

GND> Земя

SCL> A5/SCL

SDA> A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Нулиране = 13

2. SPI OLED към Arduino

VDD> 5V

GND> Земя

SCK/D0> D12 (цифров 12)

SDA/D1/Mosi> D11

CS/Chip Изберете> D10

A0/DC> D9

RES/Нулиране> D13

(Ако вашият SPI OLED няма щифт за нулиране, просто премахнете нулирането и нулирайте щифта от параметрите за избор на дисплея на скицата)

3. I2C OLED

Подобно на окабеляването BMP, те използват същите портове и тип шина.

Стъпка 5: Качване на скица

Доста ясно. Просто изтеглете zip файла и го отворете в Arduino IDE. Всичко е конфигурирано в скицата. Потребителите на SPI OLED могат просто да качат скицата без никакво редактиране и тя ще работи. За потребителите на I2C OLED, просто декомментирайте вашето име/опция за показване от опцията Display Select на скицата, коментирайте и затворете модела/параметъра на SPI дисплея, за да деактивирате SPI OLED.

Параметър на дисплея на SPI:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Нулиране = 13

Параметър на дисплея I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Дисплей, който не изпраща AC

За да активирате параметър, просто премахнете знака // в началото, за да го коментирате. Уверете се, че е избран само един дисплей/не е коментиран.

Съвети:

1. BMP сензорите са чувствителни към вятър, топлина и светлини. Не забравяйте да го покриете, най -добри резултати се постигат чрез поставяне на пяна с подходяща вентилация върху нея. Неща като патешка лента също ще работят, но няма да бъдат точни.

2. BMP обикновено използва 3.3V, освен ако вашият производител не каже друго. OLED може да работи от 3.3v-5.5V (препоръчително 4-5V)

3. Силно се препоръчва първо да настроите всичко на макета.

4. Ако сте нов в OLED, моля, опитайте първо прости неща като текст и фиктивни буфери, за да се уверите, че дисплеят ви работи, както и че връзките ви са точни.

Препоръчано: