Mục lục:

Máy đo độ cao Arduino sử dụng BMP và SPI hoặc I2C OLED: 5 bước
Máy đo độ cao Arduino sử dụng BMP và SPI hoặc I2C OLED: 5 bước

Video: Máy đo độ cao Arduino sử dụng BMP và SPI hoặc I2C OLED: 5 bước

Video: Máy đo độ cao Arduino sử dụng BMP và SPI hoặc I2C OLED: 5 bước
Video: Lesson 29: Introduction to BMP280 Temperature Sensor| Arduino Step By Step Course 2024, Tháng mười một
Anonim
Máy đo độ cao Arduino Sử dụng BMP và SPI hoặc I2C OLED
Máy đo độ cao Arduino Sử dụng BMP và SPI hoặc I2C OLED

Trong một thời gian dài, tôi đã tìm kiếm máy đo độ cao và nhiệt độ bằng một cảm biến duy nhất và hiển thị nó lên OLED dựa trên SPI. Vì tôi không thể tìm thấy bất cứ điều gì chính xác, tôi nghĩ rằng tôi sẽ xây dựng của riêng mình bằng cách sử dụng thư viện U8glib. Có một hướng dẫn trên youtube nhưng tôi thực sự ghét hướng dẫn bằng video, tôi thích các văn bản có hướng dẫn đơn giản và không có liên kết thương mại.

Bước 1: Những điều đầu tiên Trước tiên

Trước khi thực hiện dự án này, tôi thực sự khuyên bạn nên hoàn thành hướng dẫn SSD1306 / OLED cho I2C hoặc SPI (bất kỳ cái nào bạn muốn sử dụng). Điều này sẽ đảm bảo rằng bạn biết cách kết nối / đấu dây màn hình cũng như màn hình của bạn đang hoạt động. Thực hiện hướng dẫn adafruit và / hoặc hướng dẫn ví dụ u8glib. Chúng tôi sẽ sử dụng u8glib ở đây để được khuyến nghị cho người dùng nâng cao.

Bước 2: Phần cứng cần thiết

Phần cứng cần thiết
Phần cứng cần thiết

1. Arduino UNO hoặc Nano hoặc tương tự.

2. Cảm biến áp suất khí quyển BMP085 hoặc BMP180.

3. SSD1306 I2C hoặc SPI Bus (Có thể cấu hình trong phác thảo).

4. Dây jumper và breadboard hoặc vero board để kết nối.

Bước 3: Thư viện Arduino IDE để biên dịch

1. Wire.h

2. Adafruit_BMP085.h (cũng sẽ hoạt động cho BMP180)

3. U8glib.h

Bước 4: Kết nối

Tất cả các kết nối đều giống nhau cho cả màn hình OLED I2C và SPI. Chỉ kết nối để hiển thị sẽ khác nhau.

1. BMP cho Arduino:

VCC> 3.3V

GND> Mặt đất

SCL> A5 / SCL

SDA> A4 / SDA

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

2. SPI OLED cho Arduino

VDD> 5V

GND> Mặt đất

SCK / D0> D12 (Kỹ thuật số 12)

SDA / D1 / Mosi> D11

Chọn CS / Chip> D10

A0 / DC> D9

RES / Reset> D13

(Nếu SPI OLED của bạn không có chân Đặt lại trên đó, chỉ cần xóa chân đặt lại và đặt lại từ các thông số chọn hiển thị phác thảo)

3. I2C OLED

Giống như hệ thống dây điện BMP, chúng sử dụng các cổng và loại bus giống nhau.

Bước 5: Tải lên phác thảo

Khá đơn giản. Chỉ cần tải xuống tệp zip và mở trong Arduino IDE. Mọi thứ được cấu hình trong bản phác thảo. Người dùng SPI OLED chỉ có thể tải lên bản phác thảo mà không cần chỉnh sửa gì và nó sẽ hoạt động. Đối với người dùng I2C OLED, chỉ cần bỏ ghi chú tên / tùy chọn hiển thị của bạn khỏi tùy chọn Display Select của bản phác thảo, đồng thời nhận xét và đóng thông số / mô hình SPI Display để tắt SPI OLED.

Thông số hiển thị SPI:

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

Thông số hiển thị I2C:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // Hiển thị cái nào không gửi AC

Để kích hoạt một tham số, chỉ cần xóa dấu // ở đầu để bỏ nhận xét nó. Đảm bảo rằng chỉ một hiển thị được chọn / bỏ nhận xét.

Gợi ý:

1. Cảm biến BMP nhạy cảm với gió, nhiệt và ánh sáng. Hãy chắc chắn rằng việc che đậy nó, kết quả tốt nhất sẽ đạt được thông qua việc gắn một tấm Foam với hệ thống thông gió thích hợp trên đó. Những thứ như băng dính vịt cũng sẽ hoạt động nhưng sẽ không chính xác.

2. BMP thường sử dụng 3.3V trừ khi nhà sản xuất của bạn nói khác. OLED có thể hoạt động từ 3.3v-5.5V (khuyến nghị 4-5V)

3. Nên đặt mọi thứ trên breadboard trước.

4. Nếu bạn chưa quen với OLED, trước tiên hãy thử những thứ đơn giản như văn bản và bộ đệm giả để đảm bảo màn hình của bạn đang hoạt động cũng như các kết nối của bạn chính xác.

Đề xuất: