Mục lục:

Hướng dẫn Arduino / NodeMCU màn hình OLED I2C: 15 bước
Hướng dẫn Arduino / NodeMCU màn hình OLED I2C: 15 bước

Video: Hướng dẫn Arduino / NodeMCU màn hình OLED I2C: 15 bước

Video: Hướng dẫn Arduino / NodeMCU màn hình OLED I2C: 15 bước
Video: OLED LCD SSD1306 128x64 I2C Tutorial: Hướng dẫn sử dụng màn hình LCD SSD1306 - Robot cho mọi người 2024, Tháng bảy
Anonim
Image
Image

Chương trình đầu tiên bạn viết khi bắt đầu học

ngôn ngữ lập trình mới là: "Hello World!".

Bản thân chương trình không làm gì khác hơn là in dòng chữ “Hello World” trên màn hình.

Vậy làm cách nào để Arduino hiển thị dòng chữ "Hello World!"?

Trong video này, tôi sẽ hướng dẫn bạn cách bắt đầu với màn hình I2C OLED nhỏ 0,91 (128x32) và 0,96 (128x64) I2C.

Có hàng trăm bài hướng dẫn trên web giải thích điều tương tự theo nhiều cách khác nhau, nhưng tôi không thể tìm thấy bài hướng dẫn nào cho tôi biết tất cả về màn hình OLED và cách sử dụng nó trong các tình huống khác nhau. Tôi đã mất một thời gian để giải quyết tất cả. Vì vậy, tôi nghĩ mình nên tạo một hướng dẫn về những gì tôi đã học được và kết hợp tất cả các tính năng và cách màn hình OLED có thể được sử dụng trong các dự án của chúng tôi.

Bước 1: Những điều chúng ta sẽ học hôm nay

Yêu cầu phần cứng
Yêu cầu phần cứng

Trong video này, chúng ta sẽ nói về:

- Màn hình OLED là gì?

- Sau đó, chúng ta sẽ xem xét kỹ hơn màn hình I2C OLED 0,91 (128x32) và 0,96 (128x64) I2C

- Tiếp theo chúng ta sẽ nói về việc cài đặt Thư viện Adafruit vào IDE Arduino của bạn

- Sau đó, chúng tôi sẽ kết nối NodeMCU và Arduino với màn hình OLED

- Tiếp theo, chúng ta sẽ xem mã và hiển thị một số đồ họa và văn bản trên đó

- Chúng tôi cũng sẽ nói về việc áp dụng Phông chữ tùy chỉnh và hiển thị Hình ảnh

- Sau đó, chúng tôi sẽ kết nối Nhiều OLED với một bộ điều khiển vi mô bằng Bộ ghép kênh I2C

- Cuối cùng, chúng ta sẽ nói về một số lỗi phổ biến mà mọi người thường mắc phải khi sử dụng màn hình OLED

Bước 2: Yêu cầu phần cứng

Đối với hướng dẫn này, chúng tôi cần:

- Một bảng mạch

- Màn hình I2C OLED 0,91 "(128x32) và 0,96" (128x64)

- Arduino UNO / NANO (bất cứ thứ gì tiện dụng)

- NodeMCU

- Bộ ghép kênh I2C TCA9548A

- Ít cáp kết nối

- và cáp USB để tải mã lên

Bước 3: Màn hình OLED là gì?

Màn hình OLED là gì?
Màn hình OLED là gì?
Màn hình OLED là gì?
Màn hình OLED là gì?

OLED hoặc diode phát sáng hữu cơ là một chất phát sáng

điốt (LED) trong đó lớp điện phát quang là một màng hợp chất hữu cơ (hàng triệu đèn LED nhỏ) phát ra ánh sáng phản ứng với dòng điện.

OLED được sử dụng để tạo ra màn hình kỹ thuật số trong các thiết bị như màn hình tivi, màn hình máy tính, các hệ thống di động như điện thoại di động, máy chơi game cầm tay và PDA. Màn hình OLED hoạt động mà không cần đèn nền vì nó phát ra ánh sáng nhìn thấy được.

Bước 4:

Hình ảnh
Hình ảnh

Có nhiều loại màn hình OLED có sẵn trong

thị trường dựa trên

- Kích thước

- Màu sắc

- Nhãn hiệu

- Giao thức

- SPI (Giao diện ngoại vi nối tiếp) hoặc I2C

- Sơ đồ điều khiển ma trận thụ động (PMOLED) hoặc ma trận hoạt động (AMOLED)

Trong hướng dẫn này, tôi sẽ nói về việc kết nối

màu xanh lam 0,91 (128x32 OLED) và 0,96 (128x64 OLED) I2C OLDE hiển thị cho Arduino NANO và NodeMCU. Công nghệ bus I2C chỉ sử dụng 2 chân của MCU vì vậy chúng ta có sẵn đống cho các cảm biến khác.

Bước 5: Xem xét kỹ hơn

Nhìn gần hơn
Nhìn gần hơn
Nhìn gần hơn
Nhìn gần hơn
Nhìn gần hơn
Nhìn gần hơn

Cho phép có một cái nhìn gần hơn ở hai màn hình này.

Ở mặt sau của những màn hình này có một đống tụ điện và điện trở SMD được hàn trên bo mạch; nhưng, vì nó là thiết bị I2C nên chúng tôi chỉ quan tâm đến 2 chân này (SCL và SDA)

Màn hình kết nối với Arduino chỉ bằng bốn dây - hai dây cho nguồn (VCC và GND) và hai dây cho dữ liệu (đồng hồ nối tiếp SCL và

dữ liệu nối tiếp SDA), làm cho việc đấu dây rất đơn giản. Kết nối dữ liệu là I2C (I²C, IIC hoặc Inter-Integrated Circuit) và giao diện này còn được gọi là TWI (Two Wire Interface).

- Các chốt trên bo mạch có thể theo thứ tự khác nhau, vì vậy hãy luôn kiểm tra ba lần trước khi gắn nó vào dự án của bạn.

- Điện áp hoạt động từ 3v đến 5v nhưng tốt nhất nên sử dụng hướng dẫn từ bảng thông số của nhà sản xuất.

- Đôi khi chúng ta cần sử dụng 2 màn hình trong các dự án của mình. Vì vậy, làm thế nào chúng ta có thể đạt được điều này?

Bí quyết là có một địa chỉ có thể định cấu hình trên màn hình của bạn. Đơn vị này có địa chỉ có thể định cấu hình trong khoảng từ 0x78 đến 0x7A. Chỉ bằng cách tháo điện trở 0Ohm từ một bên và nối nó lên phía bên kia hoặc chỉ bằng cách đặt một vật hàn toàn cầu, chúng ta có thể thay đổi địa chỉ. Chúng ta sẽ nói sâu hơn về nó khi kết nối nhiều màn hình với Arduino trong phần sau của hướng dẫn này.

Trong hình ảnh, những màn hình này trông rất lớn. Nhưng, thực tế mà nói thì chúng rất nhỏ. Chúng được làm từ 128 x 32/64 pixel OLED riêng lẻ và không yêu cầu bất kỳ đèn nền nào. Chỉ cần nhìn vào cái này và thấy nó nhỏ như thế nào. Mặc dù chúng nhỏ nhưng chúng có thể rất hữu ích trong bất kỳ dự án điện tử nào.

Bước 6: Thư viện

Thư viện
Thư viện
Thư viện
Thư viện
Thư viện
Thư viện

Có một số thư viện có sẵn để kiểm soát những

các màn hình. Trước đây, tôi đã sử dụng "thư viện u8glib" nhưng tôi thấy thư viện AdaFruit rất dễ hiểu và dễ sử dụng trong các dự án của chúng tôi. Vì vậy, tôi sẽ sử dụng thư viện AdaFruit trong hướng dẫn này.

Để điều khiển màn hình OLED, bạn sẽ cần thư viện "adafruit_GFX.h" và thư viện "adafruit_SSD1306.h".

Có hai cách để bạn có thể tải xuống và cài đặt thư viện vào IDE Arduino của mình.

Phương pháp 1

Đi tới "Trình quản lý thư viện" và tìm kiếm "adafruit_SSD1306" và "adafruit_gfx"

Chọn phiên bản mới nhất và nhấn nút Cài đặt.

Sau khi cài đặt, bạn có thể sử dụng các thư viện này trong chương trình của mình.

Phương pháp 2

Hai thư viện này cũng có thể được tải xuống từ github (bạn cần cả hai):

Tôi sẽ cung cấp các liên kết trong mô tả bên dưới.

Thư viện hiển thị:

Thư viện GFX:

Sau khi tải xuống, hãy sao chép thư mục Adafruit_SSD1306-master từ tệp nén đã tải xuống vào thư mục thư viện Arduino. Thư mục này thường được tìm thấy tại các thư viện Documents> Arduino> trên hệ thống Windows. Trên Linux, nó thường được tìm thấy trong thư mục home> Arduino> các thư viện. Cuối cùng trong thư mục thư viện Arduino, đổi tên thư mục Adafruit_SSD1306-master thành Adafruit_SSD1306. Ngay cả khi bạn không đổi tên cũng được.

Bước 7:

Hình ảnh
Hình ảnh

Bây giờ, hãy xem "Adafruit_SSD1306.h"

tập tin

Hai điều chúng ta cần biết trong thư viện này:

1. Nếu bạn muốn sử dụng màn hình nhỏ hơn, hãy sử dụng 128_32 mặc định, ngược lại, cho màn hình lớn hơn, hãy chú thích 128_32 và bỏ ghi chú 128_64

2. Nếu bạn đã hàn Địa chỉ 0x7A trên bo mạch (mà chúng ta sẽ nói sau) thì hãy sử dụng địa chỉ 0x3D 7 bit cho các màn hình lớn hơn, nếu không hãy sử dụng địa chỉ 0x3C mặc định. Đối với các màn hình nhỏ hơn, địa chỉ là 0x3C.

Bước 8: Nối dây 128 X 64/32 OLED

Đi dây 128 X 64/32 OLED
Đi dây 128 X 64/32 OLED

Hãy bắt đầu bằng cách kết nối NodeMCU với màn hình.

Điều đầu tiên và quan trọng nhất cần lưu ý là một số màn hình có thể có các chân nguồn GND và VCC đổi chỗ cho nhau. Kiểm tra màn hình của bạn để đảm bảo rằng nó giống với hình ảnh. Nếu các chân được hoán đổi, hãy đảm bảo thay đổi kết nối với Arduino hoặc NodeMCU.

- Dây NodeMCU OLED

OLED VCC - NodeMCU 3.3V

OLED GND - NodeMCU GND

OLED SCL - NodeMCU D1

OLED SDA - NodeMCU D2

- Hệ thống dây Arduino Uno OLED

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino Uno A5

OLED SDA - Arduino Uno A4

- Đấu dây Arduino MEGA 2560 OLED

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino MEGA 2560 chân 21

OLED SDA - Arduino MEGA 2560 chân 20

Bước 9: Mã

Mã số
Mã số
Mã số
Mã số
Mã số
Mã số
Mã số
Mã số

Thư viện Adafruit đi kèm với các ví dụ thực sự tốt cho cả hai

Màn hình 128x32 và 128x64.

Thư viện nằm trong Tệp> Ví dụ> Adafruit SSD1306> và sau đó là kiểu hiển thị trong Arduino IDE.

Chúng tôi sẽ sử dụng ví dụ 128x32 I2C và sẽ sửa đổi nó để hoạt động với cả màn hình 128x64 và 128x32 bằng cách kết nối nó với Arduino và sau đó với bảng NodeMCU.

Mã bắt đầu bằng cách bao gồm cả hai thư viện Adafruit. Trong hướng dẫn này, tôi sẽ chỉ nhấn mạnh vào những phần mã cần thiết để chúng ta tải trên cả bảng và màn hình. Nếu bạn muốn biết thêm về mã, vui lòng để lại bình luận trên blog của tôi hoặc trong phần bình luận bên dưới và tôi sẽ cố gắng liên hệ lại với bạn.

- Đầu tiên, chúng ta sẽ tải mã vào Arduino Nano được kết nối với màn hình 128x32.

Chúng tôi có thể sử dụng mã như hiện tại mà không có bất kỳ sửa đổi nào.

128x32 sử dụng địa chỉ 0x3C vì vậy bit này có vẻ tốt ở đây, hãy kiểm tra kỹ thư viện tiêu đề, vâng, nó cũng sử dụng địa chỉ 0x3C và kiểu hiển thị là 128x32.

- Bây giờ cho phép kết nối màn hình 128x64. Như chúng ta biết, nó sử dụng địa chỉ 0x3C theo mặc định nên chúng ta không cần cập nhật địa chỉ trong mã hoặc thư viện.

Chúng tôi chỉ cần ghi chú 128_32 và bỏ ghi chú 128_64 trong thư viện tiêu đề và thay đổi LCDHEIGHT thành 64 trong mã của chúng tôi.

- Bây giờ để chạy cùng một mã trên NodeMCU, chúng ta cần thay đổi thêm một dòng trong mã của chúng ta.

Phần còn lại của mã "#define OLED_RESET 4"> "#define OLED_RESET LED_BUILTIN" giống với Arduino

Khá nhiều thứ để hiển thị bất cứ thứ gì trước tiên chúng ta cần xóa màn hình trước đó bằng cách sử dụng

display.clearDisplay (); // Xóa bộ đệm

Sau đó, vẽ đối tượng

testdrawline (); // Vẽ đường thẳng

Hiển thị nó trên phần cứng

display.display (); // Hiển thị chúng trên phần cứng màn hình!

Chờ một thời gian trước khi hiển thị mục tiếp theo.

chậm trễ (2000); // Chờ 2 giây

Trong ví dụ này, chúng tôi đang hiển thị một số mục như văn bản, đường thẳng, hình tròn, văn bản cuộn, hình tam giác và hơn thế nữa. Hãy tiếp tục và sử dụng trí tưởng tượng của bạn và hiển thị bất cứ thứ gì bạn muốn trên những màn hình nhỏ bé này.

Bước 10: Tùy chỉnh văn bản và thêm hình ảnh

Tùy chỉnh văn bản & thêm hình ảnh
Tùy chỉnh văn bản & thêm hình ảnh
Tùy chỉnh văn bản & thêm hình ảnh
Tùy chỉnh văn bản & thêm hình ảnh
Tùy chỉnh văn bản & thêm hình ảnh
Tùy chỉnh văn bản & thêm hình ảnh

Đôi khi mã của bạn cần hiển thị các phông chữ tùy chỉnh và

hình ảnh. Nếu bạn rất giỏi trong việc ánh xạ bit thì bạn chỉ cần tạo mảng byte bằng cách bật hoặc tắt các đèn LED nhỏ của màn hình để tạo phông chữ và hình ảnh tùy chỉnh.

Tuy nhiên, tôi không giỏi thực hiện các ánh xạ này và không muốn dành hàng giờ để tạo các bảng bản đồ bit.

Thế ý kiến của tôi là gì? Tôi thường sử dụng hai trang web để tạo phông chữ và hình ảnh tùy chỉnh. Các liên kết được cung cấp trong mô tả bên dưới.

Phông chữ tùy chỉnh

Truy cập trang web chuyển đổi phông chữ, chọn họ phông chữ, kiểu, kích thước, Phiên bản Thư viện là "Adafruit GFX Font" và sau đó nhấn nút "Tạo". Ở phía bên phải của trang này, bạn có thể thấy phông chữ của mình trông như thế nào trên màn hình thực tế.

Dựa trên lựa chọn của bạn, trang web sẽ tạo tệp tiêu đề phông chữ. Tạo một tệp có tên là "fixed_font.h" trong cùng một thư mục chứa mã của bạn và sao chép và lưu mã đã tạo vào đó. Sau đó, bạn chỉ cần đưa tệp tiêu đề vào mã của mình để sử dụng phông chữ tùy chỉnh.

#include "mod_font.h"

Sau đó, bạn chỉ cần thiết lập phông chữ trước khi hiển thị văn bản để áp dụng phông chữ tùy chỉnh cho nó.

display.setFont (& Your_Fonts_Name);

Bạn có thể lấy tên của phông chữ từ tệp tiêu đề mà bạn vừa thêm vào dự án của mình. Đó là nó, dễ dàng.

Bộ nhớ luôn là mối quan tâm trong khi sử dụng phông chữ tùy chỉnh, vì vậy hãy luôn xem xét các byte sẽ được bộ nhớ sử dụng. Chỉ cần nhớ Arduino UNO chỉ có 32K bộ nhớ.

Hình ảnh tùy chỉnh

Để hiển thị hình ảnh bitmap trên màn hình, trước tiên bạn cần tạo hình ảnh có kích thước 128 x 64/32.

Tôi đang sử dụng "MS Paint" cũ tốt để tạo hình ảnh bitmap 128 x 64, sau đó tôi sẽ tải lên trang web chuyển đổi hình ảnh này. Trang web chuyển đổi hình ảnh thành chuỗi byte, có thể được sử dụng với Arduino và màn hình OLED.

Bắt đầu bằng cách tải hình ảnh lên trang web. Sau đó đánh dấu vào hộp kiểm "Đảo ngược màu sắc hình ảnh" và thay đổi "Định dạng mã đầu ra" thành "Mã Arduino" tiếp theo chọn hướng và nhấn nút "Tạo mã" để tạo mảng byte. Phần "Xem trước" cho bạn biết hình ảnh của bạn sẽ trông như thế nào trên màn hình thực tế.

Tôi đã bao gồm mã cùng với hướng dẫn này mà bạn có thể sử dụng để hiển thị hình ảnh của mình. Bạn chỉ cần thay thế mảng trong mã của tôi bằng mảng bạn vừa tạo và sau đó tải nó vào Arduino của bạn.

Bước 11: Kết nối 2 màn hình

Kết nối 2 màn hình
Kết nối 2 màn hình
Kết nối 2 màn hình
Kết nối 2 màn hình

Kết nối hai màn hình 128 x 64 với dự án của bạn thật dễ dàng.

Bạn chỉ cần giải phóng điện trở 0Ohm từ địa chỉ 0x78 và đặt nó trên 0x7A và sau đó sử dụng địa chỉ 0x3D trong mã của bạn thay vì 0x3C mặc định.

Bạn phải tự hỏi tại sao chúng tôi đang sử dụng địa chỉ 0x3C và 0x3D mà không phải là 0x78 và 0x7A thực tế. Arduino chấp nhận địa chỉ 7 bit chứ không phải địa chỉ phần cứng 8 bit. Vì vậy, trước tiên chúng ta cần chuyển đổi địa chỉ 8-bit sang nhị phân, sau đó cắt bớt bit quan trọng nhất để lấy 7 bit. Sau đó, chuyển đổi 7 bit thành HEX để lấy địa chỉ 0x3C hoặc 0x3D mà bạn nhập vào mã của mình.

Đầu tiên, khởi tạo màn hình bằng cách đặt cho nó một tên duy nhất:

Adafruit_SSD1306 display1 (OLED_REST);

Adafruit_SSD1306 display2 (OLED_REST);

Sau đó, trong mã của bạn, hãy sử dụng màn hình 1 và màn hình 2 để gọi các câu lệnh bắt đầu với địa chỉ thiết bị trong đó:

display1.begin (SSD1306_SWITCHCAPVCC, 0x3C); // hiển thị 1 địa chỉ op 0x3C

display2.begin (SSD1306_SWITCHCAPVCC, 0x3D); // hiển thị địa chỉ 2 op 0x3D

Vậy là xong, bây giờ bạn có thể tiếp tục và làm bất cứ điều gì bạn muốn bằng cách sử dụng Hiển thị 1 hoặc Hiển thị 2 trong phần còn lại của mã của bạn. Tôi đã cung cấp một ví dụ với hướng dẫn này.

Cách đấu dây giống hệt như những gì chúng ta đã làm trước đây, bạn chỉ cần thêm một màn hình khác vào cùng các chân I2C của Arduino hoặc NodeMCU. Dựa trên các địa chỉ, MCU sau đó sẽ gửi dữ liệu trên đường dữ liệu I2C.

Bước 12: Kết nối nhiều hơn 2 màn hình

Kết nối nhiều hơn 2 màn hình
Kết nối nhiều hơn 2 màn hình
Kết nối nhiều hơn 2 màn hình
Kết nối nhiều hơn 2 màn hình
Kết nối nhiều hơn 2 màn hình
Kết nối nhiều hơn 2 màn hình

Bây giờ, nếu bạn muốn nối nhiều hơn 2 màn hình thì sao?

Arduino có số lượng chân cắm hạn chế và do đó bạn không thể có nhiều hơn một số lượng lá chắn nhất định được gắn vào nó. Hơn nữa, nó chỉ có một cặp bus I2C.

Vì vậy, làm thế nào chúng ta có thể gắn nhiều hơn 2 màn hình I2C vào một Arduino? Bí quyết là sử dụng Bộ ghép kênh TCA9548.

TCA9548 cho phép một bộ điều khiển vi mô duy nhất giao tiếp với tối đa '64 cảm biến 'có cùng địa chỉ I2C hoặc khác nhau bằng cách gán một kênh duy nhất cho mỗi bus phụ cảm biến.

Khi chúng ta nói về việc gửi dữ liệu qua 2 dây đến nhiều thiết bị thì chúng ta cần một cách để giải quyết chúng. Nó giống như việc người đưa thư đến trên một con đường và thả các gói thư đến những ngôi nhà khác nhau vì chúng có ghi địa chỉ khác nhau trên đó.

Bộ ghép kênh kết nối với các đường 3V3, GND, SDA và SCL của bộ điều khiển vi mô. Các cảm biến phụ được kết nối với một trong tám cổng phụ SCL / SDA trên bo mạch. Các kênh được chọn bằng cách gửi cho TCA9548A địa chỉ I2C của nó (0x70 {default} - 0x77) theo sau là số kênh (0b00000001 - 0b10000000). Bạn có thể có tối đa 8 bộ ghép kênh này được kết nối với nhau trên các địa chỉ 0x70-0x77 để kiểm soát 64 bộ phận được định địa chỉ I2C giống nhau. Bằng cách kết nối ba bit địa chỉ A0, A1 và A2 với VIN, bạn có thể nhận được sự kết hợp khác nhau của các địa chỉ. Tôi sẽ giải thích sâu về vấn đề này trong hướng dẫn tiếp theo của tôi về bảng đột phá TCA9548A. Hiện tại, chúng ta hãy kết nối 8 OLED với bảng này và xem nhanh mã.

Sự liên quan:

VIN đến 5V (hoặc 3,3V)

GND xuống đất

Đồng hồ SCL sang I2C

Dữ liệu từ SDA sang I2C

Sau đó kết nối các cảm biến với VIN, GND và sử dụng một trong các bus ghép kênh SCn / SDn

Bây giờ, mã Int cho phép bắt đầu bằng cách bao gồm thư viện "Wire" và bằng cách xác định địa chỉ bộ ghép kênh.

#include "Wire.h"

#bao gồm

#define MUX_Address 0x70 // Địa chỉ bộ mã hóa TCA9548A

Sau đó, chúng ta cần chọn cổng mà chúng ta muốn giao tiếp và gửi dữ liệu trên đó bằng chức năng này:

void tcaselect (uint8_t i) {

if (i> 7) return;

Wire.beginTransmission (MUX_Address);

Wire.write (1 << i);

Wire.endTransmission ();

}

Tiếp theo, chúng ta sẽ khởi tạo hiển thị trong phần thiết lập bằng cách gọi "u8g.begin ();" cho mỗi màn hình được gắn với MUX "tcaselect (i);"

Sau khi khởi tạo, chúng ta có thể làm bất cứ điều gì chúng ta muốn chỉ bằng cách gọi hàm "tcaselect (i);" trong đó "i" là giá trị của bus ghép kênh và sau đó gửi dữ liệu và đồng hồ cho phù hợp.

Bước 13: Ưu điểm và nhược điểm

Ưu điểm và nhược điểm
Ưu điểm và nhược điểm

Hình ảnh của OLED rất đẹp. Tuy nhiên, OLED cũng có

những bất lợi. Vì màn hình OLED chứa vật liệu hữu cơ nên tuổi thọ của chúng ngắn hơn so với màn hình LCD. Ngoài ra, nhiều màn hình OLED bị cháy sáng sau khi hiển thị cùng một hình ảnh trong một thời gian dài. Sau khi ghi, hình ảnh vẫn ở trên màn hình ngay cả sau khi hiển thị một hình ảnh khác. Vì vậy, hãy đảm bảo rằng bạn tiếp tục làm mới màn hình sau mỗi vài giây. Nước có thể làm hỏng ngay các vật liệu hữu cơ của các màn hình này.

Thuận lợi

Không cần đèn nền

Màn hình rất mỏng và nhẹ

Sự tiêu thụ ít điện năng

Góc nhìn rộng hơn LCD

Độ sáng và độ tương phản tuyệt vời

Tốc độ cao và có thời gian phản hồi thấp

Màu đen đậm

Nhược điểm

Công nghệ đắt tiền

Vòng đời ngắn

OLEDS có nhiều khả năng bị burn-in

Thiệt hại do nước

Bước 14: Các lỗi phổ biến

Lỗi thông thường
Lỗi thông thường

Để kết thúc hướng dẫn, chúng ta hãy nói về một số lỗi phổ biến

mọi người tạo ra khi sử dụng các màn hình này:

- Luôn kiểm tra ba lần các chân trước khi sử dụng nó trong dự án của bạn

- Chọn đúng địa chỉ thư viện trong tệp tiêu đề và trong mã của bạn

#define SSD1306_I2C_ADDRESS 0x3C // trong Adafruit_SSD1306.h

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // trong mã của bạn

Nếu địa chỉ sai, OLED sẽ không hiển thị bất cứ thứ gì

- Kích thước hiển thị phải được thay đổi trong trình điều khiển trước khi nó có thể được sử dụng. Nếu nó không được thay đổi, bạn sẽ nhận được thông báo lỗi khi cố gắng xác minh mã

#error ("Chiều cao không chính xác, vui lòng sửa Adafruit_SSD1306.h!");

- Nếu sử dụng NodeMCU, hãy đảm bảo rằng bạn thay thế OLED_RESET từ 4 thành LED_BUILTIN

#define OLED_RESET LED_BUILTIN

Tôi có cảnh mọi người làm mọi thứ bằng cách sử dụng màn hình OLED này. Một số thậm chí đã làm trò chơi điện tử và tất cả. Tôi thực sự không quan tâm đến việc tạo một trò chơi điện tử bằng màn hình nhỏ bé này. Tuy nhiên, bây giờ tôi sẽ để bạn khám phá trí tưởng tượng của bạn và đưa ra những ý tưởng tuyệt vời.

Bước 15: Liên kết

- Blog:

- Thêm hình ảnh:

- Văn bản tùy chỉnh:

- Thư viện hiển thị Adafruit:

- Thư viện Adafruit GFX:

- thư viện u8glib: https://code.google.com/archive/p/u8glib/ hoặc

Nếu bạn muốn sử dụng màn hình nhỏ hơn, hãy sử dụng 128_32 mặc định, ngược lại cho màn hình lớn hơn, hãy chú thích 128_32 và bỏ ghi chú 128X64 NO_ACK trong mã của bạn (chỉ cần bỏ ghi chú loại màn hình bạn đang sử dụng) (phông chữ nằm trong thư viện phông chữ)

Đề xuất: