กลับไปหน้ารวมไฟล์
esp8266-animated-hourglass-oled.md

การจำลองแรงโน้มถ่วง: นาฬิกาทราย OLED แบบเคลื่อนไหว

Animated Hourglass เป็นโปรเจกต์ภาพที่น่าพึงพอใจอย่างยิ่ง แทนที่จะแสดงแค่ข้อความ จอแสดงผลจะเรนเดอร์ "เม็ดทราย" (pixels) แต่ละเม็ดนับสิบเม็ด เมื่อคุณเอียง breadboard จริงๆ เม็ดทรายก็จะ "ตกลงมา" ตามหลักการของแรงโน้มถ่วงดิจิทัล!

stock_counter_lcd_setup_1772706693516.png

คณิตศาสตร์ของเมทริกซ์

ESP8266 มีความสำคัญอย่างยิ่งสำหรับโปรเจกต์นี้ เนื่องจากความเร็วในการประมวลผล

  • The Sensors: MPU6050 Accelerometer จะอ่านค่าการเอียงของบอร์ดของคุณบนแกน X และ Y อย่างต่อเนื่อง
  • The Draw Loop: โค้ดจะสร้างอาร์เรย์ที่แสดงถึงเม็ดทรายแต่ละเม็ด ในทุกๆ เฟรมของลูป จะมีการคำนวณ:
    1. ทิศทางไหนคือด้านล่าง? (จากการอ่านค่าของ MPU6050)
    2. มี pixel ว่างอยู่ใต้เม็ดทรายหรือไม่?
    3. ถ้าใช่ ให้ลบ pixel ปัจจุบันและวาดมันลงมาหนึ่ง pixel
  • ไลบรารี Adafruit_GFX ผลักดันการอัปเดตเฟรมขนาดใหญ่เหล่านี้ไปยัง 0.96" OLED Display ด้วยอัตราเฟรมที่เร็วอย่างไม่น่าเชื่อ

การตั้งค่าฮาร์ดแวร์หลัก

  • ESP8266 NodeMCU or ESP32: จำเป็นสำหรับการคำนวณความเร็วสูงเพื่อให้ได้แอนิเมชันที่ราบรื่น
  • MPU6050 6-Axis IMU Module.
  • 0.96" I2C OLED Screen.
  • Mini Breadboard.

ด้วยการเพิ่มการตรวจจับการชน (การวาดโครงร่างรูปนาฬิกาทรายที่เม็ดทรายไม่สามารถผ่านไปได้ ยกเว้นเมื่อมันชนกับ "จุดคอขวด" แคบๆ ตรงกลาง) คุณก็สร้างการจำลองฟิสิกส์ที่สมจริงอย่างน่าทึ่งด้วยโค้ดเพียง 500 บรรทัดเท่านั้น

ข้อมูล Frontmatter ดั้งเดิม

title: "DIY ESP8266 Animated Hourglass"
description: "Tilt to run! Program an OLED screen to simulate a gravity-driven hourglass, using an IMU to update pixel positions dynamically."
category: "Games & Toys"
difficulty: "Advanced"