Arduino 'Clock' with LCD (20x4) I2C
Big Fonts: นาฬิกา LCD 20x4 แบบกำหนดเอง
ในขณะที่การพิมพ์ข้อความ 5x8 pixel มาตรฐานลงบน LCD นั้นทำได้ง่าย แต่โปรเจกต์ Extended 20x4 Custom Font Clock นี้จะทำให้คุณต้องเจาะลึกเข้าไปในพารามิเตอร์ของ LiquidCrystal library เป้าหมายด้านภาพคือการสร้างตัวเลขที่ใช้ความสูง ทั้งหมด ของหน้าจอ 4-line display เลียนแบบนาฬิกาดิจิทัลแบบวินเทจ

การสร้างอักขระ Hexadecimal แบบกำหนดเอง
โมดูล LCD ช่วยให้คุณสามารถสร้าง custom symbols ได้สูงสุด 8 ตัว
- รูปร่าง: คุณวาด custom "Blocks" 8 ชิ้น (เช่น solid block, block ที่มีรอยเอียงด้านบน, block ที่มีส่วนโค้งด้านล่าง) คุณแปลง 5x8 pixel grids เหล่านี้ให้เป็น byte arrays
- Font Array: คุณเขียน 2D array matrix ขนาดใหญ่ที่กำหนดวิธีการสร้างตัวเลข "8" โดยใช้ blocks เหล่านี้ในสี่แถว
- การประกอบ: ในการวาดตัวเลข "8" ที่ cursor position (0,0):
- แถวที่ 1:
Curve, Solid, Solid, Curve - แถวที่ 2:
Solid, Empty, Empty, Solid - คุณต้องเขียน printing algorithm ที่ซับซ้อนซึ่งจัดการ cursor returns เพื่อประกอบ digit ขนาดยักษ์ block-by-block!
- แถวที่ 1:
การเชื่อมต่อฮาร์ดแวร์ I2C ที่แท้จริง
เนื่องจากนาฬิกามีความซับซ้อนมาก การรักษาเวลาจึงต้องถูก offload ทั้งหมด
- DS3231 RTC Module เชื่อมต่อกับ pin
SDA/SCLI2C - ที่สำคัญอย่างยิ่ง คือ 20x4 LCD ต้อง มี I2C Backpack บัดกรีติดอยู่ที่ด้านหลัง
- คุณเชื่อมต่อ I2C wires ของ LCD เข้ากับ I2C wires ของ RTC โดยตรงในแบบ parallel โดย Arduino จะควบคุมทั้ง timekeeper และ display โดยใช้เพียง 4 physical wires บน breadboard!
ส่วนประกอบฮาร์ดแวร์
- Arduino Uno/Mega: เนื่องจากมี font arrays ขนาดใหญ่มาก จึงแนะนำให้ใช้ Mega เพื่อหลีกเลี่ยงการใช้ Uno's SRAM จนเต็ม
- 20x4 Text LCD Display (สีน้ำเงิน หรือ สีเขียว/เหลือง) พร้อม I2C module
- DS3231 Precision Real-Time Clock Module