สารบัญ:
วีดีโอ: อัปเกรดกล่องของขวัญวอดก้าของคุณ: 7 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในคำแนะนำนี้ฉันจะแสดงวิธีที่ฉันอัพเกรดกล่องของขวัญวอดก้าโดยเพิ่มไฟ LED rgb เข้าไป มีโหมดการทำงานสามโหมด: สีคงที่ สีที่หมุนได้ และโหมดเกม ในโหมดเกม อุปกรณ์จะสุ่มหยิบขวดหนึ่งขวดแล้วฉายแสงที่อยู่ข้างใต้ แนะนำให้ผู้เล่นยิง โหมดทั้งหมดถูกนำเสนอในวิดีโอ
ไฟ LED ที่ฉันใช้ถูกนำมาจากแถบนำตามโมดูล LED WS2812B เหมาะอย่างยิ่งเนื่องจากช่วยให้คุณสามารถควบคุมสีของ LED แต่ละดวงแยกจากกัน และคุณสามารถเชื่อมโยงเข้าด้วยกันได้มากเท่าที่คุณต้องการ ดังนั้นคุณจึงต้องใช้พินดิจิทัลเพียงอันเดียวเพื่อควบคุม นอกจากนี้ยังเข้ากันได้กับห้องสมุด Adafruits NeoPixel ดังนั้นคุณจึงสามารถเริ่มต้นได้อย่างง่ายดาย
ฉันใช้ Attiny84 เพื่อควบคุม LED และตอบสนองต่อการกดปุ่ม อันดับแรก ฉันทดสอบทุกอย่างด้วย Arduino ปกติ แต่มันไม่พอดีกับเคส ดังนั้นการใช้ชิปแบบสแตนด์อโลนคือคำตอบ
ฉันใช้เทปใสติดชิ้นส่วนต่างๆ เข้ากับเคส เนื่องจากฉันไม่มีปืนกาวร้อน และฉันต้องการทำโปรเจ็กต์นี้ให้เสร็จในเร็วๆ นี้ คุณสามารถใช้วิธีการแนบที่คุณต้องการได้อย่างแน่นอน
ขั้นตอนที่ 1: เตรียมเคส
เริ่มต้นด้วยการเปิดบรรจุภัณฑ์และนำขวดออก พยายามต่อสู้กับความอยากดื่มในขณะที่คุณทำงาน ฉันใช้ช่างหนังทำรูสำหรับไฟ LED ที่ด้านล่างของเคส แต่คุณสามารถใช้เครื่องมือใดก็ได้ตามต้องการ
ขั้นตอนที่ 2: ติดตั้ง LEDs
ในการติดตั้ง LED ฉันต้องปรับเปลี่ยนแถบ LED เล็กน้อย ดังจะเห็นได้จากภาพ ระยะห่างของ LED นั้นไม่ตรงกับขวดใดขวดหนึ่ง ซึ่งสามารถแก้ไขได้โดยการตัดแถบ LED เป็นชิ้นเดียวแล้วบัดกรีด้วยลวด โปรดใช้ความระมัดระวังในการบัดกรี LED ให้ถูกวิธี เพื่อให้เอาท์พุตของ LED ก่อนหน้าไปยังอินพุตของ LED ถัดไป หลังจากเชื่อมโยงกลับเข้าด้วยกันแล้ว จะสามารถติดตั้งเข้ากับเคสได้ ฉันยึดมันไว้ด้วยเทปกาว ฉันยังงอปลายแถบเพื่อให้เข้าถึงแรงดันไฟฟ้า ข้อมูล และแผ่นกราวด์ได้ง่าย
ขั้นตอนที่ 3: ปุ่ม
เพื่อควบคุมโหมดแสงของไฟ LED ระหว่างแบบคงที่ การเปลี่ยนแปลง และการเล่นเกม ฉันได้ติดตั้งรางปุ่มใต้เคสใต้ขวด วิธีนี้เมื่อคุณกดขวดตรงกลางลง ปุ่มจะเปิดใช้งานและคุณสามารถดำเนินการกับขวดได้ ฉันโชคดีที่มีปุ่มที่ติดรางด้านล่างพอดีเพื่อที่จะกดลงเมื่อกดขวดลง แต่ไม่ได้กดลงภายใต้น้ำหนักของขวด
ขั้นตอนที่ 4: Attiny84
เพื่อควบคุมไฟ LED และตอบสนองต่อการทำงานของปุ่ม ฉันใช้ไมโครคอนโทรลเลอร์ attiny84 ฉันสามารถใช้ attiny85 ได้เช่นกัน เนื่องจากฉันต้องการเพียงหมุดดิจิทัลสองตัวเพื่อใช้งานไฟ LED และปุ่ม แต่ฉันไม่มีที่วาง ฉันบัดกรีชิปบนชิ้นส่วนของโปรโตบอร์ดทองแดงจุดแล้วต่อสายไฟทั้งหมดและตัวต้านทานแบบดึงลงของปุ่มตามแผนภาพการเดินสาย ฉันต้องการทำให้โปรแกรมสามารถตั้งโปรแกรมได้บนบอร์ด ดังนั้นฉันจึงบัดกรีหมุดกระพริบของ ISP ไปที่ส่วนหัว 2X3 จากนั้นฉันก็ตั้งโปรแกรมชิปด้วย Arduino ตามคำแนะนำเหล่านี้
ขั้นตอนที่ 5: พลัง
ในการจ่ายไฟให้กับส่วนประกอบทั้งหมดภายใน ฉันใช้สาย USB ปกติ เนื่องจาก USB จ่ายไฟได้ 5 โวลต์และส่วนประกอบทั้งหมดของฉันทำงานที่แรงดันไฟฟ้านั้น จึงไม่จำเป็นต้องมีตัวควบคุมใดๆ ฉันทำรูเล็กๆ ที่ส่วนท้ายของอุปกรณ์และส่งผ่านสาย USB ไปตามราง สายกราวด์และสายแรงดันไฟของสายเคเบิลสามารถบัดกรีเข้ากับเส้นที่เกี่ยวข้องของแถบไฟ LED เพื่อลดการเดินสายส่วนเกินภายในเคส
ขั้นตอนที่ 6: รหัส
ในการควบคุมไฟ LED ฉันใช้ไลบรารี Adafruits NeoPixel ได้จากที่นี่
ฉันต้องการเปลี่ยนการทำงานของอุปกรณ์ระหว่างสีคงที่และสีที่หมุนได้ ฉันยังต้องการเพิ่มโหมดเกมที่จะสุ่มหยิบขวดหนึ่งขวดและกะพริบไฟ LED ข้างใต้ เพื่อให้บรรลุสิ่งนี้ ฉันสร้างโค้ดเพื่อตอบสนองต่อการกดปุ่มทั้งสั้นและยาว การกดค้างจะเปลี่ยนโหมด และการกดสั้นๆ จะเป็นการเปิดใช้งานลอตเตอรีในโหมดเกม ฉันวางโค้ดด้านล่างเพื่อให้คุณสามารถคัดลอกโดยตรงไปยังโปรแกรมแก้ไขของคุณ หรือคุณสามารถดาวน์โหลดไฟล์ที่แนบมาได้
#รวม
#define LEDPIN 0 // พินเอาต์พุตดิจิทัลเพื่อควบคุมไฟ LED ของคุณ #define BUTTON 1 // ปักหมุดเพื่อต่อปุ่มเพื่อ #define PIXELCOUNT 5 // จำนวนไฟ LED ในแถบของคุณ float p = 0; // เฟสสำหรับโหมดการหมุน int maxpow = 100; //กำลังสูงสุดสำหรับโหมดการหมุน ระหว่าง 0 ถึง 225 int mode=0; // โหมดใดที่ไฟ LED อยู่ 0: สีคงที่, 1: หมุนสี, 2: บูลโหมดเกมผลัก = เท็จ; //ติดตามการกดไปยัง int pushCount=0; //cuonter เพื่อนับความยาวของการกดเพื่อกำหนดระหว่างการกดแบบสั้นและแบบยาว uint32_t red = 0xff0000; // สีแดงสำหรับการสุ่มกระพริบ // สีสำหรับโหมดคงที่: สีฟ้า, สีเหลือง, สีแดง, สีเขียว, สีม่วง uint32_t สี[5]={0x00ff00, 0xffff00, 0xff0000, 0x00ff00, 0xff00ff}; Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel(PIXELCOUNT, LEDPIN, NEO_GRB + NEO_KHZ800); การตั้งค่าเป็นโมฆะ () { pinMode (ปุ่ม, อินพุต); พิกเซล.begin(); } // ทำหน้าที่สุ่มเลือกขวด/ถ้วยหนึ่งขวด และกะพริบไฟ led ข้างใต้เป็นโมฆะ หมุน (){ randomSeed(มิลลิวินาที()); ถ้วย int = สุ่ม(5); // การเลือกถ้วยสุ่ม // แอนิเมชั่นสุดเจ๋งที่ไฟ LED ถูกเลื่อนรางเพื่อสร้างเอฟเฟกต์แบบสุ่มสำหรับ (int i = 1; i<100+cup; i++){ for(int j=0;j
0){
ผลัก=จริง; ถ้า(โหมด<=1) switchMode(); } pushCount=0; // การดำเนินการตามสวิตช์โหมดปัจจุบัน (โหมด) { case 0: // โหมดคงที่, สีคงที่สำหรับแต่ละ led สำหรับ (int i=0;i
ขั้นตอนที่ 7: บทสรุป
การเพิ่มไฟ LED ทำให้เป็นของขวัญที่ไม่เหมือนใครและทำให้เป็นองค์ประกอบการตกแต่งที่หรูหรา และโหมดเกมก็เหมาะสำหรับงานปาร์ตี้ และเมื่อขวดเปล่าหมด ก็สามารถแทนที่ด้วยแก้วช็อตที่มีขนาดเท่ากันได้
ในความเห็นของฉันเอง ผลลัพธ์ออกมาค่อนข้างดี และโหมดเกมค่อนข้างสนุกและออกผล ฉันคิดว่าจะทำให้แจ็คพอตหล่นทุกครั้งโดยที่มันจะกะพริบทุกจุดในคราวเดียว แต่เพื่อนของฉันบอกว่ามันโหดร้ายเกินไปและพวกเขาอาจจะพูดถูก
แน่นอนว่าการอัปเกรดหรือแฮ็กนี้สามารถนำไปใช้กับภาชนะใส่ขวดประเภทอื่นๆ ได้ ฉันคิดว่าการติดตั้งไฟ LED บนชั้นวางใต้ขวดที่ใหญ่กว่าคงจะดีไม่น้อย เพื่อทำให้องค์ประกอบการตกแต่งบ้านเย็นยิ่งขึ้น