สารบัญ:

เกม Arduino จอแสดงผล LED แบบอินไลน์: 7 ขั้นตอน (พร้อมรูปภาพ)
เกม Arduino จอแสดงผล LED แบบอินไลน์: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เกม Arduino จอแสดงผล LED แบบอินไลน์: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เกม Arduino จอแสดงผล LED แบบอินไลน์: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ECON TV EP.2 - เขียนโปรแกรม Arduino แสดงผลบนจอ LCD 16x2 2024, พฤศจิกายน
Anonim
Image
Image
ส่วนประกอบที่สำคัญ
ส่วนประกอบที่สำคัญ

aka LED Ladder Display ระบบเกม

Attiny-85 ติดตั้งฮาร์ดแวร์และซอฟต์แวร์เพื่อเล่นเกม "วิดีโอ" ที่อัดแน่นไปด้วยแอ็คชั่น บนจอแสดงผล LED แบบอินไลน์

มีจอแสดงผลแลดเดอร์ LED 12 ดวงแบบมัลติเพล็กซ์ และรองรับอินพุตปุ่มสูงสุด 6 ปุ่มและเอาต์พุตเสียงเสริม

มันอัดแน่นไปด้วยเกมทักษะ 4 เกม โดยมีระดับความยากหลายระดับและรูปแบบบางส่วน (อัปเดตเป็น 16 เกม เมื่อใช้กับ ATMega MCU)

[วิดีโอ]

ขั้นตอนที่ 1: ส่วนประกอบหลัก

ฉันสร้างโครงการของฉันแบบแยกส่วน (สองชุดแยกกัน) แอสเซมบลีย่อยของจอแสดงผลหลัก ซึ่งสามารถใช้งานได้ด้วยตัวเองแบบสแตนด์อโลน และปุ่มอินพุตประกอบย่อย ด้วยวิธีนี้ ฉันสามารถใช้ปุ่มหรือชุดแสดงผลอีกครั้งในโครงการอื่น นอกจากนี้ยังช่วยให้มีตัวเลือกการติดตั้งที่ยืดหยุ่น

ฉันยังนำสายควบคุมออกมาที่ส่วนหัวพินสำหรับการประกอบบันได LED เพื่อที่ฉันจะได้ใช้ Arduino Nano (หรือ Uno) เพื่อพัฒนาซอฟต์แวร์สำหรับมันและใช้ในโปรเจ็กต์อื่นๆ Digispark จะไม่ทำงานเนื่องจากส่วนประกอบอื่น ๆ บนแผงวงจร

ฉันเลือกใช้การกำหนดพินเดียวกันสำหรับบันได LED เช่นเดียวกับในคำสั่งก่อนหน้านี้เพื่อให้ง่ายสำหรับผู้ที่มีการติดตั้งฮาร์ดแวร์ดังกล่าวเพื่อใช้ซอฟต์แวร์ในคำแนะนำนี้ แม้ว่าฉันจะไม่พบการมอบหมายที่ทำขึ้นสำหรับตรรกะที่ชัดเจนที่สุดใน ซอฟต์แวร์

สองบรรทัดระหว่างโมดูลคือ PB4 และกราวด์ ส่วนประกอบทั้งหมดที่อยู่ในชุดประกอบแบบหลายปุ่มคือตัวต้านทานและสวิตช์ จึงไม่ขึ้นอยู่กับขั้ว และการย้อนกลับของการเชื่อมต่อไม่สำคัญ

ด้วยการรองรับปุ่มต่างๆ มากขึ้น จึงสามารถปรับใช้เกม (หรือแอปพลิเคชัน) ที่หลากหลายยิ่งขึ้นได้ เกมสองเกมในคำแนะนำนี้เล่นได้ดีที่สุดด้วยปุ่มสองปุ่ม สามารถใช้ปุ่มหลักสี่ปุ่มเพื่อเข้าถึงเกมที่เกี่ยวข้องได้โดยตรง ในไม่ช้าฉันจะใช้เกมซึ่งขึ้นอยู่กับการใช้ปุ่มหลักทั้งสี่ปุ่ม

โครงการนี้ใช้ได้ถึงหกปุ่ม สี่ปุ่มหลัก BTN 1-4 ปุ่มเหล่านี้สามารถตรวจจับได้ทีละปุ่มแม้ว่าจะกดสองปุ่มพร้อมกันก็ตาม อีกสองปุ่มเป็นปุ่มพิเศษ อย่างแรกมีปุ่มเดียวในโปรเจ็กต์ก่อนหน้าซึ่งทำให้การเชื่อมต่อระหว่างอินพุต PB4 กับกราวด์ยาก ผมเรียกสิ่งนี้ว่า BTN0 หรือ ESC เนื่องจากสวิตช์นี้สามารถตรวจจับได้เสมอและจะบล็อกการตรวจจับ ของผู้อื่นแต่อย่างใด ปุ่มพิเศษอีกปุ่มหนึ่งคือ ปุ่มฟังก์ชั่น หากกดเมื่อกด BTN 0-4 จะตรวจจับและใช้เพื่อเปลี่ยนการทำงาน

ในสเก็ตช์เกมทักษะนี้ ฉันใช้:

  • FncKey+Btn1 กลับสู่โหมดเมนู
  • ระดับความยากล่วงหน้า FncKey+Btn2 (ถ้าสูงสุดให้กลับไปต่ำสุด)
  • FncKey+Btn4 หยุดชั่วคราวทันที (กดปุ่มใดก็ได้เพื่อยกเลิกการหยุดชั่วคราว)
  • FncKey + Btn 0 หรือ 3 ไม่ได้กำหนดไว้

ขั้นตอนที่ 2: รายการชิ้นส่วน

ส่วนรายการ
ส่วนรายการ

ชิ้นส่วนที่จำเป็น

  • ไฟ LED แดง เหลือง เขียว น้ำเงิน แบบนี้
  • บอร์ด PCB รายการที่คล้ายกันคุณอาจต้องซื้อบอร์ดที่ใหญ่กว่าและตัดให้ได้ขนาดที่ต้องการ
  • ขาจุ่มซ็อกเก็ตรายการที่คล้ายกัน
  • ชิป Attiny-85
  • ตัวต้านทาน
  • สวิตช์ปุ่มที่ใช้: 12x12x8mm และ 6x6x6mm PCB Momentary Tactile Push Buttons

ที่แนะนำ:

  • ออด 5v ชนิดใช้งานอยู่
  • ไอติมแท่ง
  • แถบเฮดเดอร์พิน 2.54 มม.
  • 30 ga wire and wire-wrap tool https://www.ebay.com/itm/351798901037 the above link is to wire that is more 36 ga. ฉันหวังว่าฉันจะรู้ข้อตกลงดังกล่าวสำหรับ 30 ga จริง ลวด

ขั้นตอนที่ 3: ไฮไลท์การก่อสร้าง

ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง
ไฮไลท์การก่อสร้าง

บนกระดานหลัก ฉันมีระบบไฟฟ้าเหมือนกับโครงการบันได LED รุ่นก่อนๆ ซึ่งคุณอาจต้องการอ้างอิงสำหรับทิศทางการก่อสร้างพื้นฐานเพิ่มเติม

อย่างไรก็ตาม ฉันไม่ได้ใช้ตัวต้านทานแบบดึงขึ้นภายนอกบนอินพุตแบบอะนาล็อก A2 (PB4) ฉันยังใช้ไฟ LED สีแดง สีเหลือง สีเขียว และสีน้ำเงินแทนสีเดียว ซึ่งเป็นที่ต้องการสำหรับบางเกมที่ฉันสร้างสำหรับฮาร์ดแวร์นี้.

นี่คือการกำหนด I/O ตามที่คาดไว้ในแบบร่างซอฟต์แวร์ที่แนบมา:

โครงการ MCU AT-85 Uno/Nano

ชื่อ ชื่อ พิน# ชื่อ brd --------- ---- ---- --------- สีแดง L1-3 PB3 2 D-11 Yel L4-6 PB0 5 D-8 สีเขียว L7-9 PB1 6 D-9 สีน้ำเงิน L10-11 PB2 7 D-10 Ain PB4/A2 3 A-2 เสียง PB5 1 D-3

ความแตกต่างที่สำคัญอย่างหนึ่งคือฉันมีปุ่มสองปุ่มที่เชื่อมต่อกับ PB4 อันแรกเดินตรงจาก PB4 ลงกราวด์ แต่ไม่มีตัวต้านทานดึงขึ้นภายนอก (ฉันเรียกสิ่งนี้ว่า BTN0) ฉันยังมีสวิตช์ปุ่ม (ซึ่งฉันเรียกว่า BTN1) ที่เชื่อมต่อกับ 75Kohm แบบอนุกรมกับกราวด์ เมนบอร์ดนี้สามารถใช้งานได้โดยไม่ต้องมีบอร์ดประกอบ "ปุ่ม" แต่มีฟังก์ชันการทำงานที่จำกัด

ควรเลือกตัวต้านทานกระแสไฟที่ไปยังชุด LED ตามความสว่างของ LED สีต่างๆ ที่คุณใช้และความสว่างที่คุณต้องการ ฉันลงเอยด้วย 91 โอห์มสำหรับชุดสีแดง 75 สีเหลือง 430 สีเขียวและ 150 โอห์มสำหรับสีน้ำเงิน ค่าเหล่านี้อาจดูต่ำ แต่โปรดจำไว้ว่าไฟ LED เป็นแบบมัลติเพล็กซ์ (โดยทั่วไปแล้ว < 100% ของเวลา)

ฉันใช้ไฟ LED 3 มม. และเว้นระยะห่างกันเล็กน้อย ฉันมีขาของ LED คร่อมแท่งไอติม ด้วยวิธีนี้พวกเขาทั้งหมดยืนขึ้นในปริมาณเท่ากันและเหนือองค์ประกอบอื่น ๆ ทั้งหมด ฉันตั้งใจที่จะติดตั้งเครื่องโดยมีเพียง LED ที่ยื่นออกมาในกรอบ

ฉันเลือกที่จะพันสายไฟที่นำการเชื่อมต่อระหว่างกัน หากไม่มีแผงวงจรพิมพ์แบบพิเศษ การทำเช่นนี้ทำได้ง่ายกว่าการบัดกรีในที่คับแคบที่มีจุดเชื่อมต่อจำนวนมาก ไม่มีแนวโน้มที่จะผลิตกางเกงขาสั้นและง่ายต่อการต่อใหม่ในกรณีที่เกิดข้อผิดพลาด ด้วยกระแสทั้งหมดในและรอบ ๆ ไมโครคอนโทรลเลอร์ในสายมิลลิแอมป์ 30 ga ก็เพียงพอแล้ว

ปุ่มและตัวต้านทานที่เกี่ยวข้อง:

ฉันคิดค้นการกำหนดค่าที่ไม่ซ้ำกัน (ประเภท Y สองครั้ง) ของตัวต้านทานและปุ่มต่างๆ เพื่อให้ซอฟต์แวร์สามารถแยกแยะการกดปุ่มแต่ละปุ่มและปุ่มคู่ ฉันลองการกำหนดค่าหลายอย่างด้วยค่าตัวต้านทานจำนวนมากในสเปรดชีตเพื่อค้นหาการกำหนดค่าที่ดีที่สุด จากนั้นจำลองค่าเหล่านี้ในซอฟต์แวร์โดยให้ลองใช้ชุดค่าความต้านทานทั้งหมดที่เป็นไปได้เพื่อค้นหาชุด (ที่ฉันใช้) ซึ่งจะทำให้เกิดความแตกต่างขั้นต่ำสูงสุด ของการอ่านแบบอะนาล็อกระหว่างการกดปุ่มเดี่ยวและสองครั้งทั้งหมด ฉันจัดพวกมันเพื่อให้ 1 Btn4 และ Btn1+4 Btn1+4 แตกต่างกันเป็นพิเศษ

อ้างถึงไดอะแกรมของเครือข่ายปุ่มด้านบน

คุณต้องปิดสายไฟทั้งหมดที่เชื่อมต่อกับ PB4 (และอาจสลับหน้าสัมผัสและตัวต้านทาน) ด้วยเทปไฟฟ้า กาวร้อน หรืออย่างอื่นที่ไม่ดำเนินการเลย เนื่องจากความต้านทานเพียงเมกะโอห์มจะลดความสามารถในการ กำหนดสวิตช์ที่กด; และการติดต่อใด ๆ ที่คุณทำในขณะที่ถือการชุมนุมจะทำอย่างนั้น

Instructables ที่เกี่ยวข้องในภายหลัง:

4-Button-Games-Using-One-Analog-Input/

Dual-Power-for-Your-Portable-ไมโครคอนโทรลเลอร์-Proj/

3D-Printed-Case-for-Inline-LED-Display-Console-and/

ขั้นตอนที่ 4: ตัวเลือกและหมายเหตุเพิ่มเติม

ตัวเลือกเพิ่มเติมและหมายเหตุ
ตัวเลือกเพิ่มเติมและหมายเหตุ

เอาต์พุตเสียงเสริม

เอาต์พุตเสียงเสริมใช้ PB5 ฉันเชื่อมต่อออด 5v แบบอนุกรมกับตัวต้านทาน 150 โอห์มเพื่อจำกัดเอาต์พุตที่น่ารำคาญ ฉันแนะนำให้คุณใช้ 50-200 โอห์ม หนึ่งสามารถขนานออดกับหมวก (2-10 ยูเอฟ) เพื่อทำให้เสียงแหบน้อยลง หรือใช้ไดรเวอร์ 10 มม. ลำโพง 32 โอห์มที่แยกออกมาจากชุดหูฟังสเตอริโอราคาถูก แทนที่จะเป็นตัวต้านทานและออด ฉันชอบมันเพราะเสียงของเกมดีขึ้นเมื่อฉันมี

โดยค่าเริ่มต้น Attiny-85 จะใช้ PB5 เป็นการรีเซ็ต มีประสิทธิภาพหมายถึงเสียงจะทำงานได้ แต่จะไม่ส่งผลร้ายต่อการทำงานอื่นๆ เมื่อใช้ Nano หรือ Uno เสียงจะทำงาน (ออกมาเป็น D3) ในการรับเสียงด้วย Attiny คุณจะต้องเปลี่ยนการกำหนดค่าพินภายในเพื่อให้ซอฟต์แวร์สามารถใช้ PB5 เป็นเอาต์พุตได้ มีการแตกสาขาอย่างมีนัยสำคัญในการทำเช่นนี้ โปรดอ้างอิงถึงสิ่งเหล่านี้:

forum.arduino.cc/index.php?topic=178971.0

www.instructables.com/id/Simple-and-cheap-F…

และ

โดยทั่วไประหว่างการเล่นเกม ความผิดพลาดหรือความล้มเหลวจะทำให้เกิดเสียงร้องเจี๊ยก ๆ หรือเสียงราสเบอร์รี่สั้น ๆ มีเพลงแสดงความยินดีเมื่อคุณผ่านด่านหรือชนะ เช่น ปิงปอง ฉันพบว่าการมีเสียงประกอบช่วยเพิ่มความสนุกสนานในการเล่น

ปุ่มประเภทตัวควบคุมเกมสำรอง

สำหรับลูกๆ ของฉันที่ไม่ค่อยถนัดเรื่องอุปกรณ์ ฉันทำกระดุมแยกที่ทนทาน คือ 1 บาท และ 4 บาท ที่ปลายสายไฟยาว ดูรูปถ่าย ฉันติดตั้งปุ่มต่างๆ ในตัวจับร่อน ด้วยอินไลน์ 75Kohm กับ Btn1 และ a ~ 37Kohm แบบอินไลน์กับ Btn4 ในซีรีย์ที่มี Btn4 ฉันใช้ 36K, 33K หรือแม้แต่ 39K ก็สามารถใช้ได้ เมื่อคำนึงถึงปุ่มลูกสูบภายนอก จะเป็นความคิดที่ดีที่จะมีชุดหมุดส่วนหัวแยกต่างหากสำหรับเชื่อมต่อปุ่มแบบใช้มือถือภายนอกที่มีราคา 1 Btn และ 4 Btn

ต้องการแหล่งจ่ายไฟที่มีคุณภาพ

สำหรับแหล่งพลังงาน คุณสามารถใช้เอาต์พุต USB 5v ของพีซี แท็บเล็ต เครื่องชาร์จติดผนัง ธนาคารพลังงาน หรือแบตเตอรี่ 3.7 Li โดยตรง

ฉันพบว่าเมื่อเปิดเครื่องจากที่ชาร์จ USB บางตัวและ USB power-bank หลายตัวที่ฉันจะสังเกตเห็นการสะบัดและการทำงานที่ผิดพลาดเป็นครั้งคราวและแม้กระทั่งการรีเซ็ต หากคุณประสบปัญหานี้ ให้หาแหล่งพลังงานที่มีการควบคุมที่ดีกว่า มิฉะนั้น การเพิ่มตัวเก็บประจุขนาดใหญ่ (100-1000uf) ข้าม +V ลงกราวด์อาจช่วยได้

การทดสอบ

ฉันได้รวมโปรแกรมทดสอบไว้ด้วยเพื่อช่วยตรวจสอบและแก้ไขข้อบกพร่องของฮาร์ดแวร์ของคุณ รหัสนี้อยู่ในระหว่างดำเนินการ และจำเป็นต้องได้รับการทำความสะอาดอย่างมาก ฉันหวังว่าจะได้รับสิ่งนั้น แต่ในขณะเดียวกันก็ควรตอบสนองความต้องการของคุณ ฉันเพิ่งใช้มันกับ Nano ที่ขับชุดจอแสดงผลและคีย์บอร์ด คุณสามารถใช้ปุ่มใดก็ได้ส่วนใหญ่เพื่อเลือกรายการจากโหมดเมนู หากต้องการออกจากการสาธิต/ทดสอบอีกครั้ง ให้กดปุ่มใดก็ได้ ในการออกจากการทดสอบปุ่ม (#4) ให้กด FncKey+Btn1 หรือกด EscKey (กราวด์ PB4) ค้างไว้ หรือทำการรีไซเคิลพลังงาน

เนื่องจากความแตกต่างในความต้านทานภายในของ MCU และความคลาดเคลื่อนของตัวต้านทาน คุณอาจจำเป็นต้องทำการปรับเปลี่ยนบางอย่างเพื่อให้ตรวจพบการกดปุ่มเดี่ยวและปุ่มคู่ทั้งหมดอย่างถูกต้อง เมื่อต้องการทำสิ่งนี้ให้ใช้ test-4 (เพื่อเลือกตัวเลือกนี้ โปรดดูคำอธิบายการใช้งานเมนูด้านล่าง) ของโปรแกรมทดสอบ โปรดทราบว่าฉันไม่ได้ใช้ตัวต้านทานแบบดึงขึ้นภายนอก เนื่องจากฉันได้วางแผนการใช้งานเพิ่มเติมสำหรับอินพุต PB4 ซึ่งไม่เข้ากันกับการดึงขึ้นใดๆ

ขั้นตอนที่ 5: ภาพรวมซอฟต์แวร์

LadderGames.ino แบบร่างใช้เกมสี่เกมรวมถึงเวอร์ชันสำรองบางเกม

สามารถดาวน์โหลดและรันภาพสเก็ตช์ได้จาก ATtiny-85, Nano, Uno เป็นต้น หากต้องการตั้งโปรแกรมลงในชิป Attiny โปรดดูที่: https://www.instructables.com/id/Program-an-ATtiny… และ/หรือไปยังโปรแกรม ชิป ATtiny-85 ของคุณ:

เปลี่ยนนาฬิกาภายในของ ATtiny85 เป็น 8MHz เนื่องจากต้องการประสิทธิภาพในการเล่นเกม อ้างอิง:

forum.arduino.cc/index.php?topic=276606.0

สเก็ตช์นี้ควรเข้ากันได้ย้อนหลังกับโปรเจ็กต์แลดเดอร์นำ ATtiny-85 รุ่นก่อนหน้าส่วนใหญ่ โดยไม่มีการเปลี่ยนแปลง แต่จะมีฟังก์ชันการทำงานที่จำกัด

การทำงานของเมนู

เมื่อเริ่มต้นจะมีการตรวจสุขภาพในรูปแบบของการกวาดผ่าน LED และเสียงบี๊บ จากนั้นจะเข้าสู่โหมดเมนูหลัก ไฟ LED แต่ละชุดที่มีสีเดียวจะติดสว่างต่อเนื่องกันสองสามวินาที เกมจะถูกเลือกโดยการกดปุ่มในขณะที่ชุดที่เกี่ยวข้องติดสว่าง เกม 1: สีแดง เกม 2: สีเหลือง เกม 3: สีเขียว เกม 4: สีน้ำเงิน ในขณะที่อยู่ในโหมดเมนู Btn2, Btn3, Btn4 Btn สามารถกดเพื่อไปที่เกม 2, 3, 4 ตามลำดับโดยตรง เมื่อเลือกเกมแล้ว คุณจะต้องระบุรูปแบบที่คุณต้องการ สำหรับแต่ละรูปแบบที่มี ชุดไฟ LED สีจะกะพริบ เพียงกดปุ่มที่คุณต้องการ รูปแบบต่างๆ "เวอร์ชัน" สำหรับแต่ละเกมมีการอธิบายเพิ่มเติมด้านล่าง

เวอร์ชั่นหนึ่งในสี่เกมสามารถเล่นได้ด้วยปุ่มเดียว อย่างใดอย่างหนึ่งมีสายระหว่าง PB4 กับกราวด์ (Btn-0) เช่นเดียวกับในคำสั่ง LED แลดเดอร์ก่อนหน้าหรือด้วยสวิตช์ที่เชื่อมต่อโหลด 75k กับกราวด์ (Btn-1) สิ่งเหล่านี้จะทำในเกมเมื่อคำแนะนำพูดถึงการกดปุ่มที่ไม่เฉพาะเจาะจง

หากต้องการออกจากเกมใดๆ คุณสามารถใช้ FncKey+Btn1 ได้ ให้กด EscKey (aka: Btn0) ค้างไว้ 1-2 วินาทีหรือหมุนเวียนพลังงาน

ขั้นตอนที่ 6: เล่นเกม

เกม 1: Push-It

นี่คือการปรับตัวของเกม 'Push-It' ของฉันจากหนึ่งในคำสั่งก่อนหน้าของฉัน

www.instructables.com/id/Play-a-Game-with-a…

เป้าหมายของเกมคือการผลักดันจำนวนการกะพริบตาและจำนวนไฟ LED ที่ติดสว่างให้มากที่สุด Push-It เริ่มต้นด้วยการกะพริบหลายครั้งซึ่งจะทำซ้ำ หากคุณกดปุ่มหลังจากแฟลชชุดสุดท้ายในซีรีส์ และเมื่ออาจมีแฟลชเพิ่มเติม ไฟ LED ถัดไปจะสว่างขึ้นและจำนวนแฟลชจะเพิ่มขึ้นหนึ่งรายการ แต่ถ้าคุณ 'ดัน' ก่อนหรือหลังช่วงเวลาของแฟลชเพิ่มเติมแทน จำนวนแฟลชในชุดจะลดลง

ทุกครั้งที่คุณเพิ่มจำนวนแฟลชได้ ระดับความยากจะเพิ่มขึ้นตามระยะเวลาที่เร็วขึ้นเล็กน้อย ทำให้ยากขึ้นเรื่อยๆ ในการนับจำนวนแฟลชที่สูงขึ้น

จำนวนนับปัจจุบันจะถูกเก็บไว้ในหน่วยความจำ EEPROM เพื่อรีสตาร์ทที่ระดับเดียวกันในภายหลัง

เกม 2: ปิงปอง

เกมการแข่งขันที่ยอดเยี่ยมสำหรับผู้เล่นสองคนในที่นี้ โดยที่ลูกบอล (แสงวูบเดียว) เคลื่อนจากด้านหนึ่งไปอีกด้านหนึ่ง เร็วขึ้นและเร็วขึ้น ทุกครั้งที่ลูกบอลถูก 'ตี' กลับ

ครั้งแรกที่ฉันใช้เกมไฟแถวเดียวนี้บนปุ่มไฟที่แผงด้านหน้าของคอมพิวเตอร์ขนาดเล็กพิเศษด้านอวกาศในปี 1970

ในการตีลูกกลับไปกลับมาต้องตีไม้พายที่เหมาะสม (กดปุ่ม) เมื่ออยู่ในตำแหน่งสิ้นสุด (LED สุดท้าย) ฝ่ายแรกที่พลาดคือแพ้และไฟที่ด้านที่ชนะจะกะพริบ

มีสองรูปแบบ แบบหนึ่งต้องการเพียงปุ่มเดียว (Btn 0 หรือ 1) ซึ่งจะตีลูกที่ปลายด้านใดด้านหนึ่ง และรุ่นที่สองสำหรับสองคนแบบตัวต่อตัวซึ่งต้องใช้สองปุ่ม ปุ่ม 1 ทางด้านซ้ายและปุ่ม 4 หรือ 0 อีกปุ่มหนึ่ง แนะนำให้ใช้ปุ่ม 1 และ 4 เนื่องจากจะไม่รบกวนซึ่งกันและกัน แต่ละอันสามารถตีกลับลูกบอลจากปลายของมันได้ไม่ว่าอีกปุ่มจะอยู่ในสถานะใด

ผู้ชนะของแรลลี่มักจะเป็นเซิร์ฟเวอร์สำหรับครั้งต่อไป

เกม 3: แกลลอรี่การยิง

ยิงเป้าหมายทั้งหมด (ไฟ) ให้ครบระดับ ในแต่ละระดับที่สูงขึ้นการดำเนินการจะเร็วขึ้น

มีสองรุ่น; หนึ่งที่ไซต์ได้รับการแก้ไขและเป้าหมายย้ายและอีกไซต์หนึ่งที่ไซต์ย้ายและเป้าหมายยังคงอยู่ ในแต่ละกรณีการชนกระแทกแสงเป้าหมาย และการพลาดทำให้เป้าหมายปรากฏขึ้น เมื่อเป้าหมายอยู่ในสายตา การมองเห็นจะสว่างขึ้น ไม่เช่นนั้นจะมืดลง

ในเวอร์ชันหนึ่ง การมองเห็นจะเริ่มต้นที่ด้านซ้าย (ล่าง) และสแกนไปทางขวา ในเวอร์ชัน 2 สายตาจะคงที่ตรงกลางขณะที่เป้าหมายเคลื่อนที่ข้ามจากขวาไปซ้าย เมื่อดูโค้ดแล้วจะมีเวอร์ชันที่น่ากลัว 3&4 ที่สามารถเปิดใช้งานได้ แต่คุณเสี่ยงต่อความเป็นอยู่ที่ดีของคุณเอง

เกมที่ 4: JumpMan

แนวคิดก็คือคุณกำลังวิ่งผ่านระดับเกมที่วัตถุต่างๆ มาตามที่คุณต้องกระโดดข้าม ในขณะที่คุณคืบหน้า วัตถุเหล่านั้นจะมาเร็วขึ้น ในเวอร์ชันเกมอื่นยังมีวัตถุเหนือศีรษะที่คุณต้องหลบ

ในเวอร์ชัน 1 มีเพียงวัตถุที่ต้องกระโดดข้ามเท่านั้น ในการกระโดด คุณต้องกดปุ่มเมื่อวัตถุไปถึงเซลล์สุดท้ายทางด้านซ้าย ซึ่งสว่างขึ้นเมื่อสิ่งนี้เกิดขึ้น ในการข้ามวัตถุ 2 ชิ้นขึ้นไปติดต่อกัน คุณต้องกระโดด (กด) ที่วัตถุแรกและกดปุ่มค้างไว้เพื่อที่เหลือ

ในเวอร์ชัน 2 มีการเพิ่มวัตถุเหนือศีรษะ (กะพริบ) สิ่งเหล่านี้ถูกกระโดดโดย 'กระโดดระหว่างเซลล์ก่อนหน้าและปล่อยในขณะที่อยู่ในเซลล์สุดท้าย ค่าโสหุ้ยหนึ่งอันเท่านั้นที่สามารถกะพริบได้ทีละครั้ง ดังนั้นเมื่อผ่านไปแล้ว คุณอาจเห็นอีกอันหนึ่ง (ไม่กะพริบก่อน) เปลือยเปล่ามาที่คุณ จะไม่มีโอเวอร์เฮดต่อเนื่องกัน แต่สามารถอยู่ติดกับวัตถุกระโดด (ประเภทก้อนหิน) ได้ตั้งแต่หนึ่งชิ้นขึ้นไป

ในเกมเวอร์ชัน 3 คุณต้อง ไปที่ ใช้ปุ่มแยกต่างหากสำหรับวัตถุเหนือศีรษะ (Btn- 2, 4 หรือ 0 ตัวเลือกของคุณ); การกระโดดต้องใช้ Btn-1

เมื่อคุณจัดการผ่านสี่วัตถุมากกว่าที่คุณล้มเหลว คุณจะเลื่อนระดับ มีการแสดงความยินดีด้วยภาพและเสียง จากนั้นเริ่มต้นใหม่ด้วยความเร็วที่สูงขึ้น การรับโดยชุดของอ็อบเจ็กต์ที่ต่อเนื่องกันจะนับเป็นหนึ่งออบเจ็กต์เดียว

ฉันแนะนำให้คุณพิมพ์กฎการใช้งานเกี่ยวกับเกมและอ่านซ้ำก่อนที่คุณจะเล่นเกมที่คุณไม่ได้เล่นเมื่อเร็วๆ นี้ มิฉะนั้น คุณอาจจะหงุดหงิดใจ; คิดว่าเกมทำงานไม่ถูกต้องตามความเป็นจริง แต่คุณและเกมมีวิธีและความคาดหวังต่างกัน ตัวฉันเองเคยแอบดูเรื่องนี้มากกว่าสองสามครั้ง

ขั้นตอนที่ 7: อัปเดต เกมเพิ่มเติม

Image
Image

ฉันสร้างเคสคอนโซลที่พิมพ์ 3 มิติเพื่อใช้เป็นจอแสดงผลแลดเดอร์ LED แบบอินไลน์และปุ่มต่างๆ

ฉันได้คิดค้นเกมเพิ่มเติมที่ใช้ฮาร์ดแวร์นี้ ตรวจสอบพวกเขาและสนุก:

เกมใหม่จาก 'ตีตัวตุ่น' เป็น 'ชักเย่อ'

ธ.ค. 2559 ตอนนี้ ที่ส่วนท้ายของลิงก์ด้านบน มีโค้ดเวอร์ชันรวมรวมทั้งหมด 12 เกม

17 ก.พ. 2017: นี่คือชุดเกมล่าสุดสำหรับโปรเจ็กต์นี้ ขณะนี้มี 16 เกม (ร่างด้านล่าง) สิ่งนี้จะทำงานบนการใช้งาน MCU ใด ๆ ที่มีหน่วยความจำโปรแกรมแฟลช 32KBytes แม้ว่าเกมใดเกมหนึ่งถึง 3 หรือ 4 จาก 16 เกมสามารถใส่ลงใน ATtiny ได้ ฉันแนะนำให้ใช้ Nano 3 Arduinos 4 เกมล่าสุดที่เพิ่มเข้ามา ได้แก่ การแข่ง 'Le Mans', 'Spray' การแข่งขันการพ่นสีแบบหัวต่อหัว, การยิงห่วงบาสเก็ตบอล 'PIG', 'BiFunc' เกมตอบคำถามการทำงานแบบไบนารี

ด้วยการเล่นเกมที่มากขึ้นและหลากหลายมากขึ้น การปรับปรุงความสามารถในการเล่นของพวกเขา ความเพลิดเพลินสำหรับผู้เล่นทุกระดับจึงเป็นไปได้ ฉันคิดว่ายังมีช่องว่างให้ปรับปรุงอีกมากในการแข่ง Le Mans ผ่านการออกแบบเลย์เอาต์ของสนามแข่งและจังหวะเวลาของเกม

ฉันได้เขียนกิจกรรม/เกม/ฟังก์ชันเพิ่มเติมอีกประมาณ 10 รายการ ซึ่งบางส่วนฉันหวังว่าจะพร้อมใช้งานในช่วงฤดูใบไม้ร่วงปี 2560

นอกจากนี้ เกมบรรทัดเดียวเหล่านี้สามารถแก้ไขได้สำหรับจอ LCD 2x16 2 บรรทัด โดยมีวัตถุเกมหนึ่งบรรทัดและอีกบรรทัดหนึ่งสำหรับข้อความบางส่วน ฉันได้ทำสิ่งนี้ไปบ้างแล้ว แต่เนื่องจากฉันได้รับการสนับสนุนจากโครงการต่างๆ เท่าที่ฉันเห็น ฉันไม่รู้ว่าเมื่อไหร่หรือฉันจะได้รอบนี้ ดังนั้นหากใครมีแรงจูงใจที่จะปรับใช้และเพิ่มประสิทธิภาพเกมเหล่านี้สำหรับ LCD 2x16 โปรดแบ่งปันกับฉันและคนอื่นๆ

นอกจาก 4 เกมใหม่ที่นี่ใน Menu_16Games.ino ฉันได้แนบโปรเจ็กต์ของฉันและได้สร้างคำแนะนำที่เกี่ยวข้อง: เคสคอนโซลเกม LED แบบอินไลน์และเปิดเครื่องโปรเจ็กต์ MCU แบบพกพาของคุณ

ฉันหวังว่าหลายๆ คนจะใช้เวลาและ.. สนุกกับเกมเหล่านี้

เกมกลุ่ม: 1– แดง 2- เหลือง 3 – เขียว 4 – น้ำเงิน

1 สีแดง PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans สเปรย์ PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

2 ก.ย. 2017: ปรับปรุงความสามารถในการทำงานด้วยปุ่มจอยสติ๊กภายนอกที่มีเสียงดังสกปรก ในเกม head-head (กลุ่ม 2)

13 ธันวาคม 2017: ปรับปรุงการจัดการปุ่มเด้งและการตั้งค่าการวัด แก้ไขปัญหาเล็กน้อย ฉันได้ลองใช้ตัวเก็บประจุบนสายอินพุตแบบแอนะล็อกของปุ่ม แต่เพื่อให้มีประสิทธิภาพ ส่งผลให้การวัดค่าช้าทำให้เกิดการระบุระดับที่ผิดพลาด หรือซอฟต์แวร์รอนานมาก การกระทำของเกมที่รวดเร็วนั้นถูกบุกรุก

เม.ย. 2018: ฉันพบว่า Compressor Couplers ขนาด 5/8" นั้นสร้างรูปร่างที่ยอดเยี่ยมสำหรับปุ่มแบบลูกสูบภายนอก ในขณะที่ลูกๆ ของฉันชอบใช้คู่นี้ ฉันจึงเพิ่มหมุดส่วนหัวเพื่อให้เชื่อมต่อสองปุ่มได้อย่างง่ายดาย (เช่น Btn1 & Btn4).

โปรดทราบว่าฉันสร้างโครงการอื่นเมื่อเดือนตุลาคมที่แล้วซึ่งสร้างขึ้นจากฮาร์ดแวร์ของคำสั่งนี้ มันอยู่ในจิตวิญญาณของฮัลโลวีนและสามารถสนุกสนานได้มากโดยเฉพาะสำหรับเด็ก ๆ คำแนะนำ: อุปกรณ์ที่ได้รับอิทธิพลจากวิญญาณวิญญาณ

แนะนำ: