กลับไปหน้ารวมไฟล์
game-of-life.md

ชีวิตเทียม: Conway's Game of Life

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

stock_counter_lcd_setup_1772706693516.png

กฎแห่งชีวิต

ในการจำลองนี้ ตารางพิกเซล ("เซลล์") จะวิวัฒนาการไปตามแต่ละรุ่น:

  1. การอยู่รอด: เซลล์ที่มีชีวิตซึ่งมีเพื่อนบ้าน 2 หรือ 3 เซลล์ จะอยู่รอด
  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 ได้

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

title: "Conway's Game of Life on Arduino"
description: "Simulate life itself! Watch complex patterns emerge from simple rules as you run the world-famous cellular automaton on an Arduino and OLED screen."
category: "Science & Simulation"
difficulty: "Advanced"