Daftar Isi:

Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED: 5 Langkah
Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED: 5 Langkah

Video: Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED: 5 Langkah

Video: Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED: 5 Langkah
Video: Tutorial OLED Display 0.96" I2C dengan ESP32 pada Arduino IDE 2024, November
Anonim
Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED
Arduino Altimeter Menggunakan BMP dan SPI atau I2C OLED

Untuk waktu yang lama saya telah mencari altimeter dan suhu menggunakan satu sensor dan menampilkannya ke OLED berbasis SPI. Karena saya tidak dapat menemukan sesuatu yang tepat, saya pikir saya akan membuat sendiri menggunakan perpustakaan U8glib. Ada satu tutorial di youtube tetapi saya sangat membenci tutorial video, saya lebih suka teks dengan instruksi langsung dan tidak ada tautan komersial.

Langkah 1: Hal Pertama Pertama

Sebelum melakukan proyek ini, saya sangat menyarankan Anda untuk menyelesaikan tutorial SSD1306/OLED untuk I2C atau SPI (mana pun yang ingin Anda gunakan). Ini akan memastikan bahwa Anda tahu cara menyambungkan/menyambungkan layar Anda, serta layar Anda berfungsi. Lakukan tutorial adafruit dan/atau tutorial contoh u8glib. Kami akan menggunakan u8glib di sini sehingga direkomendasikan untuk pengguna tingkat lanjut.

Langkah 2: Perangkat Keras yang Diperlukan

Perangkat Keras yang Diperlukan
Perangkat Keras yang Diperlukan

1. Arduino UNO atau Nano atau sejenisnya.

2. Sensor Tekanan Barometrik BMP085 atau BMP180.

3. SSD1306 I2C atau SPI Bus (Dapat dikonfigurasi dalam sketsa).

4. Kabel jumper dan papan tempat memotong roti atau papan vero untuk koneksi.

Langkah 3: Perpustakaan Arduino IDE untuk Kompilasi

1. Wire.h

2. Adafruit_BMP085.h (akan bekerja untuk BMP180 juga)

3. U8glib.h

Langkah 4: Koneksi

Semua koneksi sama untuk tampilan I2C dan SPI OLED. Hanya koneksi ke tampilan yang akan berbeda.

1. BMP ke Arduino:

VCC > 3.3V

GND > Tanah

SCL > A5/SCL

SDA > A4/SDA

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

2. SPI OLED ke Arduino

VDD > 5V

GND > Tanah

SCK/D0 > D12 (Digital 12)

SDA/D1/Mosi > D11

CS/Pilihan Chip > D10

A0/DC > D9

RES/Reset > D13

(Jika SPI OLED Anda tidak memiliki pin Reset, hapus saja pin reset dan reset dari parameter pilih tampilan sketsa)

3. I2C OLED

Sama seperti kabel BMP, mereka menggunakan port dan tipe bus yang sama.

Langkah 5: Mengunggah Sketsa

Cukup mudah. Cukup unduh file zip dan buka di Arduino IDE. Semuanya dikonfigurasi dalam sketsa. Pengguna SPI OLED cukup mengunggah sketsa tanpa pengeditan apa pun dan itu akan berfungsi. Untuk pengguna I2C OLED, cukup batalkan komentar nama/opsi tampilan Anda dari opsi Pilihan Tampilan sketsa, dan beri komentar dan tutup model/parameter Tampilan SPI untuk menonaktifkan SPI OLED.

Parameter Tampilan SPI:

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

Parameter Tampilan I2C:

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Tampilan yang tidak mengirimkan AC

Untuk mengaktifkan parameter, cukup hapus tanda // di awal untuk membatalkan komentar. Pastikan hanya satu tampilan yang dipilih/tidak dikomentari.

Petunjuk:

1. Sensor BMP sensitif terhadap angin, panas, dan cahaya. Pastikan untuk menutupinya, hasil terbaik dicapai dengan memasang Busa dengan ventilasi yang tepat di atasnya. Hal-hal seperti selotip bebek akan berfungsi juga tetapi tidak akan tepat.

2. BMP biasanya menggunakan 3.3V kecuali pabrikan Anda mengatakan sebaliknya. OLED dapat bekerja dari 3.3v-5.5V (disarankan 4-5V)

3. Mengatur semuanya di papan tempat memotong roti terlebih dahulu sangat disarankan.

4. Jika Anda baru mengenal OLED, silakan coba hal-hal sederhana terlebih dahulu seperti teks dan buffer dummy untuk memastikan tampilan Anda berfungsi serta koneksi Anda akurat.

Direkomendasikan: