สารบัญ:

Infinity Cube "ง่าย": 14 ขั้นตอน (พร้อมรูปภาพ)
Infinity Cube "ง่าย": 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Infinity Cube "ง่าย": 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Infinity Cube
วีดีโอ: เจอรูบิคเเล้วจ้าาา (2/2))#Shorts 2024, กรกฎาคม
Anonim
Image
Image
ภาพ
ภาพ
ภาพ
ภาพ

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

ขั้นตอนที่ 1: วัสดุ / เครื่องมือ

วัสดุ:

  • 1เมตรws2812b 144LED/m IP30 $8.69
  • ไมโครคอนโทรลเลอร์ (Arduino) $2.58
  • 6 ลูกแก้วสี่เหลี่ยม (91*91*3mm)
  • ฟิล์มกระจก $2.19 (สินค้ามาในคุณภาพไม่ดี ฉันไม่สามารถแนะนำให้สั่งซื้อกับ Ali)
  • ลวด (เพื่อเชื่อมต่อชิ้นแถบ LED) $1.61
  • กรอบพิมพ์ 3 มิติ
  • น้ำสบู่ (นี่เป็นวัสดุด้วยเหรอ?)
  • แหล่งจ่ายไฟ 5V $4.86 (10 A ถ้าคุณต้องการให้ LEDs ทั้งหมดเป็นสีขาว แต่ 5A น่าจะใช้ได้ในกรณีส่วนใหญ่)

เครื่องมือ:

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

ขั้นตอนที่ 2: The Frame

กรอบ
กรอบ
กรอบ
กรอบ
กรอบ
กรอบ
กรอบ
กรอบ

นี่เป็นส่วนที่สำคัญที่สุดของโครงการนี้ ชิ้นส่วนถูกพิมพ์ที่มุมใดมุมหนึ่ง ดังนั้นจึงมีความแตกต่างน้อยกว่าในเส้นเลเยอร์ และเนื่องจาก "ตามหลักวิชา" ไม่จำเป็นต้องมีการสนับสนุนเมื่อพิมพ์ในทิศทางนี้ อย่างไรก็ตาม หลังจากการพิมพ์นี้ล้มเหลว เมื่อฉันตัดสินใจเพิ่มการรองรับ ตัวรองรับถูกวาดในโมเดลจริง ๆ เนื่องจากตัวแบ่งส่วนข้อมูลไม่สามารถสร้างได้อย่างมีประสิทธิภาพสำหรับโมเดลเช่นนี้ ("v3 v11.stl" มีการรองรับ v3 v12.stl ไม่รองรับ)

เนื่องจากการวางแนว จำเป็นต้องใช้พื้นที่ 180*160*180 เพื่อพิมพ์ลูกบาศก์ 114*114*114 ฉันใช้เวลาพิมพ์ 10 ชั่วโมงและต้องใช้เส้นใยประมาณ 65 กรัมสำหรับโมเดล

ขั้นตอนที่ 3: การเดินสายไฟ LED

สายไฟ LED
สายไฟ LED
สายไฟ LED
สายไฟ LED

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

5 สายไฟผ่านรูเข้าไปในลูกบาศก์ 5V และ GND สองคู่ คู่หนึ่งจ่ายไฟให้กับจุดเริ่มต้นของแถบ LED (ที่ชั้นล่าง) และอีกคู่หนึ่งสำหรับจ่ายไฟที่ส่วนท้าย (ที่ชั้นบนสุด) นี่ไม่ใช่แค่การจ่ายไฟให้กับแถบที่ปลายทั้งสองข้างเท่านั้น แต่จำเป็นจริงๆ เพื่อลดความจำเป็นในการเชื่อมประสานที่ซับซ้อนมากขึ้น อีกเส้นหนึ่งที่เข้าไปคือสาย Data ซึ่งเป็นเส้นที่ส่งข้อมูลไปยัง LED ทั้งหมดเพื่อระบุสีของพวกมัน

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

ในภาพสเก็ตช์ คุณจะเห็นว่ามีสามส่วน คือ สี่เหลี่ยมตรงกลาง สี่เหลี่ยมด้านนอก และ 4 ส่วนตรงกลางที่อยู่ระหว่างสี่เหลี่ยมทั้งสอง ชิ้นกลาง 4 ชิ้นรับ 5V จากจัตุรัสด้านนอกและ GND จากจัตุรัสกลาง

โปรดทราบว่าสายไฟที่จ่ายไฟให้กับสี่เหลี่ยมด้านนอกจะเข้ามาที่ชั้นล่างและลอดผ่านกรอบ (ด้านหลังส่วนหนึ่งของแถบ LED) ไปยังชั้นบนสุด

ขั้นตอนที่ 4: การบัดกรี ขั้นตอนที่ 1

บัดกรีขั้นตอน 1
บัดกรีขั้นตอน 1
บัดกรีขั้นตอนที่1
บัดกรีขั้นตอนที่1

ฉันจะแบ่งส่วนนี้เป็นขั้นตอนย่อยเพื่ออธิบายทุกอย่างให้ดีขึ้น ฉันกำหนดหมายเลขชิ้นส่วนของแถบ LED ในภาพด้านบนเพื่ออธิบายทุกอย่างให้ดีขึ้น

นี่คือวิธีที่ฉันทำ หากคุณมีวิธีที่ดีกว่า ก็แค่ใช้วิธีของคุณเอง

ตรวจสอบให้แน่ใจว่าได้ใส่ใจกับทิศทางของชิ้นส่วนแถบ LED! การวางชิ้นที่ไม่ถูกต้องอาจทำให้คุณมีปัญหาได้มาก

ขั้นตอนที่ 1: เนื่องจากเราต้องการส่วนของ LED 12 ดวง คุณควรเริ่มต้นด้วยการตัดแถบ LED เป็น 12 ชิ้นจาก 12 LEDs ต่ออัน ถัดไป ต่อสายไฟ 3 เส้นเข้ากับส่วนที่ 1 ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อเข้ากับด้าน Din แล้ว เพิ่มสายไฟอีก 2 เส้นเพื่อเชื่อมต่อกับ V5 และ GND ในส่วนที่ 12 ที่ด้าน Dout สายไฟสำหรับด้านนี้ต้องยาวอย่างน้อย 12 ซม. เนื่องจากต้องวิ่งผ่านเฟรม สายไฟไม่จำเป็นต้องบัดกรีเป็นชิ้นส่วน 12 ยัง. เรียกใช้สายไฟทั้งหมด 5 เส้นที่เชื่อมต่อชิ้นส่วนเหล่านี้ผ่านรู จากนั้นแกะฝาเทปกาวออกแล้วติดส่วนที่ 1 เข้ากับเฟรม ไม่ต้องกังวล เทปติดไม่ค่อยดี ชิ้นส่วนต่างๆ จะติดด้วยกาวในภายหลัง

ขั้นตอนที่ 5: บัดกรีขั้นตอนที่2

การบัดกรีขั้นตอนที่2
การบัดกรีขั้นตอนที่2
การบัดกรีขั้นตอนที่2
การบัดกรีขั้นตอนที่2
การบัดกรีขั้นตอนที่2
การบัดกรีขั้นตอนที่2

ตรวจสอบให้แน่ใจว่าได้ใส่ใจกับทิศทางของชิ้นแถบ LED! การวางชิ้นที่ไม่ถูกต้องอาจทำให้คุณมีปัญหาได้มาก

ขั้นตอนที่ 2: ตอนนี้จะเพิ่มส่วนที่ 2-3 แล้วกระบวนการเดียวกันสามารถทำซ้ำได้สำหรับ 4, 5 และ 6, 7 ขั้นแรกต้องบัดกรีลวดไปที่ Din ของส่วนที่ 3 ลวดนี้จะต้อง 15 ซม. หรือ ยาวกว่าและเป็นภาคต่อภาค 2 (เส้นสีน้ำเงินในรูป) ลวดนี้จะถูกตัดออกในภายหลัง หลังจากบัดกรีลวดแล้ว ให้ถอดเทปกาวปิดส่วนนี้ออกแล้ววางลง

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

ตอนนี้ตัดแต่งลวดที่เชื่อมต่อกับ Din ของส่วนที่ 3 และประสานเข้ากับ Dout ของส่วนที่ 2 ในการประสานสิ่งนี้ เป็นไปได้มากที่คุณจะต้องถอดส่วนที่ 2 ออกจากเฟรมอีกครั้งเพื่อให้ได้พื้นที่บางส่วน นี่เป็นมุมที่แน่นมาก และลวดที่อยู่ด้านล่างส่วนที่ 2 จะต้องหมุน 180 องศาให้คมเพื่อเชื่อมต่อกับ Dout ของตอนที่ 2 (ดูได้ในภาพที่ 4)

ตอนนี้เชื่อมต่อ V5 ของส่วนที่ 1 และส่วนที่ 3 อาจต้องใช้สายสั้นเพื่อทำสิ่งนี้

สุดท้ายใช้ลวดเส้นเล็ก ๆ เพื่อเชื่อมต่อ GND ของส่วนที่ 1, 2 และ 3 เข้าด้วยกัน หากแผ่น 5V ของส่วนที่ 2 ขวางทาง คุณสามารถตัดมุมของส่วนนั้นในแนวทแยงเพื่อถอดแผ่นบัดกรี

ตรวจสอบกางเกงขาสั้นหากคุณคิดว่าคุณอาจทำผิดพลาด

ทำซ้ำในส่วนที่ 4, 5 และ 6, 7:)

ขั้นตอนที่ 6: บัดกรีขั้นตอนที่3

บัดกรีขั้นตอนที่3
บัดกรีขั้นตอนที่3

ตรวจสอบให้แน่ใจว่าได้ใส่ใจกับทิศทางของชิ้นแถบ LED! การวางชิ้นที่ไม่ถูกต้องอาจทำให้คุณมีปัญหาได้มาก

ขั้นตอนที่ 3: ตอนนี้ควรวางส่วนที่ 1 ถึง 7 ตรวจสอบให้แน่ใจว่าได้ตรวจสอบทุกอย่างเป็นสามครั้งเพราะคุณไม่สามารถทดสอบได้อย่างง่ายดายเพราะส่วนที่ 2, 4 และ 6 ยังไม่มี 5V ต่อสายไฟ 5V และ GND ที่ไหลผ่านรูไปยังส่วนที่ 12 ถอดฝาครอบเทปกาวเหนียวออกจากส่วนที่ 12 แล้ววางลง ตรวจสอบให้แน่ใจว่าสายไฟเดินอย่างดีรางรางน้ำตรงตำแหน่งของส่วนที่ 8 (ซึ่งยังไม่ได้วาง) คุณสามารถดึงสายไฟเพิ่มเข้าไปในรูอีกเล็กน้อยเพื่อให้เข้าที่พอดี ถัดไปเชื่อมต่อ Din ของ part 8 กับ Dout ของ part 7 เช่นเดียวกับในขั้นตอนก่อนหน้า จากนั้นเชื่อมต่อ GND ของตอนที่ 7 กับตอนที่ 8

(ในรูปด้านบนผมยังไม่ได้เพิ่มตอนที่ 12 ผมเพิ่มแล้วแต่ไม่มีภาพ)

ขั้นตอนที่ 7: บัดกรีขั้นตอนที่4

บัดกรีขั้นตอนที่4
บัดกรีขั้นตอนที่4
บัดกรีขั้นตอนที่4
บัดกรีขั้นตอนที่4

ตรวจสอบให้แน่ใจว่าได้ใส่ใจกับทิศทางของชิ้นส่วนแถบ LED! การวางชิ้นที่ไม่ถูกต้องอาจทำให้คุณมีปัญหาได้มาก

ขั้นตอนที่ 4: ใกล้เสร็จแล้ว ต้องวางเฉพาะส่วนที่ 9, 10 และ 11 เท่านั้น การบัดกรีควรตรงไปตรงมา เพียงประสาน Dout ของชิ้นหนึ่งกับ Din ของชิ้นถัดไปก่อน เนื่องจากจะเข้าถึงได้ยากในภายหลัง อย่าลืมเชื่อมต่อ 5V ของเลเยอร์นี้กับ 5V ของตอนที่ 2, 4, 6 และ 8

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

#include #define LED_PIN 7 #define NUM_LEDS 144 ไฟ LED CRGB[NUM_LEDS]; เคาน์เตอร์ int; การตั้งค่าเป็นโมฆะ () { FastLED.addLeds (ไฟ LED, NUM_LEDS); เคาน์เตอร์=0; } วงเป็นโมฆะ () { ตัวนับ = (ตัวนับ+1)%144; ไฟ LED [ตัวนับ] = CRGB (255, 0, 0); FastLED.show(); ล่าช้า (20); ไฟ LED [ตัวนับ] = CRGB (0, 0, 0); }

เนื่องจากมีการจ่ายไฟ LED เพียงดวงเดียวในแต่ละครั้ง โค้ดนี้จึงสามารถจ่ายไฟผ่าน Arduino ได้ ซึ่งหมายความว่าไม่จำเป็นต้องใช้แหล่งจ่ายไฟภายนอกในการรันโค้ดนี้ คุณสามารถเชื่อมต่อ 5V และ GND ของแถบกับ Arduino ได้

ขั้นตอนที่ 8: ติดไฟ LED เข้ากับเฟรม

ติดไฟ LED เข้ากับเฟรม
ติดไฟ LED เข้ากับเฟรม

ดังที่ได้กล่าวไว้ก่อนหน้านี้ เทปเหนียวบนแถบนั้นไม่สามารถยึดติดกับ PLA ได้อย่างดี นั่นคือเหตุผลที่ฉันยกแถบ LED ทั้งหมดขึ้นเล็กน้อยแล้วใส่กาวที่สองไว้ข้างใต้แล้วกดลงในภายหลัง

ระวังอย่าให้กาวนี้หก นอกจากการจับมือกัน มันจะทิ้งคราบไว้บนเฟรม

ขั้นตอนที่ 9: ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัดมัน)

ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)
ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)
ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)
ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)
ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)
ตัดสี่เหลี่ยมอะคริลิก (ถ้าคุณไม่ได้ตัด)

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

(ฉันใช้ฟิล์มกับสองช่องในภาพแล้ว)

ขั้นตอนที่ 10: การใช้ฟิล์มกระจก

ติดฟิล์มกระจก
ติดฟิล์มกระจก
ติดฟิล์มกระจก
ติดฟิล์มกระจก
ติดฟิล์มกระจก
ติดฟิล์มกระจก

นี่คือลิงค์ไปยังใครบางคนที่อธิบายวิธีการทำสิ่งนี้เพื่อสรุป:

  1. ล้างอะคริลิก ขจัดเส้นใยหรือฝุ่น
  2. ใช้น้ำสบู่กับอะครีลิค
  3. ลอกพลาสติกออกจากฟิล์ม
  4. ติดฟิล์มอะครีลิก
  5. เอาฟองสบู่และสบู่ออกจากตรงกลางด้วยบัตรพลาสติก
  6. ตัดขอบ

ตรวจสอบให้แน่ใจว่าได้ขจัดอนุภาคทั้งหมดออกก่อนที่จะติดฟิล์ม ซึ่งทำให้เกิดความแตกต่างอย่างมากในรูปลักษณ์ที่ดี

ขั้นตอนที่ 11: การวางกระจกในกรอบ

การวางกระจกในกรอบ
การวางกระจกในกรอบ
การวางกระจกในกรอบ
การวางกระจกในกรอบ
การวางกระจกในกรอบ
การวางกระจกในกรอบ

ก่อนวางกระจกใดๆ ลงในเฟรม ตรวจสอบให้แน่ใจว่าด้านกระจกสะอาดดีแล้ว ด้านนี้จะถูกวางเข้าด้านในและไม่สามารถทำความสะอาดได้ในภายหลัง

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

ขั้นตอนที่ 12: อุปกรณ์อิเล็กทรอนิกส์

อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์

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

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

ขั้นตอนที่ 13: รหัส:)

Image
Image

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

ฉันลงเอยด้วยการเขียนโค้ดที่มีแอนิเมชั่นหลายแบบ บางส่วนสามารถเห็นได้ในวิดีโอด้านบน:

อย่าคัดลอกวางจากสิ่งนี้มันจะไม่ทำงานเนื่องจากวิธีที่ผู้สอนวางโค้ด

#include #define LED_PIN 5 #define NUM_LEDS 144 ไฟ LED CRGB[NUM_LEDS];

การตั้งค่าเป็นโมฆะ () {

FastLED.addLeds (ไฟ LED, NUM_LEDS); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); // เติม FastLED.show(); } วงเป็นโมฆะ () { งูคนเดียว (10000); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); fadeFromCenter(10000); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); //สายรุ้ง(5000); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); ประกายไฟ(10,000); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); //วนรอบสี(5000); fill_solid(ไฟ LED, NUM_LEDS, CRGB(0, 0, 0)); } เป็นโมฆะ onesnake (ระยะเวลา int) { startTime แบบยาวที่ไม่ได้ลงนาม; startTime=มิลลิวินาที(); ตำแหน่ง int=1; int nextpath =1; มุม int[8][3] = {{-7, 8, 1}, {-1, 2, 3}, {-3, 4, 5}, {-5, 6, 7}, {-8, -12, 9}, {-2, -9, 10}, {-4, -10, 11}, {-6, -11, 12}}; int ledsInSnake[48]; สี int=0; สำหรับ (int i=0;imillis()){ if (location>0){ for(int i=0;i<12;i++){ color=(color+5)%2550; ไฟ LED[ledsInSnake[0]=CHSV(255, 255, 0); สำหรับ(int j = 0; j < 48; j++){ if (j!=0){ leds[ledsInSnake[j]=CHSV(color/10, 255, (j*255)/48); ledsInSnake[j-1]=ledsInSnake[j]; } } ledsInSnake[47]=(ตำแหน่ง-1)*12+i; ไฟ LED[ledsInSnake [47]=CHSV(สี/10, 255, 255); FastLED.show(); ล่าช้า (20); } } if (ตำแหน่ง<0){ สำหรับ(int i=0;i<12;i++){ color=(color+5)%2550; ไฟ LED[ledsInSnake[0]=CHSV(255, 255, 0); สำหรับ(int j = 0; j < 48; j++){ if (j!=0){ leds[ledsInSnake[j]=CHSV(color/10, 255, (j*255)/48); ledsInSnake[j-1]=ledsInSnake[j]; } } ledsInSnake[47]=(ที่ตั้ง+1)*-12+11-i; ไฟ LED[ledsInSnake [47]=CHSV(สี/10, 255, 255); FastLED.show(); ล่าช้า (20); } } nextpath=random(0, 2); สำหรับ (int i=0; i<8;i++){//differen 8 if (corners[0]==-location || corners[1]==-location || corners [2]==-ตำแหน่ง){ ถ้า (มุม[เส้นทางถัดไป]!=-ตำแหน่ง){ ตำแหน่ง=มุม[เส้นทางถัดไป]; }อื่น{ สถานที่=มุม[nextpath+1]; } หยุดพัก; } }

FastLED.show();

ล่าช้า (20); } } เป็นโมฆะ fadeFromCenter (ระยะเวลา int) { startTime แบบยาวที่ไม่ได้ลงนาม; startTime=มิลลิวินาที(); ตัวนับ int = 0; ในขณะที่(startTime+duration>มิลลิวินาที()){ ตัวนับ=(ตัวนับ+1)%255; สำหรับ (int i=0;i<12;i++){ สำหรับ (int j=0;jmillis()){ counter=(counter+1)%255; สำหรับ (int i=0;i

รุ้งเป็นโมฆะ (ระยะเวลา int) {

startTime แบบยาวที่ไม่ได้ลงนาม startTime=มิลลิวินาที(); ตัวนับ int = 0; ในขณะที่(startTime+duration>มิลลิวินาที()){ ตัวนับ=(ตัวนับ+1)%255; สำหรับ(int i = 0; i < NUM_LEDS; i++){ leds=CHSV((i*5+counter)%255, 255, 255); } FastLED.show(); ล่าช้า (20); } } ประกายไฟเป็นโมฆะ (ระยะเวลา int) { startTime แบบยาวที่ไม่ได้ลงนาม; startTime=มิลลิวินาที(); ความยาว int = 40; int กะพริบ[LENGTH]; สี int =0; สำหรับ (int i=0;imillis()){ color=(color+5)%2550; ไฟ LED[กะพริบ[0]=CHSV(255, 255, 0); สำหรับ(int i = 0; i < LENGTH; i++){ if (i!=0){ leds[blink=CHSV(color/10, 255, (i*255)/LENGTH); กะพริบ[i-1]=กะพริบ; } } กะพริบ[LENGTH-1]=สุ่ม(0, NUM_LEDS); FastLED.show(); ล่าช้า (50); } }

ขั้นตอนที่ 14: เพลิดเพลินไปกับ Infinity Cube ที่ยอดเยี่ยมของคุณ !

เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!
เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!
เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!
เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!
เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!
เพลิดเพลินไปกับ Infinity Cube สุดเจ๋งของคุณ!!

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

การประกวด Make it Glow
การประกวด Make it Glow
การประกวด Make it Glow
การประกวด Make it Glow

รางวัลที่สองในการประกวด Make it Glow

แนะนำ: