İçindekiler:

BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre: 5 Adım
BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre: 5 Adım

Video: BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre: 5 Adım

Video: BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre: 5 Adım
Video: BMP280 modülünün arduino ile kullanımı 2024, Temmuz
Anonim
BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre
BMP ve SPI veya I2C OLED Kullanan Arduino Altimetre

Uzun zamandır tek bir sensör kullanarak altimetre ve sıcaklığı araştırıyorum ve SPI tabanlı OLED'e gösteriyorum. Kesin bir şey bulamadığım için U8glib kütüphanesini kullanarak kendim inşa edeceğimi düşündüm. Youtube'da bir tane öğretici var ama video eğitimlerinden gerçekten nefret ediyorum, basit talimatlar içeren ve ticari bağlantı içermeyen metinleri tercih ediyorum.

Adım 1: Önce İlk Şeyler

Bu projeyi yapmadan önce, I2C veya SPI (hangisini kullanmak istiyorsanız) için SSD1306/OLED eğitimini tamamlamanızı şiddetle tavsiye ederim. Bu, ekranınızı nasıl bağlayacağınızı/kablolayacağınızı ve ekranınızın nasıl çalıştığını bilmenizi sağlayacaktır. Adafruit öğretici ve/veya u8glib örnekleri öğreticisini yapın. Burada u8glib kullanacağız, bu nedenle ileri düzey kullanıcılar için önerilir.

Adım 2: Gerekli Donanımlar

Gerekli Donanımlar
Gerekli Donanımlar

1. Arduino UNO veya Nano veya benzeri.

2. BMP085 veya BMP180 Barometrik Basınç Sensörü.

3. SSD1306 I2C veya SPI Veri Yolu (Çizimde yapılandırılabilir).

4. Bağlantılar için atlama telleri ve devre tahtası veya vero kartı.

Adım 3: Derleme için Arduino IDE Kitaplıkları

1. Tel.h

2. Adafruit_BMP085.h (BMP180 için de çalışacaktır)

3. U8glib.h

4. Adım: Bağlantılar

Bağlantıların tümü hem I2C hem de SPI OLED ekranı için aynıdır. Yalnızca görüntülenecek bağlantı farklı olacaktır.

1. BMP'den Arduino'ya:

VCC > 3.3V

GND > Zemin

SCL > A5/SCL

SDA > A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Sıfırlama = 13

2. Arduino'ya SPI OLED

VDD > 5V

GND > Zemin

SCK/D0 > D12 (Dijital 12)

SDA/D1/Mosi > D11

CS/Çip Seçimi > D10

A0/DC > D9

RES/Sıfırla > D13

(SPI OLED'inizde Sıfırlama pimi yoksa, çizim ekranı seçme parametrelerinden sıfırlama ve sıfırlama pimini kaldırmanız yeterlidir)

3. I2C OLED'i

BMP kablolama ile aynı şekilde, aynı portları ve veri yolu tipini kullanırlar.

Adım 5: Eskiz Yükleme

Oldukça basit. Sadece zip dosyasını indirin ve Arduino IDE'de açın. Çizimde her şey yapılandırılmıştır. SPI OLED kullanıcıları taslağı herhangi bir düzenleme yapmadan yükleyebilir ve işe yarayacaktır. I2C OLED kullanıcıları için, çizimin Ekran Seçimi seçeneğinden görünen adınızı/seçeneğinizi kaldırın ve SPI OLED'i devre dışı bırakmak için SPI Ekran modelini/parametresini yorumlayın ve kapatın.

SPI Ekran Parametresi:

//U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9, 13); // SW SPI İletişim: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Sıfırlama = 13

I2C Ekran Parametresi:

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // AC göndermeyen ekran

Bir parametreyi etkinleştirmek için, yorumunu kaldırmak için başlangıçtaki // işaretini kaldırmanız yeterlidir. Yalnızca bir ekranın seçildiğinden/yorumsuz olduğundan emin olun.

İpuçları:

1. BMP sensörleri rüzgara, ısıya ve ışıklara karşı hassastır. Üzerini kapattığınızdan emin olun, en iyi sonuçlar, üzerine uygun havalandırmalı bir Köpük takılarak elde edilir. Ördek bandı gibi şeyler de işe yarayacak ama kesin olmayacak.

2. Üreticiniz aksini söylemediği sürece BMP genellikle 3.3V kullanır. OLED, 3.3v-5.5V (4-5V önerilir) arasında çalışabilir

3. Her şeyin ilk olarak breadboard üzerinde ayarlanması şiddetle tavsiye edilir.

4. OLED'de yeniyseniz, ekranınızın çalıştığından ve bağlantılarınızın doğru olduğundan emin olmak için lütfen önce metin ve sahte arabellekler gibi basit öğeleri deneyin.

Önerilen: