Isi kandungan:

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

Sudah lama saya mencari altimeter dan suhu menggunakan sensor tunggal dan memaparkannya ke OLED berasaskan SPI. Oleh kerana saya tidak dapat menemui sesuatu yang tepat, fikir saya akan membina sendiri menggunakan perpustakaan U8glib. Terdapat satu tutorial di youtube tetapi saya sangat benci tutorial video, saya lebih suka teks dengan arahan langsung dan tanpa pautan komersial.

Langkah 1: Perkara Pertama Pertama

Sebelum melakukan projek ini, saya sangat mengesyorkan anda untuk melengkapkan tutorial SSD1306 / OLED untuk I2C atau SPI (mana yang anda mahu gunakan). Ini akan memastikan bahawa anda tahu bagaimana menghubungkan / memasang wayar anda, serta paparan anda berfungsi. Lakukan tutorial adafruit dan / atau tutorial contoh u8glib. Kami akan menggunakan u8glib di sini sehingga disyorkan untuk pengguna yang maju.

Langkah 2: Perkakasan yang Perlu

Perkakasan yang Perlu
Perkakasan yang Perlu

1. Arduino UNO atau Nano atau yang serupa.

2. Sensor Tekanan Barometrik BMP085 atau BMP180.

3. SSD1306 I2C atau SPI Bus (Boleh dikonfigurasi dalam lakaran).

4. Kabel pelompat dan papan roti atau papan vero untuk sambungan.

Langkah 3: Perpustakaan Arduino IDE untuk Penyusunan

1. Wire.h

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

3. U8glib.h

Langkah 4: Sambungan

Sambungan semua sama untuk paparan OLED I2C dan SPI. Hanya sambungan ke paparan yang berbeza.

1. BMP ke Arduino:

VCC> 3.3V

GND> Tanah

SCL> A5 / SCL

SDA> A4 / SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Tetapkan semula = 13

2. SPI OLED ke Arduino

VDD> 5V

GND> Tanah

SCK / D0> D12 (Digital 12)

SDA / D1 / Mosi> D11

Pilih CS / Cip> D10

A0 / DC> D9

RES / Reset> D13

(Jika SPI OLED anda tidak mempunyai pin Reset di atasnya, hapus pin reset dan reset dari paparan lakaran pilih parameter)

3. I2C OLED

Sama seperti pendawaian BMP, mereka menggunakan port dan jenis bas yang sama.

Langkah 5: Memuat naik Sketsa

Cukup lurus. Muat turun fail zip dan buka di Arduino IDE. Semuanya dikonfigurasi dalam lakaran. Pengguna SPI OLED hanya boleh memuat naik lakaran tanpa penyuntingan dan ia akan berjaya. Untuk pengguna I2C OLED, lepaskan nama / pilihan paparan anda dari pilihan Paparan Sketsa, dan beri komen dan tutup model / parameter Paparan SPI untuk menonaktifkan SPI OLED.

Parameter Paparan SPI:

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

Parameter Paparan I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Paparan yang tidak menghantar AC

Untuk mengaktifkan parameter, hapus tanda // pada awal untuk tidak memberikan komen. Pastikan hanya satu paparan yang dipilih / tidak dikomentari.

Petunjuk:

1. Sensor BMP sensitif terhadap angin, panas dan cahaya. Pastikan untuk menutupnya, hasil terbaik dicapai dengan melekatkan busa dengan pengudaraan yang betul di atasnya. Perkara seperti pita itik akan berfungsi juga tetapi tidak tepat.

2. BMP biasanya menggunakan 3.3V melainkan jika pengeluar anda mengatakan sebaliknya. OLED boleh berfungsi dari 3.3v-5.5V (disyorkan 4-5V)

3. Sangat disarankan untuk meletakkan semuanya di papan roti.

4. Sekiranya anda baru menggunakan OLED, cuba dulu barang-barang mudah seperti penyangga teks dan dummy untuk memastikan paparan anda berfungsi dan sambungan anda tepat.

Disyorkan: