Mundarija:

BMP va SPI yoki I2C OLED yordamida Arduino Altimetr: 5 qadam
BMP va SPI yoki I2C OLED yordamida Arduino Altimetr: 5 qadam

Video: BMP va SPI yoki I2C OLED yordamida Arduino Altimetr: 5 qadam

Video: BMP va SPI yoki I2C OLED yordamida Arduino Altimetr: 5 qadam
Video: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, Iyul
Anonim
Arduino altimetr BMP va SPI yoki I2C OLED yordamida
Arduino altimetr BMP va SPI yoki I2C OLED yordamida

Uzoq vaqt davomida men bitta sensordan foydalanib, altimetr va haroratni qidirardim va uni SPI -ga asoslangan OLEDda ko'rsatardim. Men aniq bir narsa topa olmaganim uchun, U8glib kutubxonasidan foydalanib, o'z uyimni quraman deb o'yladim. YouTube -da bitta darslik bor, lekin men video darslarni juda yomon ko'raman, men oddiy ko'rsatmali va tijorat havolasi bo'lmagan matnlarni afzal ko'raman.

1 -qadam: Birinchi narsa birinchi

Loyihani amalga oshirishdan oldin, men sizga I2C yoki SPI uchun SSD1306/OLED qo'llanmasini (qaysi birini ishlatmoqchi bo'lsangiz) bajarishingizni qat'iy tavsiya qilaman. Bu sizning displeyingizni qanday ulashni/ulashni bilishingizni, shuningdek displeyingiz ishlashini ta'minlaydi. Adafruit bo'yicha qo'llanma va/yoki u8glib misollari qo'llanmasini bajaring. Biz u8glib -ni bu erda ishlatamiz, shuning uchun ilg'or foydalanuvchilar uchun tavsiya etiladi.

2 -qadam: kerakli uskunalar

Kerakli uskunalar
Kerakli uskunalar

1. Arduino UNO yoki Nano yoki shunga o'xshash.

2. BMP085 yoki BMP180 Barometrik bosim sensori.

3. SSD1306 I2C yoki SPI Bus (eskizda sozlanishi).

4. Jumper simlari va ulanish uchun non paneli yoki vero taxtasi.

3 -qadam: kompilyatsiya qilish uchun Arduino IDE kutubxonalari

1. Wire.h

2. Adafruit_BMP085.h (BMP180 uchun ham ishlaydi)

3. U8glib.h

4 -qadam: ulanishlar

Ulanish I2C va SPI OLED displeylari uchun bir xil. Faqat ko'rsatish uchun ulanish boshqacha bo'ladi.

1. Arduino uchun BMP:

VC> 3.3V

GND> Er

SCL> A5/SCL

SDA> A4/SDA

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

2. Arduino uchun SPI OLED

VDD> 5V

GND> Er

SCK/D0> D12 (Raqamli 12)

SDA/D1/Mosi> D11

CS/Chip ni tanlang> D10

A0/shahar> D9

RES/Reset> D13

(Agar sizda SPI OLED -da PIN -kodni tiklash bo'lmasa, sketch displeyidagi tanlangan parametrlarni asl holatini tiklash va o'chirish pinini olib tashlang)

3. I2C OLED

BMP simlari bilan bir xil, ular bir xil port va avtobus turlaridan foydalanadilar.

5 -qadam: eskizni yuklash

Juda sodda. Faqat zip faylini yuklab oling va Arduino IDE -da oching. Hammasi eskizda tuzilgan. SPI OLED foydalanuvchilari eskizni hech qanday tahrir qilmasdan yuklashlari mumkin va u ishlaydi. I2C OLED foydalanuvchilari uchun, eskizning Displeyni tanlash opsiyasidan ko'rsatiladigan nom/variantni izohlang va SPI OLEDni o'chirish uchun SPI Display modeli/parametrini sharhlang va yoping.

SPI displey parametrlari:

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

I2C displey parametrlari:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // ACni yubormaydigan displey

Parametrni yoqish uchun sharhni ochish uchun boshidagi // belgisini olib tashlang. Faqat bitta displey tanlanganiga/izoh berilmaganligiga ishonch hosil qiling.

Maslahatlar:

1. BMP datchiklari shamol, issiqlik va yorug'likka sezgir. Qoplamoqchi bo'ling, eng yaxshi natijalarga ko'pikni to'g'ri shamollatish bilan biriktirish orqali erishiladi. O'rdak lentasi kabi narsalar ham ishlaydi, lekin aniq bo'lmaydi.

2. Agar ishlab chiqaruvchi boshqacha aytmasa, BMP odatda 3.3V dan foydalanadi. OLED 3.3V-5.5V dan ishlashi mumkin (4-5V tavsiya etiladi)

3. Hamma narsani non taxtasiga birinchi bo'lib o'rnatish qat'iyan tavsiya etiladi.

4. Agar siz OLED -da yangi bo'lsangiz, iltimos, displeyingiz ishlayotganiga va ulanishlaringiz aniqligiga ishonch hosil qilish uchun avval matn va qo'g'irchoqlar kabi oddiy narsalarni sinab ko'ring.

Tavsiya: