สารบัญ:
วีดีโอ: Tap Tap Rainbow - เกมตอบสนองอย่างรวดเร็วสำหรับผู้เล่น 2 คน: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
สายไฟ LED ใช้เพียง 3 สาย ดังนั้นฉันต้องการไฟ 5V (สีแดง) กราวด์ (สีขาว) และสัญญาณ (สีเขียว) เท่านั้น หากคุณใช้ Espruino อย่าลืมตรวจสอบบทแนะนำบนเว็บไซต์ของพวกเขา หนึ่งสำหรับไฟ LED RGB มีการอธิบายอย่างชัดเจนมาก
ฉันได้ตัดสาย LED ออกเป็น 3 ส่วนจาก 6 LEDs แล้วเชื่อมต่อเข้าด้วยกันด้วยสายพิเศษ ด้วยวิธีนี้ ไฟ LED ทั้งหมดใช้อาร์เรย์เดียวกัน ซึ่งช่วยฉันประหยัดพอร์ตพิเศษ 2 พอร์ตบนบอร์ดและตั้งโปรแกรมได้ง่ายขึ้น
การเชื่อมต่อปุ่มทำได้ยากขึ้นเล็กน้อย ฉันต้องการใช้พอร์ตบนบอร์ดให้น้อยที่สุด ดังนั้นฉันจึงคิดว่าจะใช้การตั้งค่า I2C แต่ล้มเหลวอย่างมาก ฉันไม่สามารถทำงานได้ ดังนั้นฉันจึงดูแลอย่างอื่น
ในที่สุดฉันก็พบบทช่วยสอนเกี่ยวกับ Espruino สำหรับปุ่มกดซึ่งมีสายเป็นเมทริกซ์ปุ่มกดพร้อมปุ่ม 16 ปุ่ม สิ่งนี้ดูค่อนข้างง่ายในการใช้งานดังนั้นฉันจึงไปทางนั้น ฉันต้องการเพียง 12 ปุ่มเท่านั้น ดังนั้นฉันต้องการเมทริกซ์ 3x4
ในเมทริกซ์ปุ่มกด ปุ่มทั้งหมดถูกต่อเข้ากับคอลัมน์และแถว วิธีนี้คุณต้องการเพียง 8 พอร์ตสำหรับ 16 ปุ่มเท่านั้น ในการตั้งค่าของฉัน ฉันต้องการเพียง 2 คูณ 6 ปุ่มเท่านั้น ดังนั้นนั่นคือทั้งหมด 7 พอร์ตบนบอร์ด (4 แถว 3 คอลัมน์) มันยังน้อยกว่ามากเมื่อเชื่อมต่อปุ่ม 12 ปุ่มแยกกัน และโมดูลปุ่มกดของ Espruino นั้นใช้งานง่ายมาก
ฉันพบบทช่วยสอนที่ดีเกี่ยวกับปุ่มกดเกี่ยวกับพื้นฐานวงจรที่ช่วยฉันได้มากในการเดินสายของปุ่มต่างๆ
เมื่อฉันสามารถเชื่อมต่อปุ่มทั้งหมดของฉันได้ ฉันหงุดหงิดมากเพราะตัวเชื่อมต่อหลุดตลอดเวลาและมันเริ่มช้า เลยเอาทุกอย่างมาแปะไว้บนกล่องแล้วลืมถ่ายรูปไปเลย ยังไม่เป็นมิตรกับผู้ใช้มากนักในวันที่ฉันต้องเชื่อมต่อสายใหม่ในกล่องเดียว
ขั้นตอนที่ 3: การเขียนโค้ด
Espruino ถูกตั้งโปรแกรมใน Javascript ดังนั้นสำหรับฉันแล้วมันซับซ้อนน้อยกว่ามากเมื่อเขียนโค้ดสำหรับ Arduino
รหัสสามารถใช้การเพิ่มประสิทธิภาพบางอย่างได้ แต่ตอนนี้ใช้งานได้ นอกจากนี้ยังมีข้อบกพร่อง (อาจเป็นคุณลักษณะ:D) ซึ่งคุณไม่สามารถกดปุ่ม 2 ปุ่มพร้อมกันได้ แต่มันทำให้การเล่นเกมมีความท้าทายมากขึ้น (อ่านแล้วหงุดหงิด) ดังนั้นฉันจึงยังไม่ได้ตรวจสอบปัญหา ฉันชอบวิธีนี้
การเขียนโปรแกรม LED นั้นค่อนข้างง่าย LED ทุกดวงในสตริงมี 3 ค่าในอาร์เรย์ ดังนั้นหากคุณมีอาร์เรย์เช่น [255, 0, 0, 255, 0, 0] แสดงว่าคุณมีไฟ LED 2 ดวงแรกเป็นสีแดง
ในภาพรวมอย่างรวดเร็ว
1. ขั้นแรก ฉันกำหนดสีของฉันและสร้างอาร์เรย์ของสีทั้งหมด
2. จากนั้นฉันกำหนดการตั้งค่าเครื่องเล่น เช่น รหัสปุ่มและดัชนีที่ผู้เล่นแต่ละคนมีในสตริง LED
3. เมื่อเริ่มเกม ฉันสลับสีทั้งหมดในอาร์เรย์สีรุ้งและจัดเก็บข้อมูลนั้นไว้ในอาร์เรย์ใหม่ จากนั้นฉันก็รีเซ็ต LED ทั้งหมดและเปิดไฟ LED ด้านบนด้วยสีรุ้งที่สับเปลี่ยน
4. ในที่สุด เราก็มีโค้ดที่คอยฟังเหตุการณ์สำคัญ ฉันเก็บอินพุตทั้งหมดไว้ในอาร์เรย์และตรวจสอบว่าอาร์เรย์นี้อยู่ในลำดับที่ถูกต้องหรือไม่
5. ความพิเศษที่ฉันเพิ่มเมื่อวานนี้คือผู้ชนะจะได้รับแอนิเมชั่นสายรุ้งที่ยอดเยี่ยม: D
ยังมีอีกหลายสิ่งที่ฉันคิดเพื่อให้มันสนุกมากขึ้น แต่นั่นก็เป็นเรื่องสำหรับภายหลัง;)
ฉันไม่สามารถอัปโหลดซอร์สโค้ดแบบเต็มได้ ดังนั้นฉันจึงวางไว้บน Gitlab
gitlab.com/marzsman/tap_tap_rainbow
ขั้นตอนที่ 4: ขอให้สนุกกับมัน !!! ?
ตอนที่ฉันกับลูกสาวเขียนไอเดียของเธอและคิดว่าควรเป็นอย่างไร ฉันก็ชอบไอเดียนั้นทันที แต่ฉันต้องบอกว่าฉันไม่เคยคิดว่ามันจะสนุกมากที่จะเล่น เรามีการต่อสู้ปาดสายรุ้งครั้งใหญ่แล้ว:D
ฉันหวังว่าทุกคนจะสนุกกับมันมากที่สุดเท่าที่เรามี
นอกจากนี้ยังเป็นโครงการเต็มรูปแบบครั้งแรกที่ฉันทำในระยะเวลาอันสั้นและเป็นสิ่งที่ทำกับลูกสาววัย 8 ขวบของฉัน และยังเป็นโครงการแรกที่ฉันได้สอน (ในที่สุด!) ใช่แล้ว มันเป็นโครงการที่พิเศษมากสำหรับฉัน ดังนั้นฉันหวังว่าจะชอบมัน!
หากคุณมีคำถามหรือข้อเสนอแนะใด ๆ เรายินดีที่จะรับฟัง!
แนะนำ:
Rainbow Dice: 6 ขั้นตอน (พร้อมรูปภาพ)
Rainbow Dice: ทำให้กล่องเกมลูกเต๋ามี 5 ชิ้นที่สร้างขึ้นจากไฟ LED smd ใน 5 สี ซอฟต์แวร์ขับเคลื่อนช่วยให้มีโหมดเกมที่แตกต่างกันโดยมีลูกเต๋าหลายลูก สวิตช์หลักหนึ่งตัวช่วยให้สามารถเลือกเกมและทอยลูกเต๋าได้ สวิตช์แต่ละตัวที่อยู่ถัดจากแต่ละ
BrickPi - Rainbow Unicorn: 15 ขั้นตอน (พร้อมรูปภาพ)
BrickPi - Rainbow Unicorn: เข้าสู่ช่วงการสอนของ Covid และ Shelter-in-Place และไม่มีค่ายฤดูร้อน (ส่วนที่ดีที่สุดของปีการสอน!) ฉันมี Lego "Club" วันศุกร์ โดยส่วนใหญ่เป็นเด็กชายอายุ 8-10 ปี เนื่องจากสโมสรนี้เกิดขึ้นในช่วงหลังเลิกเรียน หลังจากที่เด็กๆ เหล่านี้เคยอยู่ในส
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
เพิ่มพลังให้เปียโน Tap-A-Tune ของคุณ: 9 ขั้นตอน (พร้อมรูปภาพ)
เพิ่มพลังให้เปียโน Tap-A-Tune ของคุณ: สร้างเพลงพังค์ทดลองและเอฟเฟกต์เสียงหนังสยองขวัญด้วยโปรเจ็กต์นี้ที่ได้รับแรงบันดาลใจจาก "กีตาร์กล่องซิการ์ไฟฟ้า" ของ Randofo สอนได้และ EvanKale's "Electric Ukelele with Tone Control” สอนได้ เปียโน tap-a-tune คือ
Yaesu FT-450D RF Tap Modification สำหรับ SDR: 8 ขั้นตอน (พร้อมรูปภาพ)
Yaesu FT-450D RF Tap Modification สำหรับ SDR: สวัสดีทุกคนที่อาจสนใจ ฉันคิดว่าฉันควรอธิบายก่อนว่าคำแนะนำนี้เกี่ยวกับอะไร มีองค์ประกอบหลักที่เกี่ยวข้องกับโครงการนี้ดังนี้: Yaesu FT-450D เป็นเครื่องรับส่งสัญญาณ HF/50MHz ขนาดกะทัดรัดที่ทันสมัย สามารถเ