Mục lục:

Đồng hồ trạm thời tiết ESP8266: 4 bước
Đồng hồ trạm thời tiết ESP8266: 4 bước

Video: Đồng hồ trạm thời tiết ESP8266: 4 bước

Video: Đồng hồ trạm thời tiết ESP8266: 4 bước
Video: Demo project dự báo thời tiết dùng esp8266 nodeMCU và màn hình LCD Gphone 2024, Tháng bảy
Anonim
Đồng hồ trạm thời tiết ESP8266
Đồng hồ trạm thời tiết ESP8266

Dự án này là một cách hay để hiển thị thời gian và thời tiết trong một gói nhỏ tiện lợi. Tôi sẽ giải thích về dự án, cách nó hoạt động và hiển thị mã ở đây.

Bạn có thể nhấn các nút khác nhau để hiển thị thời tiết hiện tại ở một vị trí đã định cũng như nhiệt độ và áp suất. Chế độ xem mặc định là thời gian được lấy từ máy chủ NTP.

Không cần đặt giờ vì thời gian được đồng bộ từ máy chủ NTP và rất chính xác. Trong cấu hình này, tôi có thời gian và địa chỉ IP cục bộ. Bạn có thể thay đổi mã để bao gồm ngày, thời tiết, áp suất và nhiệt độ để hiển thị trên màn hình chính hoặc trên các nút.

Bước 1: Sơ đồ

Sơ đồ
Sơ đồ
Sơ đồ
Sơ đồ

Giản đồ tương đối đơn giản và dễ dàng

theo dõi. Có một tệp mầm nếu bạn muốn quay PCB của riêng mình. Toàn bộ mạch được điều khiển bởi 5V đến từ kết nối micro USB. Điều này làm cho mạch điện đơn giản và dễ dàng. 5V được đưa vào Bộ điều chỉnh 3.3V Low Dropout, LM 3940 cung cấp 3.3V cho ESP8266. Có một đầu nối USB trên ESP8266, tuy nhiên, tôi chọn không sử dụng nó nói chung vì 5V cũng đang điều khiển màn hình LCD.

3.3V phải được sử dụng với ESP8266, bạn không thể điều khiển nó trực tiếp với 5V vì nó sẽ làm chết bo mạch.

Hai công tắc xúc giác được kết nối với D5 và D6 và được cấu hình trong mã để hiển thị thông tin khác nhau trên màn hình. Tôi đã đặt những thứ này thành Nhiệt độ / Áp suất và Dự báo.

Tất cả các thành phần có thể dễ dàng hàn bằng tay vào bảng điều khiển bằng tay hoặc bảng điều khiển có sẵn trong GitHub của tôi tại

Bước 2: Mã

github.com/allenelectronics/esp8266weatherstation

Mã được biên dịch trong Arduino IDE và cần một số cấu hình để hoạt động

Trước tiên, bạn cần cài đặt Bảng ESP8266 vào IDE để tải mã lên đó.

Hướng dẫn toàn diện về cách thực hiện việc này tại đây:

Để có được chức năng thời tiết, tôi đã chọn sử dụng RemoteMe để thu thập dữ liệu thời tiết trực tiếp từ API và tạo mã có thể được chèn vào mã của bạn. Bạn sẽ cần đăng ký và thiết lập luồng dữ liệu trên trang web của họ:

Tài liệu về RemoteMe có thể được tìm thấy tại đây:

Có một số định nghĩa cụ thể dành riêng cho thiết lập của bạn mà bạn cần phải hoàn thành trước khi tải lên:

#define WIFI_NAME "SSID ĐI ĐÂY"

#define WIFI_PASSWORD "MẬT KHẨU ĐI ĐÂY"

#define DEVICE_ID 1

#define DEVICE_NAME "ĐẠT ĐƯỢC TỪ REMOTEME. ORG"

#define TOKEN "CÓ ĐƯỢC TỪ REMOTEME. ORG"

Các định nghĩa ở đây cần do bạn đặt dựa trên chi tiết wifi của bạn và mã thông báo bạn nhận được từ RemoteMe.

Bạn cần đảm bảo rằng tất cả các thư viện này đã được cài đặt và bao gồm trong mã. Tôi đã bao gồm các liên kết đến những cái khó lấy hơn.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#bao gồm

#bao gồm

#bao gồm

#bao gồm

Phần cuối cùng cần thay đổi là vị trí của bạn vì dự án này không sử dụng GPS. Bạn cần sửa đổi chuỗi “VỊ TRÍ”:

else if (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("LOCATION / n");

Serial.println (fc);

lcd.clear ();

lcd.print ("VỊ TRÍ");

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

chậm trễ (5000);

presButtonState2 = buttonState2;

Bước 3: Xây dựng

Tòa nhà
Tòa nhà
Tòa nhà
Tòa nhà

Tòa nhà

Vào thời điểm đó tôi không có quyền truy cập vào máy in 3d, đây là dự án cuối cùng của tôi sử dụng hộp đựng ngoài giá sách. Tôi đã sử dụng một hộp bảng điều khiển báo động có sẵn được thiết kế cho màn hình LCD 16x2.

Liên kết: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Mọi thứ đều được nhét vào bên trong vỏ máy, màn hình LCD 16x2 được dán vào bảng điều khiển phía trước với bảng mạch được dán nóng tại chỗ.

Bước 4: Kết luận

Phần kết luận

Đây là một dự án gọn gàng cho đồng hồ kỹ thuật số để bàn mà không cần điều chỉnh hoặc cài đặt, nó lấy thời gian từ máy chủ NTP và hiển thị nó trên màn hình LCD có đèn nền rõ ràng.

Điều này không dành cho người mới bắt đầu hoàn chỉnh vì cần có một số cấu hình đối với mã và các luồng dữ liệu cũng cần được thiết lập. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến, xin vui lòng để lại cho tôi một bình luận.

Đề xuất: