สารบัญ:

W6: เกมดื่มเหล้าสำหรับคนไม่แน่ใจ: 9 ขั้นตอน
W6: เกมดื่มเหล้าสำหรับคนไม่แน่ใจ: 9 ขั้นตอน

วีดีโอ: W6: เกมดื่มเหล้าสำหรับคนไม่แน่ใจ: 9 ขั้นตอน

วีดีโอ: W6: เกมดื่มเหล้าสำหรับคนไม่แน่ใจ: 9 ขั้นตอน
วีดีโอ: เอาไว้ค่อยคุย - Gliss【Official Visualizer】| BH BrickHouse 2024, พฤศจิกายน
Anonim
Image
Image
ขั้นตอนที่ 0: มีชั้นวาง
ขั้นตอนที่ 0: มีชั้นวาง

ฉันจะเป่านกหวีดด้วยวิสกี้ไหน?

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

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

ด้วยจิตวิญญาณที่จะไม่สูญเสียเสื้อของฉัน และเพื่อให้เกิดอารมณ์ขึ้นเล็กน้อย ฉันได้เปลี่ยนขวดที่มีราคาแพงกว่าส่วนใหญ่ด้วย Jaegermeister, King Cobra และ Strongbow Golden Apple อัญมณีบางส่วนยังคงอยู่แม้ว่า (สำหรับคุณชาวยุโรป Golden Apple ไม่ใช่ Strongbow ที่คุณได้รับที่บ้าน มันเป็นน้ำเชื่อมง่ายๆ ที่ส่งออกเฉพาะในอเมริกาพร้อมกลิ่นอายของแอปเปิ้ลประดิษฐ์ คุณอยากจะลงจอดบน Redbreast ฉันสัญญากับคุณ)

ขั้นตอนที่ 1: ขั้นตอนที่ 0: มีชั้นวาง

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

เรามีคอลเล็กชั่นเหล้าวางโชว์เด่นอยู่แล้ว และนี่คือกลลวงของปาร์ตี้ ฉันก็เลยไปที่นั่น

ขั้นตอนที่ 2: ขั้นตอนที่ 1: รับ Blinkenlights และ Bits ที่รองรับ

ขั้นตอนที่ 1: รับ Blinkenlights และ Bits ที่รองรับ
ขั้นตอนที่ 1: รับ Blinkenlights และ Bits ที่รองรับ

โครงการทั้งหมดนี้หมุนรอบแถบ LED "นีโอพิกเซล" WS2811/WS2812B และตัวควบคุม PixelBlaze LED ของ Ben Hencke คุณจะต้องใช้สิ่งเหล่านั้น พาวเวอร์ซัพพลาย และบิตพิเศษอีกสองสามตัวเพื่อเชื่อมต่อทั้งหมด

รายการซื้อของ: (หมายเหตุ: ไม่มีลิงค์พันธมิตร บางทีฉันควรลองดู รับ $$ นั้นแทน มันคือลิงก์ยิ้ม)

  • แถบ LED ($37) PCB สีขาวหรือ PCB สีดำ
  • ลิงค์พาวเวอร์ซัพพลาย ($24) หมายเหตุ: อันนี้น่าจะเกินความสามารถ มันคือ 15A กระแสไฟที่คุณต้องการจะขึ้นอยู่กับความยาวโดยรวม ดูหมายเหตุในภายหลังเกี่ยวกับข้อควรพิจารณาเกี่ยวกับแหล่งจ่ายไฟ โดยทั่วไปแล้วฉันจะซื้อมากเกินไป เพราะถ้าคุณเคยใช้มันในโครงการอื่น คุณก็จะมีค่าใช้จ่าย
  • คอนโทรลเลอร์ ($29) PixelBlaze เบ็นขายสิ่งเหล่านี้ใน Tindie ฮาร์ดแวร์ไม่คุ้มกับ $30 ซอฟต์แวร์มีมูลค่ามากกว่า 30 เหรียญ
  • ปุ่ม ($11) ลิงก์ เห็นได้ชัดว่าคุณต้องการเพียงหนึ่งในเหล่านี้ ดังนั้นคุณอาจพบว่าถูกกว่าบน Ebay ในปริมาณที่น้อยกว่า
  • ขั้วต่อแถบไฟ LED พิเศษ ($10) ลิงค์
  • อีกทางเลือกหนึ่ง ($8): คุณสามารถซื้อส่วนขยายที่สร้างไว้ล่วงหน้าแทนซึ่งน่าจะสะอาดกว่าและสวยกว่า
  • ลวดบางชนิด เหมาะเป็นตัวนำไฟฟ้า 3 ตัว สำหรับต่อขยายสำหรับคอนโทรลเลอร์
  • ตัวเรือนปุ่ม (พิมพ์ 3 มิติ) 0.50 เหรียญสหรัฐ (หากคุณไม่มีเครื่องพิมพ์ 3 มิติ ให้ทำด้วยตัวเองจากกระดาษแข็งหรือไม้เพื่อเพิ่มเครดิต)

โดยส่วนตัวแล้ว เนื่องจากฉันมีชิ้นส่วนเหล่านี้อยู่แล้ว ฉันจึงใช้เงินไปประมาณ 70 เหรียญในโครงการนี้ ค่าอะไหล่ทั้งหมดอยู่ที่ประมาณ 95 เหรียญ หากคุณยังไม่มีชิ้นส่วนใดๆ อยู่แล้ว $115

คุณสามารถทำสิ่งนี้ได้เล็กน้อยโดย:

  • ใช้ไฟ LED ที่ถูกกว่า (พิกเซลน้อยลง/เมตร) แถบ 5m ที่ถูกที่สุดที่ฉันพบคือ $ 20 ใน Amazon
  • รับ PixelBlaze ลดราคา หรือรอให้ Ben ทำเป็นโอเพนซอร์สและทำฮาร์ดแวร์เอง (แต่ถ้าเขาทำ ก็ทุ่มเงินให้เขาอยู่ดี เฟิร์มแวร์นั้นช่างเหลือเชื่อ)
  • ใช้แหล่งจ่ายไฟเฉพาะขั้นต่ำ โปรเจ็กต์นี้ไม่กินไฟ 75W และคุณสามารถลดความสว่างด้วย PixelBlaze ได้จนกว่าแถบจะใช้งานได้กับแหล่งจ่ายที่ถูกกว่า

หากคุณทำทั้งหมดนั้น กลิ้งซอฟต์แวร์ของคุณเองเพื่อใช้ขนนก ESP8266 หรืออะไรทำนองนั้น ต้นทุน BOM ของฮาร์ดแวร์อาจมีราคาถูกถึง $38 หรือมากกว่านั้น

ขั้นตอนที่ 3: ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม

ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม
ขั้นตอนที่ 2: ขนาดแถบ LED อย่างเหมาะสม

เมื่อมองไปที่แถบยาว 5 เมตรของฉัน ฉันพบว่ามันถูกสร้างขึ้นมาในส่วน.5m ที่บัดกรีเข้าด้วยกัน ด้วยแถบเหล่านี้ คุณสามารถตัดระหว่าง LED สองดวงใดก็ได้ แต่เนื่องจากฉันมักจะหมกมุ่นอยู่กับสิ่งที่โง่เขลา และเนื่องจากชั้นวางของฉันมีความยาวเพียง 1.5 ม. ฉันจึงตัดแจ็กเก็ตซิลิโคนและแยกแถบของฉันออกเป็นทีละ 1.5 ม. โดยทิ้งส่วน.5 ม. สุดท้ายสำหรับโครงการในภายหลัง

ขั้นตอนที่ 4: ขั้นตอนที่ 3: เพิ่มการเชื่อมต่อจัมเปอร์

ขั้นตอนที่ 3: เพิ่มการเชื่อมต่อจัมเปอร์
ขั้นตอนที่ 3: เพิ่มการเชื่อมต่อจัมเปอร์

เนื่องจากชั้นวางของฉันมีขนาด 3x1.5 ม. ฉันจึงต้องเพิ่มลวดระหว่างแถบย่อยของฉัน แน่นอน คุณไม่จำเป็นต้องทำเช่นนี้หากคุณต้องการจุดไฟชั้นวางแบบต่อเนื่องเพียงชั้นเดียว

ในกรณีของฉัน ฉันสร้างส่วนขยาย ~1.5 ฟุตด้วยสายซิลิโคน 20ga สำหรับสายไฟ และ 22ga สำหรับสายข้อมูล ยิ่งมีพลังงานมากเท่าไหร่ก็ยิ่งดีเท่านั้นแม้ว่าจะลดแรงดันไฟลงน้อยกว่าตัวรางก็ตาม

ฉันเพิ่งบัดกรีสิ่งเหล่านี้โดยตรงกับแถบไม่มีตัวเชื่อมต่อ การใช้คอนเนคเตอร์และส่วนขยายแบบจีบจะสวยกว่ามาก

หมายเหตุเกี่ยวกับพลังงาน

แถบ LED อาจเป็นเรื่องยุ่งยากเพราะ LED แต่ละตัวกินกระแสไฟค่อนข้างน้อย หากคุณจ่ายไฟเฉพาะช่วงเริ่มต้นของแถบ แรงดันไฟฟ้าอาจลดลงอย่างมากเมื่อสิ้นสุดแถบจนสีน้ำเงินและสีเขียวไม่มีพื้นที่ว่างเพียงพอที่จะเปิดได้เต็มที่ นำไปสู่ปัญหาความสมดุลของสี นี่เป็นปัญหาส่วนใหญ่เมื่อคุณแสดงเป็นสีขาวทั้งหมด เนื่องจากแต่ละพิกเซลใช้พลังงานสูงสุด (R=100%, G=100%, B=100%) และเนื่องจากสีขาวเป็นที่ที่คุณจะเห็นสีใดๆ ปัญหาความสมดุล ตัวอย่างเช่น หากคุณแสดงเป็นสีน้ำเงินเท่านั้น นั่นคือกำลังสูงสุดเพียง 1/3 และหากสีน้ำเงินที่ปลายแถบนั้นหรี่ลงเล็กน้อย จะไม่สังเกตเห็นได้ชัดเจน

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

ความเป็นไปได้อีกประการหนึ่งในการใช้ PixelBlaze คือการหรี่แถบโดยรวม เนื่องจาก PB รองรับการควบคุมความสว่างของแถบแยกจากภาพเคลื่อนไหวโดยสิ้นเชิง แสงจะไม่ถูกรับรู้เป็นเส้นตรง ดังนั้นเมื่อตัดกำลังครึ่งหนึ่ง คุณจะหรี่แสงได้เพียงเล็กน้อยเท่านั้น ฉันพบว่าเมื่อทดสอบรูปแบบสีขาวล้วน ฉันสามารถขจัดปัญหาความสมดุลของสีได้โดยการลดความสว่างของแถบลงเหลือ 25% ซึ่งลดปริมาณแสงโดยรวมลงเพียงเล็กน้อยเท่านั้น

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

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

ขั้นตอนที่ 5: ขั้นตอนที่ 4: ต่อสายไฟ

ขั้นตอนที่ 4: ต่อสายไฟ
ขั้นตอนที่ 4: ต่อสายไฟ
ขั้นตอนที่ 4: ต่อสายไฟ
ขั้นตอนที่ 4: ต่อสายไฟ

เพาเวอร์แจ็ค

แหล่งจ่ายไฟของฉันมาพร้อมกับแจ็คแบบบาร์เรลขนาด 5.5x2.1 มม. ไปยังอะแดปเตอร์ขั้วต่อสกรูสำหรับแอปพลิเคชันประเภทนี้ สิ่งที่ฉันใช้จริงคืออะแดปเตอร์ที่คล้ายกัน แต่มีการเชื่อมต่อที่รวดเร็วแบบไม่มีสกรูแทนที่จะเป็นขั้วสกรู

โดยทั่วไปแล้ว แถบ LED จะสิ้นสุดลงที่จุดเริ่มต้นและจุดสิ้นสุดด้วยตัวเชื่อมต่อ JST SM แบบ 3 ขาและสายเปลือยสองเส้นเพื่อเพิ่มกำลังแยกกัน เราจะต่อสายไฟสองสายแยกกัน และใช้ตัวเชื่อมต่อ JST SM เพื่อรับข้อมูล และป้อนพลังงาน 5V ไปยังตัวควบคุม

คอนโทรลเลอร์

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

ขั้นตอนที่ 6: ขั้นตอนที่ 5: ต่อปุ่ม

ขั้นตอนที่ 5: ต่อปุ่ม
ขั้นตอนที่ 5: ต่อปุ่ม

ส่วนสุดท้ายของวงจรคือการต่อปุ่มอาร์เคด ฉันใช้พิน ADC เนื่องจากมี GPIO ดิจิทัลเพียงตัวเดียวบนส่วนหัวพินที่สะดวก และไม่มีให้สำหรับรูปแบบผู้ใช้ - ปุ่มบนพินนั้นใช้เพื่อจุดประสงค์พิเศษของรูปแบบแอนิเมชั่นการปั่นจักรยาน

คุณสามารถหนีไปได้โดยไม่ต้องใช้ตัวต้านทานแบบดึงขึ้นภายนอกโดยใช้แผ่นดิจิตัลแผ่นใดอันหนึ่งที่ด้านล่างของบอร์ด แต่ฉันไม่ต้องการบัดกรีโดยตรง ค่าความต้านทานแทบทุกค่าจะใช้งานได้ แต่น่าจะอยู่ที่ >1Kohm และ <0.5Mohm ฉันใช้ pull up 47K เพราะนั่นเป็นตัวต้านทานตัวแรกที่ลอยอยู่ในกล่องของฉันโดยมองหาบ้าน

ขั้นตอนที่ 7: ขั้นตอนที่ 6: สร้างกล่อง

ขั้นตอนที่ 6: สร้างกล่อง
ขั้นตอนที่ 6: สร้างกล่อง
ขั้นตอนที่ 6: สร้างกล่อง
ขั้นตอนที่ 6: สร้างกล่อง

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

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

ขั้นตอนที่ 8: ขั้นตอนที่ 7: ซอฟต์แวร์

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

หมายเหตุ: คุณจะต้องตั้งค่าความยาวแถบในการตั้งค่า ไม่ว่าจะเป็นอะไรก็ตาม สำหรับแถบของฉันที่ความยาวรวม 4.5 เมตร นั่นคือ 270px

รูปแบบการทำงาน

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

สถานะ 1 จำกัดตัวเลือกให้แคบลงเหลือ 5 พิกเซลและตั้งค่าความเร็วให้เร็วขึ้นมาก ระหว่างการเปลี่ยนสถานะ 0>1 การหน่วงเวลาแบบสุ่มจะถูกตั้งค่าระหว่าง 3 ถึง 7 วินาที สถานะ 1 จะคงอยู่สำหรับการดีเลย์แบบสุ่ม จากนั้นจะเปลี่ยนเป็นสถานะ 2

สถานะ 2 เหมือนกับ 1 แต่สลายความเร็วแบบทวีคูณและคงอยู่เพียง 2 วินาที ก่อนเปลี่ยนเป็นสถานะ 3

สถานะ 3 กำหนดความกว้างของตัวเลือกให้แคบลงเพื่อกำหนดขวดเดียวให้ชัดเจน เปลี่ยนสีเป็นสีเขียวเพื่อระบุตัวเลือกสุดท้าย และยังคงโฟกัสที่ตำแหน่งเดิมเป็นเวลา 15 วินาที ในขณะที่ผู้เล่นที่เมาเหล้าจะครุ่นคิดว่าจริง ๆ แล้วต้องดื่ม 40 ขวดหรือไม่ เหล้ามอลต์ ถึงจุดนั้น หากตัวเลือกตกลงระหว่างขวดสองขวดอย่างแน่นหนาจนการเลือกไม่ชัดเจน ผู้เล่นสามารถแตะปุ่มอีกครั้งเพื่อสุ่มเลื่อนไปข้างหน้าหรือข้างหลัง LED สองสามดวงเพื่อชี้แจงตำแหน่งสุดท้าย อนุญาตให้แตะเพียงครั้งเดียว หลังจาก 15 วินาที รูปแบบจะย้ายกลับไปที่สถานะ 0 เพื่อรอการหมุนครั้งต่อไป

ขั้นตอนที่ 9: ขั้นตอนที่ 8: เล่น

  1. เข้าใกล้ปุ่ม
  2. ปลดปล่อยความคิดใดๆ เกี่ยวกับผลที่จะตามมาจากการกดปุ่ม
  3. กดปุ่ม
  4. รออย่างใจจดใจจ่อ
  5. พิจารณาด้วยความเข้าใจ สก๊อตชั้นบนสุดและ Goldschlager ที่คุณเพิ่งไปถึง
  6. กดปุ่มอีกครั้งเพื่อชี้แจงว่าโชคชะตาขวดใดอยากให้คุณลองชิม โชคชะตาไม่ควรเล่นหรือควบคุม
  7. ชมความสยองเมื่อแสงสีเขียวเคลื่อนตัวอย่างมั่นคงหลัง Goldschlager
  8. แตะปุ่มอย่างบ้าคลั่งหวังจะบีบตัวเลือกอีกสักหน่อย
  9. ยอมจำนนต่อชะตากรรมของคุณและปล่อยให้คู่หูของคุณดื่มยาพิษที่ส่องแสงระยิบระยับอย่างมีความสุข

แนะนำ: