Mục lục:

Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD: 8 bước
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD: 8 bước

Video: Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD: 8 bước

Video: Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD: 8 bước
Video: ESP32 board install and Basic Http Server 2024, Tháng mười một
Anonim
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD
Trạm thời tiết ESP8266 / ESP32 Với (các) TFT LCD

Xin chào!

Trong hướng dẫn ngắn gọn này, tôi muốn trình bày dự án Esp8266 WS thứ hai của mình. Kể từ khi tôi đăng dự án ESP đầu tiên của mình, tôi muốn biến mình thành dự án thứ hai. Vì vậy, tôi đã có một số thời gian rảnh để làm lại một mã nguồn cũ cho phù hợp với nhu cầu của mình.

Vì vậy, nếu bạn không phiền tôi sẽ trình bày nó.

Bước 1: Trạm thời tiết

WS vẫn sử dụng khóa API openweathermap để tải dữ liệu thời tiết và hiển thị trên màn hình.

Một chút mã hóa là cần thiết vì ở dạng đó, nó không thể hiển thị các biểu tượng thời tiết mà tôi muốn.

Bước 2: Vật liệu

Các bộ phận cần thiết cho WS:

- Nodemcu V3 ESP8266

- Màn hình LCD TFT 1,8 inch với IC điều khiển ST7735

- Dây F-F

- Mã nguồn

- Arduino IDE

- Hỗ trợ SPIFFS

- Khóa API Openweathermap

Bước 3: Phần mềm

Đối với dự án này, tôi đang cung cấp mã nguồn và các hình ảnh bitmap cần thiết, hãy tải xuống từ trang github của tôi:

Thư viện tôi đã sử dụng là TFT_eSPI được tạo bởi Bodmer.

Tất cả những gì bạn phải làm: Tải xuống các thư viện chính xác, biên dịch nó và tải nó lên bảng, tải ảnh bitmap với SPIFFS lên ESP và kết nối với màn hình LCD.

Tôi đã sử dụng hình ảnh bitmap 24 bit 100 X100, nhưng bạn có thể sử dụng bất kỳ biểu tượng nào khác. Những người tôi đã sử dụng đã tải xuống từ

Bước 4: Sơ đồ màn hình LCD

Sơ đồ chân như sau:

// Hiển thị SDO / MISO đến chân NodeMCU D6 (hoặc ngắt kết nối nếu không đọc TFT)

// Hiển thị LED đến NodeMCU chân VIN (hoặc 5V, xem bên dưới)

// Hiển thị SCK đến chân NodeMCU D5

// Hiển thị SDI / MOSI đến chân NodeMCU D7

// Hiển thị DC (RS / AO) tới chân NodeMCU D3

// Hiển thị RESET đến chân NodeMCU D4 (hoặc RST, xem bên dưới)

// Hiển thị CS đến chân NodeMCU D8 (hoặc GND, xem bên dưới)

// Hiển thị GND đến chân NodeMCU GND (0V)

// Hiển thị VCC sang NodeMCU 5V hoặc 3.3V

Để giảm nhiễu nền, bạn có thể sử dụng chiết áp 10K hoặc sử dụng chân GPIO khác. Đối với bản thân tôi, tôi thường kết nối pin đèn nền với pin TX. Tôi biết đó không phải là một ý kiến hay cho ESP, nhưng nó đang hoạt động theo cách đó.

Bước 5: WS đang hoạt động

WS đang hoạt động
WS đang hoạt động
WS đang hoạt động
WS đang hoạt động
WS đang hoạt động
WS đang hoạt động

Sau khi bạn đã thực hiện mọi thứ một cách chính xác, bạn có thể thấy rằng trạm thời tiết đang kết nối với internet và tải xuống dữ liệu thời tiết.

Các tham số khác nhau được phân tách trong các vòng lặp khác nhau.

Những gì bạn thấy là mô tả thời tiết thực tế, nhiệt độ, độ ẩm, tốc độ gió, độ hiển thị tính bằng mét, áp suất không khí, góc gió, độ che phủ của mây tính theo phần trăm (%).

Đối với phần thưởng trong khoảng thời gian từ 9 giờ tối đến 7 giờ sáng, màn hình sẽ đảo ngược với thời gian ban đêm mô phỏng.

Bước 6: Một số mẹo quan trọng

Một số mẹo quan trọng
Một số mẹo quan trọng
Một số mẹo quan trọng
Một số mẹo quan trọng
Một số mẹo quan trọng
Một số mẹo quan trọng

Như các bạn đã biết trên mạng có một vài biến thể của màn hình TFT 1.8 . Với màn hình LCD Adafruit chính hãng thường không có vấn đề gì. Nhưng khi sử dụng màn hình giả (thường là từ Aliexpress), bạn phải thực hiện một số điều chỉnh.

Thư viện Bodmers TFT_eSPI rất thú vị và phong phú. Và phần tốt nhất là anh ấy đã tạo ra nó để xử lý hiệu số pixel tùy thuộc vào loại TFT 1,8 mà bạn đang sử dụng.

Để khắc phục vấn đề này, tôi đề xuất những điều sau:

Chuyển đến thư mục thư viện và chỉnh sửa tệp User_Setup.h. Bỏ ghi chú #define ST7735_DRIVER và nhận xét những người khác.

Sau đó bỏ ghi chú chiều cao tft bằng chiều rộng. Và sau đó trong trường hợp của tôi (REDTAB), ví dụ: #define ST7735_REDTAB. Sau đó, lưu nó trong giây lát và biên dịch bản phác thảo và tải lên hội đồng quản trị. Để chắc chắn rằng tôi đã xác định các thông số trong bản phác thảo. Đây là một thủ tục hơi dài, vì bạn phải biên dịch và tải bản phác thảo lên mỗi lần để lên bảng cho đến khi độ lệch mất đi, nhưng nó đáng để thử nghiệm. Để chỉnh sửa h. tôi thực sự đề xuất Wordpad. Hình ảnh bao gồm.

Bước 7: Xong

Sau khi làm mọi thứ một cách chính xác, bạn có thể tận hưởng tiện ích nhỏ này. Tôi đã thử ghép nối các hình ảnh bitmap với mã thời tiết tốt nhất có thể, nhưng tôi vẫn đang thử nghiệm nó vào lúc này.

Về cơ bản, tôi chỉ làm nó cho chính mình, nhưng sau một ngày, tôi nghĩ rằng tôi sẽ chia sẻ nó. Có lẽ ai đó sẽ thích nó hơn tôi.

Cảm ơn bạn đã đọc hướng dẫn của tôi, hy vọng bạn sẽ thấy nó hữu ích và sử dụng nó như bạn muốn.

Chúc một ngày tốt lành!

Bước 8: Một bản cập nhật nhỏ

Một cập nhật nhỏ
Một cập nhật nhỏ
Một cập nhật nhỏ
Một cập nhật nhỏ
Một cập nhật nhỏ
Một cập nhật nhỏ

Sau một vài ngày, tôi nghĩ rằng tôi sẽ làm lại WS này ở một hình thức mới.

Thay đổi: ESP32 Uno R3

ILI9340 / 41 TFT LCD song song

Biểu tượng mới

1 tùy chọn bổ sung

Vui lòng chỉnh sửa tệp User_setup.h trong thư viện TFT_eSPI cho phù hợp trong bản phác thảo. Xin vui lòng bỏ ghi chú họ và bình luận ra tùy chọn khác hoặc nếu không nó sẽ không hoạt động.

Bạn phải kết nối GPIO 35 đến 15, GPIO 33 đến 34, GPIO 32 đến 36 vì chúng chỉ là chân đầu vào và khi đó màn hình của chúng ta sẽ không hoạt động (xem hình).

Mã nguồn có sẵn trên github.

Đề xuất: