Mục lục:

TTGO T-Watch: 9 bước (có hình ảnh)
TTGO T-Watch: 9 bước (có hình ảnh)

Video: TTGO T-Watch: 9 bước (có hình ảnh)

Video: TTGO T-Watch: 9 bước (có hình ảnh)
Video: TTGO T-Watch 2020 Custom Watch Face 2024, Tháng bảy
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

Bảng hướng dẫn này hướng dẫn cách bắt đầu chơi với TTGO T-Watch.

Bước 1: TTGO T-Watch là gì?

TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?
TTGO T-Watch là gì?

TTGO T-Watch là bộ công cụ phát triển dựa trên hình dáng đồng hồ ESP32. 16 MB flash và 8 MB PSRAM đều là thông số kỹ thuật hàng đầu. Nó cũng được tích hợp một LCD IPS 240x240, màn hình cảm ứng, cổng thẻ micro-SD, cổng I2C, RTC, gia tốc kế 3 trục và một nút tùy chỉnh. Bảng nối đa năng cũng có thể được chuyển sang các mô-đun khác như LORA, GPS và SIM.

Nhưng điều quan trọng nhất để nó có thể trở thành một chiếc đồng hồ sử dụng được chính là hệ thống điện. Nó được tích hợp chip quản lý điện năng lập trình đa kênh AXP202. Đây là lần đầu tiên tôi thấy một bộ công cụ phát triển có chip nguồn có thể điều khiển I2C!

Theo giao diện AXP202X_Library, bạn có thể điều khiển bật và tắt từng kênh nguồn, đọc mức pin, trạng thái sạc và thậm chí tắt nguồn trực tiếp, giống như nhấn nút nguồn.

Tham chiếu:

github.com/Xinyuan-LilyGO/TTGO-T-Watch

Bước 2: Đơn giản xem PoC

Đồng hồ đơn giản PoC
Đồng hồ đơn giản PoC

Chip nguồn có vẻ tốt, nhưng pin 180 mAh tích hợp trong bao lâu thì dùng được?

Vì nó được thiết kế như một triển vọng đồng hồ, hãy bắt đầu với một ví dụ đơn giản về đồng hồ dưới dạng PoC để kiểm tra cách thức hoạt động của chip nguồn.

Bước 3: Thiết kế mặt đồng hồ

Thiết kế mặt đồng hồ
Thiết kế mặt đồng hồ

ESP32 là một con chip rất mạnh, CPU lõi kép 240 Mhz và tốc độ SPI 80 Mhz có thể thiết kế bố cục hiển thị rất mượt mà. Vì vậy, tôi đã thiết kế một mặt đồng hồ tử tế với kim giây quét liên tục.

Tuy nhiên, khó khăn về thiết kế là cao bất ngờ, không dễ dàng để tháo kim giây cuối cùng mà không nhấp nháy. Tôi đã thử 4 phương pháp bổ sung để làm cho nó. Các hình ảnh trên cho thấy một bản vẽ lại không thành công vẫn còn các pixel thứ hai cuối cùng không bị xóa trên màn hình. Công trình thiết kế mặt đồng hồ có nhiều từ có thể nói nhưng một chút ngoài dự án này. Có thể tôi có thể nói nhiều hơn về hành trình thiết kế trong các tài liệu hướng dẫn tiếp theo của tôi, nó phải được gọi là "Arduino Watch Core".

Bước 4: Đặt thời gian

T-Watch có chip RTC tích hợp, có nghĩa là nó có thể giữ thời gian giữa các lần đặt lại trong khi phát triển. Trước khi nó có thể giữ thời gian, chúng ta nên đặt thời gian trước.

Có nhiều cách khác nhau để đặt thời gian:

  • ESP32 có khả năng WiFi, vì vậy bạn có thể đồng bộ thời gian với NTP
  • tương tự như các thiết bị điện tử khác, chẳng hạn như máy ảnh kỹ thuật số, bạn có thể viết giao diện người dùng để đặt thời gian
  • bạn có thể sử dụng bảng nối đa năng GPS, sau đó bạn có thể lấy thời gian từ vệ tinh

Để làm cho nó đơn giản, nó vẫn là một cách lười biếng khác nhau để đặt thời gian, bạn có thể tìm thấy cách này tại một số ví dụ về đồng hồ TFT. Khi bạn biên dịch chương trình trong Arduino, bộ tiền xử lý đã xác định 2 biến "_DATE_" và "_TIME_" để ghi lại thời gian biên dịch. Chúng tôi có thể sử dụng thông tin này để tạo một chương trình rất đơn giản để đặt thời gian RTC.

Ghi chú:

Chương trình đơn giản này luôn đặt thời gian khởi động. Nhưng thời gian biên dịch chỉ có hiệu lực ở lần khởi động đầu tiên, vì vậy bạn nên ghi đè lên chương trình khác sau khi nó đặt thời gian thành công.

Tham chiếu:

gcc.gnu.org/onlineocs/cpp/Standard-Predef…

Bước 5: Tiêu thụ điện năng

Sự tiêu thụ năng lượng
Sự tiêu thụ năng lượng
Sự tiêu thụ năng lượng
Sự tiêu thụ năng lượng

Khi đồng hồ chạy, hiển thị kim giây quét liên tục, nó tiêu thụ hơn 60 mA một chút. Vì lý do tiết kiệm điện, nó sẽ chuyển sang chế độ ngủ sau một khoảng thời gian nhất định.

Nếu tôi tắt đèn nền LCD và gọi ESP32 ngủ sâu, nó giảm xuống khoảng 7,1 mA. Nó chỉ có thể kéo dài khoảng 1 ngày đối với pin 180 mAh.

Tôi biết khoảng 6 mA được tiêu thụ bởi chip LCD. Theo bảng dữ liệu ST7789, có một lệnh để vào chế độ ngủ. Nhưng thư viện TFT_eSPI hiện tại chưa có API chế độ ngủ.

Và cũng vẫn có khoảng 1 mA được tiêu thụ bởi một nơi nào đó.

Bước 6: Chip quản lý nguồn có thể lập trình

Image
Image
Chương trình
Chương trình

Có rất nhiều chip trong bộ phát triển, theo bảng dữ liệu của họ, hầu hết chúng đều hỗ trợ chế độ tiết kiệm năng lượng. Tuy nhiên, không phải tất cả các thư viện đều có API chế độ tiết kiệm năng lượng. Và đó là một đoạn mã dài để tiết kiệm năng lượng bằng cách kiểm tra và gọi mỗi mô-đun vào chế độ ngủ.

Làm thế nào về việc tắt nguồn trực tiếp giống như nhấn trực tiếp vào nút nguồn? AXP202X_Library có thể thực hiện nó bằng cách chỉ cần gọi hàm shutdown (). Ở chế độ tắt máy, nó chỉ tiêu thụ dưới 0,3 mA một chút. Nó có thể kéo dài 25 ngày với pin 180 mAh!

Ghi chú:

Tôi vừa mới sạc pin vào ngày 28 tháng 6, bạn có thể theo dõi twitter của tôi để biết tình trạng pin mới nhất.

Cập nhật:

Máy hết pin vào ngày 18/7, pin có thể dùng được 20 ngày. Trong thời gian tôi kiểm tra thời gian một vài lần một ngày, tôi cho rằng đồng hồ có thể kéo dài 1-2 tuần trong sử dụng bình thường.

Tham chiếu:

github.com/lewisxhe/AXP202X_Library/pull/2

Bước 7: Chương trình

  1. Làm theo hướng dẫn trang https://github.com/Xinyuan-LilyGO/TTGO-T-Watch để cài đặt phần mềm và thư viện.
  2. Tải mã nguồn tại GitHub:
  3. Mở, biên dịch và tải lên Set_RTC.ino để cập nhật ngày và giờ RTC
  4. Mở, biên dịch và tải lên Arduino-T-Watch-simple.ino
  5. Xong!

Chương trình đồng hồ đơn giản sẽ thực hiện:

  • đọc ngày và giờ RTC
  • vẽ dấu đồng hồ (bạn có thể chọn dấu đồng hồ tròn hoặc vuông)
  • hiển thị kim giây quét liên tục
  • tắt nguồn sau 60 giây (hoặc bạn có thể giữ nút nguồn để tắt ngay lập tức)
  • nhấn nút nguồn để bật lại

Bước 8: Chúc bạn lập trình vui vẻ

Chúc bạn lập trình vui vẻ!
Chúc bạn lập trình vui vẻ!

TTGO T-watch có thể làm được nhiều hơn thế so với một chiếc đồng hồ đơn giản, ví dụ:

  • ESP32 có thể tạo kết nối không dây WiFi và BT
  • sử dụng bảng điều khiển màn hình cảm ứng có thể phát triển một giao diện người dùng lạ mắt hơn
  • gia tốc kế ba trục trên bo mạch (BMA423), thuật toán bộ đếm bước tích hợp và GSensor đa chức năng khác
  • bảng nối đa năng có thể thay thế có thể thêm chức năng LORA, GPS, SIM
  • Cổng I2C có thể mở rộng nhiều tính năng hơn

Bước 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-đơn giản chỉ cần nhấn và giữ nút nguồn nhỏ để đánh thức và phần giới thiệu ban đầu của màn hình LCD có một số thời gian trễ. Vì vậy, trải nghiệm người dùng không quá tốt.

Tôi đã thêm một chương trình khác có tên là Arduino-T-Watch-GFX để cải thiện điều này. Chương trình này thay đổi để sử dụng thư viện hiển thị Arduino_GFX, sau đó nó có thể yêu cầu màn hình nhập chế độ ngủ để tiết kiệm năng lượng. Vì vậy, khi ESP32 vào chế độ ngủ nhẹ, nó chỉ tiêu thụ dưới 3 mA bây giờ. Và nó cũng có thể kích hoạt đánh thức bằng cách chạm vào màn hình. Việc đánh thức và hiển thị trạng thái ngủ của ESP32 nhanh hơn nhiều so với toàn bộ quá trình khởi động lại, bạn có thể xem video ở trên, nó gần như phản hồi ngay lập tức. Về mặt lý thuyết, pin có thể kéo dài hơn 2 ngày: P

Đề xuất: