สารบัญ:

TTGO T-Watch: 9 ขั้นตอน (พร้อมรูปภาพ)
TTGO T-Watch: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: TTGO T-Watch: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: TTGO T-Watch: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ESP-Now on TTGO T-Display and T-Watch 2020 2024, พฤศจิกายน
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

คำแนะนำนี้แสดงวิธีเริ่มเล่นกับ TTGO T-Watch

ขั้นตอนที่ 1: TTGO T-Watch คืออะไร?

TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?
TTGO T-Watch คืออะไร?

TTGO T-Watch เป็นชุดพัฒนาตามรูปร่างของนาฬิกา ESP32 แฟลช 16 MB และ PSRAM 8 MB เป็นสเปคสูงสุด นอกจากนี้ยังมีจอ LCD IPS ขนาด 240x240 ในตัว, หน้าจอสัมผัส, พอร์ตการ์ด micro-SD, พอร์ต I2C, RTC, มาตรความเร่ง 3 แกน และปุ่มกำหนดเอง แบ็คเพลนยังสามารถสลับไปยังโมดูลอื่นๆ เช่น LORA, GPS และ SIM

แต่สิ่งที่สำคัญที่สุดคือนาฬิกาที่ใช้งานได้คือระบบไฟฟ้า มันรวมชิปการจัดการพลังงานที่ตั้งโปรแกรมได้หลายช่อง AXP202 นี่เป็นครั้งแรกที่ฉันเห็นชุดพัฒนาที่มีชิปพลังงานที่ควบคุมได้ I2C!

ตามอินเทอร์เฟซ AXP202X_Library คุณสามารถควบคุมการเปิดและปิดช่องพลังงานแต่ละช่อง อ่านระดับแบตเตอรี่ สถานะการชาร์จ และแม้กระทั่งปิดเครื่องโดยตรง เช่นเดียวกับการกดปุ่มเปิดปิด

อ้างอิง:

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

ขั้นตอนที่ 2: ดู PoC อย่างง่าย

ดู PoC อย่างง่าย
ดู PoC อย่างง่าย

ชิปพลังงานดูดี แต่แบตเตอรี่ 180 mAh ในตัวใช้งานได้นานแค่ไหน?

เนื่องจากได้รับการออกแบบให้เป็นแนวโน้มของนาฬิกา เรามาเริ่มด้วยตัวอย่างการดูง่ายๆ เช่น PoC เพื่อตรวจสอบว่าชิปกำลังทำงานอย่างไร

ขั้นตอนที่ 3: ออกแบบหน้าปัดนาฬิกา

ออกแบบหน้าปัด
ออกแบบหน้าปัด

ESP32 เป็นชิปที่ทรงพลังมาก CPU แบบดูอัลคอร์ 240 Mhz และความเร็ว SPI 80 Mhz สามารถออกแบบเลย์เอาต์การแสดงผลที่ราบรื่นมาก ดังนั้นฉันจึงออกแบบหน้าปัดนาฬิกาที่ดีด้วยเข็มวินาทีที่ปัดอย่างต่อเนื่อง

อย่างไรก็ตาม ปัญหาในการออกแบบนั้นสูงอย่างคาดไม่ถึง การถอดเข็มวินาทีสุดท้ายออกโดยไม่กะพริบไม่ง่าย ฉันได้ลองวิธีพิเศษ 4 วิธีแล้ว รูปภาพด้านบนแสดงการวาดใหม่ที่ล้มเหลวซึ่งยังคงเป็นพิกเซลที่สองสุดท้ายที่ไม่ได้ลบออกบนหน้าจอ การออกแบบหน้าปัดนาฬิกามีหลายคำ แต่นอกโครงการนี้เล็กน้อย ฉันสามารถพูดเพิ่มเติมเกี่ยวกับการเดินทางของการออกแบบได้ในคำแนะนำถัดไปของฉัน ซึ่งควรเรียกว่า "Arduino Watch Core"

ขั้นตอนที่ 4: ตั้งเวลา

T-Watch มีชิป RTC ในตัว ซึ่งหมายความว่าสามารถรักษาเวลาระหว่างการรีเซ็ตขณะพัฒนาได้ ก่อนจะเก็บเวลาได้เราควรตั้งเวลาไว้เสียก่อน

มีหลายวิธีในการตั้งเวลา:

  • ESP32 มีความสามารถ WiFi คุณจึงสามารถซิงค์เวลากับ NTP. ได้
  • คล้ายกับอุปกรณ์อิเล็กทรอนิกส์อื่นๆ เช่น กล้องดิจิตอล คุณสามารถเขียน UI เพื่อตั้งเวลาได้
  • คุณสามารถใช้แบ็คเพลน GPS จากนั้นคุณจะได้รับเวลาจากดาวเทียม

เพื่อให้ง่าย มันยังคงเป็นวิธีที่ขี้เกียจที่แตกต่างกันในการตั้งเวลา คุณสามารถค้นหาวิธีนี้ได้จากตัวอย่างนาฬิกา TFT เมื่อคุณคอมไพล์โปรแกรมใน Arduino ตัวประมวลผลล่วงหน้ากำหนด 2 ตัวแปร "_DATE_" และ "_TIME_" เพื่อบันทึกเวลาคอมไพล์ เราสามารถใช้ข้อมูลนี้เพื่อสร้างโปรแกรมง่ายๆ เพื่อตั้งเวลา RTC

บันทึก:

โปรแกรมง่าย ๆ นี้จะตั้งเวลาตอนบูตเสมอ แต่เวลาคอมไพล์จะใช้ได้ในการบูตครั้งแรกเท่านั้น ดังนั้นคุณควรเขียนทับกับโปรแกรมอื่นเมื่อตั้งเวลาสำเร็จแล้ว

อ้างอิง:

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

ขั้นตอนที่ 5: การใช้พลังงาน

การใช้พลังงาน
การใช้พลังงาน
การใช้พลังงาน
การใช้พลังงาน

เมื่อนาฬิกาทำงาน โดยแสดงเข็มวินาทีแบบกวาดต่อเนื่อง จะกินไฟมากกว่า 60 mA เล็กน้อย ด้วยเหตุผลด้านการประหยัดพลังงาน เครื่องควรเข้าสู่โหมดสลีปหลังจากช่วงระยะเวลาหนึ่ง

ถ้าฉันปิดไฟแบ็คไลท์ LCD และเรียก ESP32 deep sleep มันจะลดลงเหลือประมาณ 7.1 mA สามารถใช้งานได้ประมาณ 1 วันสำหรับแบตเตอรี่ 180 mAh

ฉันรู้ว่าชิป LCD ใช้ประมาณ 6 mA ตามแผ่นข้อมูล ST7789 มีคำสั่งให้เข้าสู่โหมดสลีป แต่ไลบรารี่ TFT_eSPI ปัจจุบันยังไม่มี API โหมดสลีป

และยังมีอีกประมาณ 1 mA ที่ถูกใช้ไปที่ไหนสักแห่ง

ขั้นตอนที่ 6: ชิปจัดการพลังงานที่ตั้งโปรแกรมได้

Image
Image
โปรแกรม
โปรแกรม

มีชิปจำนวนมากในชุดพัฒนา ตามเอกสารข้อมูล ส่วนใหญ่รองรับโหมดประหยัดพลังงาน อย่างไรก็ตาม ไม่ใช่ทุกไลบรารีที่เปิดเผย API โหมดประหยัดพลังงาน และเป็นการเข้ารหัสที่ยาวนานสำหรับการประหยัดพลังงานโดยการตรวจสอบและเรียกแต่ละโมดูลเข้าสู่โหมดสลีป

วิธีการปิดเครื่องโดยตรงเช่นเดียวกับการกดปุ่มเปิดปิดโดยตรง? AXP202X_Library สามารถทำได้โดยเพียงแค่เรียกใช้ฟังก์ชัน shutdown() ในโหมดปิดเครื่อง จะกินไฟเพียง 0.3 mA เพียงเล็กน้อยเท่านั้น สามารถใช้งานได้ 25 วันสำหรับแบตเตอรี่ 180 mAh!

บันทึก:

ฉันเพิ่งชาร์จแบตเตอรี่ไปเมื่อวันที่ 28 มิถุนายน คุณสามารถติดตาม Twitter ของฉันเพื่อทราบสถานะแบตเตอรี่ล่าสุด

อัปเดต:

แบตเตอรี่หมดวันที่ 18 กรกฎาคม แบตเตอรี่ใช้งานได้ 20 วัน ในช่วงเวลาที่ฉันตรวจสอบเวลาสองสามครั้งต่อวัน ฉันคิดว่านาฬิกาสามารถใช้งานได้ปกติ 1-2 สัปดาห์

อ้างอิง:

github.com/lewisxhe/AXP202X_Library/pull/2

ขั้นตอนที่ 7: โปรแกรม

  1. ปฏิบัติตาม https://github.com/Xinyuan-LilyGO/TTGO-T-Watch คำแนะนำหน้าเพื่อติดตั้งซอฟต์แวร์และไลบรารี
  2. ดาวน์โหลดซอร์สโค้ดได้ที่ GitHub:
  3. เปิด รวบรวม และอัปโหลด Set_RTC.ino เพื่ออัปเดตวันที่และเวลา RTC
  4. เปิด คอมไพล์ และอัปโหลด Arduino-T-Watch-simple.ino
  5. เสร็จแล้ว!

โปรแกรมดูอย่างง่ายจะทำ:

  • อ่านวันที่และเวลา RTC
  • วาดเครื่องหมายนาฬิกา (คุณสามารถเลือกเครื่องหมายนาฬิกากลมหรือสี่เหลี่ยม)
  • แสดงมือสองกวาดต่อเนื่อง
  • ปิดเครื่องหลังจาก 60 วินาที (หรือคุณอาจกดปุ่มเปิดปิดค้างไว้เพื่อปิดเครื่องทันที)
  • กดปุ่มเปิดปิดเพื่อเปิดอีกครั้ง

ขั้นตอนที่ 8: การเขียนโปรแกรมอย่างมีความสุข

การเขียนโปรแกรมที่มีความสุข!
การเขียนโปรแกรมที่มีความสุข!

TTGO T-watch ทำได้มากกว่านาฬิกาธรรมดาๆ เช่น นาฬิกาจับเวลา

  • ESP32 สามารถสร้างการสื่อสารไร้สาย WiFi และ BT ได้
  • ใช้แผงหน้าจอสัมผัสสามารถพัฒนา UI ที่แฟนซีมากขึ้นได้
  • มาตรความเร่งสามแกนออนบอร์ด (BMA423) อัลกอริธึมตัวนับขั้นตอนในตัวและ GSensor มัลติฟังก์ชั่นอื่น ๆ
  • แบ็คเพลนที่เปลี่ยนได้สามารถเพิ่ม LORA, GPS, ฟังก์ชั่นซิม
  • พอร์ต I2C สามารถขยายคุณสมบัติได้มากขึ้น

ขั้นตอนที่ 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simple ต้องกดปุ่มเปิด/ปิดเล็กๆ ค้างไว้เพื่อปลุก และการแนะนำเบื้องต้นของ LCD จะหน่วงเวลาเล็กน้อย ดังนั้นประสบการณ์ของผู้ใช้จึงไม่ค่อยดีนัก

ฉันได้เพิ่มโปรแกรมอื่นที่เรียกว่า Arduino-T-Watch-GFX เพื่อปรับปรุงสิ่งนี้ โปรแกรมนี้เปลี่ยนไปใช้ไลบรารีแสดงผล Arduino_GFX จากนั้นสามารถบอกให้จอแสดงผลเข้าสู่โหมดสลีปเพื่อประหยัดพลังงาน ดังนั้นเมื่อ ESP32 เข้าสู่โหมดสลีป มันจะกินไฟต่ำกว่า 3 mA ในตอนนี้ และตอนนี้ยังสามารถเรียกการปลุกด้วยการแตะหน้าจอ ESP32 ปลุกและแสดงผลโหมดสลีปเร็วกว่ากระบวนการรีบูตทั้งหมด คุณสามารถดูวิดีโอด้านบนซึ่งเกือบจะตอบสนองในทันที ในทางทฤษฎี แบตเตอรี่น่าจะอยู่ได้เกิน 2 วัน:P

แนะนำ: