สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ยินดีต้อนรับสู่คำสั่งแรกของฉัน
โครงการที่ฉันต้องการแบ่งปันกับคุณในวันนี้คือเกม Arduino maze ซึ่งกลายเป็นพ็อกเก็ตคอนโซลที่มีความสามารถเท่ากับ Arduboy และคอนโซลที่ใช้ Arduino ที่คล้ายกัน มันสามารถแฟลชกับเกมในอนาคตของฉัน (หรือของคุณ) ด้วยส่วนหัว ICSP ที่เปิดเผย
ฉันมีความคิดเมื่อไม่กี่เดือนก่อนเพื่อสร้างเกมเขาวงกตบน Arduino แต่ไม่มีเขาวงกตที่ฮาร์ดโค้ด มันควรจะสามารถสร้างเขาวงกตใหม่สำหรับแต่ละระดับที่คุณกำลังเล่น ดังนั้นคุณจะไม่เห็นเขาวงกตเดิมอีกเลย:)
การเข้ารหัสค่อนข้างยาก เนื่องจาก Arduino มีหน่วยความจำ RAM ที่จำกัด และฉันพบตัวอย่างสองสามตัวอย่างว่าสิ่งนี้สามารถทำได้ด้วยอัลกอริทึม Bo-Taoshi แบบง่าย
รหัสที่ฉันใช้เป็นจุดเริ่มต้นโดย SANUKI UDON และโครงการของเขา HOW TO MAKE A MAZE GENERATOR โดยใช้ ATTINY13A
ขั้นตอนที่ 1: การสร้างต้นแบบเขียงหั่นขนม
จุดเริ่มต้นของฉันคือกระดานทดลองเล็กๆ ที่เชื่อมต่อเพียง 4 ปุ่มเพื่อเคลื่อนที่ผ่านเขาวงกต แต่ต่อมาเมื่อฉันตัดสินใจว่าควรเป็นเกมคอนโซล ฉันจึงเพิ่มปุ่มอีกสองสามปุ่ม บนเขียงหั่นขนมขนาดใหญ่คุณจะเห็นปุ่มอีก 2 ปุ่มและต่อมาฉันเพิ่มปุ่มที่สามเพื่อใช้เป็นปุ่มเริ่ม / หยุดชั่วคราว / เมนู
ขั้นตอนที่ 2: ชิ้นส่วนที่จำเป็น
- Arduino pro mini / Arduino Uno / Atmega328P ชิป
- ซ็อกเก็ต DIP 28 พิน (อุปกรณ์เสริม)
- SSD1306 จอแสดงผล OLED
- ลำโพง Piezo
- ปุ่มกด - 7 ชิ้น
- ที่ใส่แบตเตอรี่แบบเหรียญ
- สวิตช์สลับ
- สายไฟ
- ต้นแบบ pcb (60x40mm)
ขั้นตอนที่ 3: การเดินสาย Breadboard / Schematic
การเชื่อมต่อส่วนประกอบดังแสดงในแผนภาพด้านบน
ปุ่ม:
- ปุ่มขึ้น: ขา Arduino 7
- ปุ่มลง: ขา Arduino 6
- ปุ่มซ้าย: ขา Arduino 9
- ปุ่มขวา: ขา Arduino 8
- ปุ่ม: ขา Arduino 5
- ปุ่ม B: ขา Arduino 4
- ปุ่ม START: ขา Arduino 2
หน้าจอ OLED SSD1306:
- SCL: ขา Arduino A5
- SDA: ขา Arduino A4
- VCC: Arduino VCC
- GND: Arduino GND
ออด:
- Buzzer บวก: ขา Arduino 3
- กราวด์ Buzzer: Arduino GND
ขั้นตอนที่ 4: รหัสที่มา
ซอร์สโค้ดเกม A-Maze สามารถพบได้ที่นี่:
เปิดใน Arduino IDE แล้วอัปโหลดไปยังบอร์ดของคุณหรือใช้โปรแกรมเมอร์ ISP เพื่อตั้งโปรแกรมชิปของคุณ
ฉันแนะนำให้ใช้ USBTIny ISP ไม่เคยมีปัญหากับมัน:) แต่คุณสามารถใช้ Arduino ธรรมดาเพื่อตั้งโปรแกรมชิปของคุณได้
ในกรณีของฉัน ฉันไม่ได้ใช้คริสตัลภายนอก ดังนั้นชิป Atmega328p ของฉันจึงทำงานบนออสซิลเลเตอร์ภายในซึ่งเป็น 8MhZ
สำหรับข้อมูลเพิ่มเติม โปรดไปที่ลิงก์นี้:
ขั้นตอนที่ 5: ดูมันในการดำเนินการ
ขั้นตอนที่ 6: กรณีและการย่อขนาด
หากคุณต้องการให้โปรเจ็กต์นี้ถาวร ด้วยเคสที่ดูดี นี่คือเคสสำหรับพิมพ์ 3 มิติง่ายๆ ที่ฉันออกแบบ:
ในภาพด้านบน คุณจะเห็นว่าส่วนประกอบทั้งหมดถูกจัดวางบน PCB ต้นแบบ 4x6 อย่างไร
การเดินสายปุ่มส่วนใหญ่จะอยู่ใต้ที่ใส่แบตเตอรี่ พยายามทำให้เรียบที่สุดเท่าที่จะเป็นไปได้ เพื่อให้ที่ยึดแบตเตอรี่สามารถวางให้พอดีเหนือบอร์ดด้วยสายไฟที่อยู่ระหว่างนั้น
ฉันยังแนะนำให้เดินสายไฟอื่นๆ ใต้หน้าจอ เนื่องจากขาชิป Atmega นั้นบัดกรีและเปิดออกใต้หน้าจอ เมื่อคุณบัดกรีเสร็จแล้ว ให้ติดเทปฉนวนไว้ใต้หน้าจอเพื่อป้องกันไม่ให้ขาหนีบ ฯลฯ
ส่วนหัว ICSP เป็นอุปกรณ์เสริม และหากคุณตัดสินใจที่จะไม่เปิดเผย จะทำให้การประกอบของคุณง่ายขึ้นมาก ไม่ต้องดูแลการเชื่อมต่อ 6 จุด แต่ตั้งโปรแกรมชิปก่อนจะบัดกรี หรือใช้ซ็อกเก็ต DIP 28 พิน เพื่อให้คุณทำได้อย่างง่ายดาย ถอดชิปสำหรับการเขียนโปรแกรม
รองชนะเลิศในการประกวดขนาดพกพา