สารบัญ:

EFM8BB1 Kinetic Light Triangles: 14 ขั้นตอน (พร้อมรูปภาพ)
EFM8BB1 Kinetic Light Triangles: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: EFM8BB1 Kinetic Light Triangles: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: EFM8BB1 Kinetic Light Triangles: 14 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Silicon Labs - Sharon Hagi, Securing IoT - June Main Meetup (6/26/19) 2024, พฤศจิกายน
Anonim
Image
Image
EFM8BB1 Kinetic Light Triangles
EFM8BB1 Kinetic Light Triangles
EFM8BB1 Kinetic Light Triangles
EFM8BB1 Kinetic Light Triangles

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

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

นี่เป็นคำแนะนำแรกของฉัน โปรดแสดงความคิดเห็นหากคุณมีคำถามใดๆ!

เสบียง

แต่ละไทล์ต้องการ:

  • 1x EFM8BB10F8G-A-QFN20 ไมโครชิป (Digikey)
  • 9x WS2812E ไฟ LED (LCSC)
  • 1x AMS1117 5.0v ตัวควบคุมแรงดันไฟฟ้า (LCSC)
  • 1x AMS1117 ตัวควบคุมแรงดันไฟฟ้า 3.3v (LCSC)
  • 1x SOD-123 1N4148 ไดโอด (LCSC)
  • ตัวต้านทาน 1x 10k 8050 (LCSC)
  • ตัวเก็บประจุเซรามิก 11x 0.1uf 8050 (LCSC)
  • 2x 10uf 16v ตัวเก็บประจุแบบอิเล็กโทรไลต์แบบติดตั้งบนพื้นผิว (LCSC)
  • 1x PCB แบบกำหนดเอง (JLCPCB)
  • 12x TE Connectivity 2329497-2 PCB Spring Fingers สำหรับตู้
  • 1x ตัวเชื่อมโยง PCB

ตัวควบคุม (กำลังดำเนินการ) ต้องการ:

  • 1x ESP32 DevKit-C
  • แหล่งจ่ายไฟ 1x 12V
  • 1x DC-DC stepdown (เพื่อจ่ายไฟให้กับ ESP32)
  • ตัวต้านทาน 1x 10K โอห์ม
  • 1x 1n4148 ไดโอด
  • ปุ่มกด SPST 2x (LCSC)

เครื่องมือ:

  • หัวแร้ง
  • เตาอบรีโฟลว์
  • เครื่องพิมพ์ 3 มิติ (สำหรับตู้)
  • โปรแกรมเมอร์ J-link EDU
  • คีมปอกสายไฟ / คัตเตอร์ / คละแบบ (สำหรับทำสายรัดโปรแกรม)
  • แหนบปลายแหลมสำหรับประกอบ
  • บัตรพีวีซีเปล่าสำหรับทากาวบัดกรี
  • น้ำยาบัดกรีไร้สารตะกั่วหรือสารตะกั่ว

ขั้นตอนที่ 1: สั่งซื้อ PCBs

สั่งซื้อ PCBs
สั่งซื้อ PCBs
สั่งซื้อ PCBs
สั่งซื้อ PCBs

แผ่น PCB ได้รับการออกแบบใน EasyEDA และถูกส่งไปยัง JLCPCB เพื่อทำการผลิต ฉันสั่ง PCB 50 ชิ้นเพราะจริง ๆ แล้วถูกกว่าในการสั่งซื้อ 50 ชิ้นเมื่อเทียบกับการสั่งซื้อเพียง 10 ชิ้นเท่านั้น PCB ถูกแบ่งออกเป็น 3 ชิ้นเพื่อลดต้นทุนการผลิต

ฉันใช้ตัวเลือกการผลิตของ

  • ความหนา 1.6 มม.
  • ผิวสำเร็จ HASL
  • ทองแดง 1 ออนซ์
  • หน้ากากประสานสีขาว

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

การออกแบบเชื่อมโยงที่นี่

ขั้นตอนที่ 2: เตรียมพื้นที่ทำงาน

เตรียมพื้นที่ทำงาน
เตรียมพื้นที่ทำงาน
เตรียมพื้นที่ทำงาน
เตรียมพื้นที่ทำงาน

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

ขั้นตอนที่ 3: วางประสาน

วางประสาน
วางประสาน
วางประสาน
วางประสาน

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

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

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

PCB ของคุณควรมีลักษณะเหมือนภาพด้านบน

ขั้นตอนที่ 4: การประกอบ

เชื่อมต่อด้านกระเบื้อง
เชื่อมต่อด้านกระเบื้อง
เชื่อมต่อด้านกระเบื้อง
เชื่อมต่อด้านกระเบื้อง
เชื่อมต่อด้านกระเบื้อง
เชื่อมต่อด้านกระเบื้อง

หลังจากปรับ PCB ใหม่แล้ว ให้แยกด้านข้างของกระเบื้องโดยการดัดและหักแถบที่ยึดด้านต่างๆ เข้าที่ จากนั้นขัด PCB ส่วนเกินที่เหลือโดยการทำลายแท็บเพื่อให้พอดีกับกล่องพิมพ์ที่พิมพ์ได้ง่ายขึ้น

จากนั้นให้หาด้านทั้งสองที่มีตัวอักษร "B" และประสานแผ่นรองทั้ง 7 ด้านเข้าด้วยกัน อีกด้านที่เหลือสามารถไปได้เพียงทางเดียวเท่านั้นและบัดกรีได้เช่นกัน

กระเบื้องควรมีลักษณะเหมือนภาพด้านบน

ขั้นตอนที่ 7: เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์

เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์
เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์
เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์
เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์
เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์
เชื่อมต่อไทล์ประกอบกับโปรแกรมเมอร์

ก่อนเชื่อมต่อไทล์กับ JLINK ให้เปิด JLINK Commander แล้วพิมพ์ "power on perm" เพื่อเปิดใช้งานเอาต์พุต 5V

J-Link Commander รวมอยู่ใน Software and Documentation pack ที่นี่

แต่ละไทล์มีส่วนหัวที่ไม่ได้บรรจุอยู่ด้านบนไมโครชิปที่ระบุว่าดีบัก ส่วนหัวนี้แสดงอินเทอร์เฟซการเขียนโปรแกรม C2 ซึ่งเข้ากันได้กับ Segger J-Link ฉันใช้เวอร์ชัน EDU เพราะเหมือนกับเวอร์ชันที่มีราคาสูงกว่า แต่ไม่สามารถใช้กับผลิตภัณฑ์เชิงพาณิชย์ได้ ซึ่งไม่อยู่ภายใต้ข้อกำหนดนี้ ฉันสั่งซื้อของฉันจาก SparkFun ในราคา $ 72 รวมค่าจัดส่ง

Pin 1 บนตัวเชื่อมต่อเป็นเพียงตัวเดียวที่มีแผ่นสี่เหลี่ยมบน PCB

ขั้นตอนที่ 8: เตรียม IDE & Build Firmware Binary

เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์
เตรียม IDE & สร้างไบนารีเฟิร์มแวร์

ดาวน์โหลด Simplicity Studio 4 จากที่นี่และติดตั้ง ลงชื่อเข้าใช้หรือลงชื่อสมัครใช้บัญชี Silicon Labs เพื่อเข้าถึง toolchain EFM8 จากนั้นดาวน์โหลดรหัสโครงการจากที่นี่และนำเข้าไปยัง IDE จากนั้นคลิกไอคอนค้อนในแถบเครื่องมือและสร้างโครงการ

คุณควรได้รับข้อความ Build Finished หากข้อความปรากฏขึ้นขอให้คุณป้อนรหัสใบอนุญาตสำหรับคอมไพเลอร์ Keil เพียงคลิกข้าม (หรือคุณสามารถเปิดใช้งานได้ฟรีหากต้องการ)

ขั้นตอนที่ 9: อัปโหลดเฟิร์มแวร์

อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์
อัพโหลดเฟิร์มแวร์

คลิกปุ่มในแถบเครื่องมือที่ดูเหมือนตราประทับบนชิป "Flash Programmer" จากนั้นเรียกดูไฟล์.hex ที่สร้างขึ้นแล้วเลือกไฟล์นั้น คลิก "โปรแกรม" และยอมรับเงื่อนไขของใบอนุญาต J-Link EDU จากนั้น ตรวจสอบให้แน่ใจว่าคุณไม่ได้รับข้อความแสดงข้อผิดพลาด และไฟ LED บนกระดานควรสว่างเป็นสีขาวสลัวเพื่อแจ้งให้คุณทราบว่าตั้งโปรแกรมสำเร็จแล้ว

ขั้นตอนที่ 10: (ไม่บังคับ) การทดสอบ PCB

(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB
(ไม่บังคับ) การทดสอบ PCB

สำหรับขั้นตอนนี้ คุณจะต้องเปิดใช้งานพอร์ต Virtual COM บน J-Link ของคุณโดยเปิด J-Link Configurator และเลือกโปรแกรมเมอร์ที่แนบมา

ต่อสาย "DAT" จากด้านใดด้านหนึ่งของกระเบื้องเข้ากับวงจรที่แนบมาในรูปภาพด้านบน

เปิดมอนิเตอร์แบบอนุกรมด้วย 112500 baud 8N1 และใช้คำสั่งเหล่านี้

  • 0x08 0xFF 0xFF 0x00 0xFF 0x0A
    • 0x08 คือคำสั่ง "set color"
    • 0xFF คือ "ไทล์ทั้งหมด"
    • 0xFF 0x00 0xFF คือสี
    • 0x0A เป็นอักขระขึ้นบรรทัดใหม่

ตอนนี้กระเบื้องควรเป็นสีม่วง หากไม่เป็นเช่นนั้น ให้ตรวจสอบอีกครั้งว่าไดโอดต่อสายอย่างถูกต้องแล้วลองอีกครั้ง

ขั้นตอนที่ 11: กล่องใส่การพิมพ์ 3 มิติ

กล่องใส่การพิมพ์ 3 มิติ
กล่องใส่การพิมพ์ 3 มิติ
กล่องใส่การพิมพ์ 3 มิติ
กล่องใส่การพิมพ์ 3 มิติ
กล่องใส่การพิมพ์ 3 มิติ
กล่องใส่การพิมพ์ 3 มิติ

ฉันออกแบบกล่องหุ้มให้ถูกฉีดขึ้นรูปเพื่อประหยัดเวลาแทนที่จะใช้การพิมพ์ 3 มิติในแต่ละแผ่น แต่เมื่อราคาเพียง 50 กล่องกลายเป็น 6,000 ดอลลาร์ ฉันจึงตัดสินใจไม่เห็นด้วยกับแนวคิดนั้น โครงตู้ได้รับการออกแบบใน Inventor 2021 และมีสองส่วน คือ ฐานและดิฟฟิวเซอร์ด้านบน ฐานมีรูที่ด้านข้างเพื่อให้กระเบื้องสามารถเชื่อมต่อกับขั้วต่อ PCB (ลิงค์ด้านล่าง) หรือสายไฟ หากคุณใช้ PCB ตัวเชื่อมต่อ คุณจะต้องมี 12 ตัวต่อไทล์เพื่อให้ PCB สามารถเชื่อมต่อเข้าด้วยกันได้

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

ฉันพิมพ์กล่องหุ้ม 20 ชิ้น และพบว่าแผ่นกระเบื้องเหล่านี้พิมพ์ได้ดีถึง 150 มม./วินาทีโดยไม่ลดคุณภาพลงอย่างมาก ซึ่งช่วยให้ลดเวลาพิมพ์ได้ประมาณ 60%

ฉันลืมถ่ายรูปขั้นตอนนี้ แต่คุณเพียงแค่วาง PCB ที่เสร็จสมบูรณ์ลงในฐานแล้วติดด้านบน

ขั้นตอนที่ 12: การเชื่อมต่อไทล์

การเชื่อมต่อกระเบื้อง
การเชื่อมต่อกระเบื้อง
การเชื่อมต่อกระเบื้อง
การเชื่อมต่อกระเบื้อง

PCB ตัวเชื่อมโยงกระเบื้องมีให้ที่นี่ สล็อตเหล่านี้ลงในกล่องหุ้มและใช้ตัวเชื่อมต่อเหล่านี้ ตรวจสอบให้แน่ใจว่าทั้งสองข้างอยู่ในแนวเดียวกัน

ขั้นตอนที่ 13: ตัวควบคุม

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

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

ขั้นตอนที่ 14: เสร็จแล้ว

เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!
เสร็จแล้ว!

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

สนุก! แสดงความคิดเห็นหากคุณมีคำถาม

ความท้าทายด้านแสงสว่าง
ความท้าทายด้านแสงสว่าง
ความท้าทายด้านแสงสว่าง
ความท้าทายด้านแสงสว่าง

รองชนะเลิศการแข่งขันโคมไฟ

แนะนำ: