Мазмуну:

Arduino Altimeter BMP жана SPI же I2C OLED колдонуу: 5 кадам
Arduino Altimeter BMP жана SPI же I2C OLED колдонуу: 5 кадам

Video: Arduino Altimeter BMP жана SPI же I2C OLED колдонуу: 5 кадам

Video: Arduino Altimeter BMP жана SPI же I2C OLED колдонуу: 5 кадам
Video: Урок 96: Датчик атмосферного давления, температуры, приблизительной высоты BMP390 с ЖК-дисплеем 2024, Июль
Anonim
Arduino Altimeter BMP жана SPI же I2C OLED колдонуу
Arduino Altimeter BMP жана SPI же I2C OLED колдонуу

Көптөн бери мен бир сенсордун жардамы менен бийиктикти жана температураны издеп, SPIге негизделген OLEDде көрсөтчүмүн. Мен так эч нерсе таба албагандыктан, U8glib китепканасын колдонуу менен өзүмдүкүн курам деп ойлодум. Ютубда бир үйрөткүч бар, бирок мен видео сабактарды абдан жек көрөм, мен жөнөкөй көрсөтмөлөрү бар жана коммерциялык шилтемелери жок тексттерди артык көрөм.

1 -кадам: Биринчи нерсе биринчи

Бул долбоорду жасоодон мурун, мен сизге I2C же SPI үчүн SSD1306/OLED окуу куралын (кайсынысын колдонууну кааласаңыз) аяктоону сунуштайм. Бул сиздин дисплейиңизди кантип туташтырууну/зымды билүүнү камсыз кылат, ошондой эле дисплейиңиз иштеп жатат. Adafruit үйрөткүчүн жана/же u8glib мисалдарын үйрөткүчтү аткарыңыз. Биз бул жерде u8glib колдонобуз, ошондуктан өнүккөн колдонуучуларга сунушталат.

2 -кадам: Керектүү жабдыктар

Керектүү жабдыктар
Керектүү жабдыктар

1. Arduino UNO же Nano же окшош.

2. BMP085 же BMP180 Барометрдик басым сенсору.

3. SSD1306 I2C же SPI Bus (Эскизде конфигурацияланат).

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, Reset = 13

2. SPU OLED Arduino

VDD> 5V

GND> Жер

SCK/D0> D12 (Санарип 12)

SDA/D1/Mosi> D11

CS/Chip Select> D10

A0/DC> D9

RES/Reset> D13

(Эгерде сизде SPI OLEDде PIN кодду калыбына келтирүү жок болсо, жөн гана баштапкы абалды алып салыңыз жана эскиз дисплейден баштапкы абалга келтирүү параметрлерин тандаңыз)

3. I2C OLED

BMP зымдары менен бирдей, алар ошол эле портторду жана автобус түрүн колдонушат.

5 -кадам: Эскиз жүктөө

Аябай түз. Жөн гана zip файлын жүктөп алып, Arduino IDEде ачыңыз. Баары эскизде конфигурацияланган. SPI OLED колдонуучулары эч кандай түзөтүүсүз эле эскизди жүктөй алышат жана ал иштейт. I2C OLED колдонуучулары үчүн, эскиздин Display Select тандоосунан дисплейиңиздин атын/вариантын комментарийлеңиз жана SPI OLEDди өчүрүү үчүн SPI Display моделин/параметрин комментарийлеп, жабыңыз.

SPI дисплей параметрлери:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 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ге жаңыдан кирсеңиз, анда дисплейиңиздин иштеп жатканына, ошондой эле туташууларыңыздын так экенине ынануу үчүн текст жана жасалма буфер сыяктуу жөнөкөй нерселерди байкап көрүңүз.

Сунушталууда: