ชีวิตเทียม: Conway's Game of Life
Conway's Game of Life ไม่ใช่เกมที่คุณ "เล่น" แต่เป็นการจำลองแบบ zero-player จากผลงานของนักคณิตศาสตร์ John Conway มันแสดงให้เห็นว่าพฤติกรรมที่ซับซ้อนซึ่งดูคล้ายสิ่งมีชีวิตสามารถเกิดขึ้นได้จากกฎตรรกะง่ายๆ เพียงไม่กี่ข้อ

กฎแห่งชีวิต
ในการจำลองนี้ ตารางพิกเซล ("เซลล์") จะวิวัฒนาการไปตามแต่ละรุ่น:
- การอยู่รอด: เซลล์ที่มีชีวิตซึ่งมีเพื่อนบ้าน 2 หรือ 3 เซลล์ จะอยู่รอด
- การตาย: เซลล์ที่มีชีวิตซึ่งมีเพื่อนบ้านน้อยเกินไปหรือมากเกินไป จะตาย
- การเกิด: เซลล์ที่ตายแล้วซึ่งมีเพื่อนบ้าน 3 เซลล์พอดี จะกลับมามีชีวิต
การติดตั้งฮาร์ดแวร์
แม้ว่าคุณจะสามารถรันสิ่งนี้บน 16x2 LCD ได้ แต่จะดูดีที่สุดบน 0.96" I2C OLED display ความละเอียดที่สูงกว่า (128x64) ช่วยให้คุณเห็น "สิ่งมีชีวิต" ที่น่าสนใจ เช่น Gliders, Pulsars และ Gosper Glider Guns ขณะที่พวกมันเคลื่อนที่ไปบนหน้าจอ
- Arduino Uno/Nano: สำหรับประมวลผล Logic
- 0.96" OLED Display: สำหรับแสดงผลตาราง
- Push Button: สำหรับสุ่มบอร์ดและเริ่ม "simulation" ใหม่
ความท้าทายในการเขียนโค้ด
โปรเจกต์นี้เป็นแบบฝึกหัดที่ยอดเยี่ยมในด้าน Memory Management Arduino Nano มี SRAM เพียง 2KB ในการจัดเก็บตารางเซลล์ขนาด 64x64 คุณจำเป็นต้องใช้ bit-manipulation (จัดเก็บเซลล์ 8 เซลล์ในหนึ่งไบต์) เพื่อให้ "จักรวาล" ทั้งหมดสามารถจัดเก็บลงในหน่วยความจำที่จำกัดของ Arduino ได้