นี่คือจอแสดงผลแบบ split-flap ที่ใช้ DIY ESP32 ซึ่งได้รับการปรับให้เหมาะสมสำหรับการประกอบง่ายที่บ้านในปริมาณน้อย แต่สามารถปรับขยายเป็นจอแสดงผลขนาดใหญ่ราคาไม่แพงได้
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
คำแนะนำ: คู่มือการประกอบ v2
ขนาดโมดูล:
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
บันทึก
สำหรับจอแสดงผลขนาดเล็ก (สูงสุด 3 โมดูล) คุณสามารถข้ามบอร์ดควบคุมแบบกำหนดเองได้ และใช้โมดูลไดรเวอร์ ULN2003A ที่มีจำหน่ายทั่วไปซึ่งเสียบเข้ากับ Arduino Uno นี่เป็นเอกสารบางส่วนในวิกิ แต่อาจต้องมีการแก้ไขเพิ่มเติมเพื่อให้ทำงานได้ ต้องการความช่วยเหลือ: หากคุณต้องการช่วยปรับปรุงคำแนะนำเหล่านี้ โปรดติดต่อในเซิร์ฟเวอร์ Discord ขอบคุณ!
ระบบอิเล็กทรอนิกส์ "Chainlink" ได้รับการออกแบบมาเพื่อรองรับแผงไดรเวอร์ที่มีสายโซ่ยาวเพื่อควบคุมจอแสดงผลขนาดกลาง/ใหญ่ (โมดูลแผ่นแยกแยกสูงสุด 100+ โมดูล) นอกจากนี้ยังได้รับการออกแบบให้ง่ายและราคาถูกในการสั่งซื้อแบบประกอบล่วงหน้าหรือสร้างด้วยตัวเอง โดยเฉพาะอย่างยิ่งในปริมาณที่มากขึ้น เนื่องจากมี BOM แบบธรรมดาและส่วนประกอบแบบยึดบนพื้นผิว
ในการสร้างจอแสดงผล คุณจะต้องมีอุปกรณ์อิเล็กทรอนิกส์ 3 ชิ้นที่แตกต่างกัน:
แต่ละโมดูลจำเป็นต้องมีเซ็นเซอร์เอฟเฟกต์ฮอลล์สำหรับการสอบเทียบเมื่อเริ่มต้นและการตรวจสอบข้อผิดพลาด
เซ็นเซอร์รุ่นเก่าสำหรับเวอร์ชัน 0.7 และฮาร์ดแวร์ตัดด้วยเลเซอร์รุ่นเก่าสามารถพบได้ในการเปิดตัวเซ็นเซอร์ที่ติดแท็ก
เซ็นเซอร์รุ่นเก่าเหล่านี้เข้ากันไม่ได้กับฮาร์ดแวร์ที่ตัดด้วยเลเซอร์ v2
เซ็นเซอร์ใหม่สำหรับฮาร์ดแวร์ตัดด้วยเลเซอร์ v2 - ใช้ส่วนประกอบยึดบนพื้นผิวและได้รับการปรับให้เหมาะสมสำหรับการประกอบ PCB ที่ JLCPCB เซ็นเซอร์ใหม่เหล่านี้เข้ากันไม่ได้กับเวอร์ชัน 0.7 และฮาร์ดแวร์ที่ตัดด้วยเลเซอร์รุ่นเก่า
เซ็นเซอร์ 6 ชุดมีจำหน่ายส่วนใหญ่ประกอบในร้าน Bezek Labs และมาพร้อมกับส่วนหัวของหมุดมุมขวาและแม่เหล็กที่คุณต้องการ การจัดซื้อสนับสนุนการพัฒนาโครงการนี้อย่างต่อเนื่อง
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
คุณสมบัติที่สำคัญ:
บอร์ดไดรเวอร์ Chainlink มีจำหน่ายโดยส่วนใหญ่ประกอบในร้าน Bezek Labs และมาพร้อมกับตัวเชื่อมต่อเพิ่มเติมและสายแพที่คุณต้องการ การจัดซื้อสนับสนุนการพัฒนาโครงการนี้อย่างต่อเนื่อง
ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและการใช้งาน Chainlink Drivers มีอยู่ในคู่มือผู้ใช้ Chainlink Driver
หรือหากคุณต้องการสั่งซื้อโดยตรงจากโรงงานผลิต การออกแบบนี้ได้รับการปรับให้เหมาะสมสำหรับการประกอบที่ JLCPCB และไฟล์จะถูกสร้างขึ้นโดยอัตโนมัติสำหรับการสั่งซื้อ PCB ที่ประกอบ ที่นั่น หรือหากคุณต้องการประกอบบอร์ดนี้ด้วยตัวเองแทนที่จะต้องเสียเงินในการประกอบ คุณสามารถดูเครื่องมือ BOM/การจัดวางแบบโต้ตอบได้
ขึ้นอยู่กับสต็อคที่มีอยู่ใน JLCPCB คุณอาจต้องแก้ไขไฟล์ BOM ด้วยตนเองเพื่อใช้ส่วนประกอบทางเลือก หรือสร้างไฟล์ใหม่ด้วยตนเองโดยใช้ export_jlcpcb.py
และระบุชื่อฟิลด์ LCSC_ALT_*
อย่างน้อยหนึ่งชื่อเพื่อใช้หมายเลขชิ้นส่วนสำรองที่เลือกไว้ล่วงหน้า ดูแผนผังสำหรับทางเลือกที่เลือกไว้ล่วงหน้าที่มีอยู่ (ตรวจสอบคุณสมบัติ/ฟิลด์ของสัญลักษณ์)
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
Chainlink Buddy [T-Display] เป็นวิธีที่สะดวกในการเชื่อมต่อบอร์ด T-Display ESP32 (ไมโครคอนโทรลเลอร์ที่แนะนำ) เข้ากับเชนของไดรเวอร์ Chainlink
คุณสมบัติที่สำคัญ:
บอร์ด Chainlink Buddy [T-Display] มีจำหน่ายที่ร้านค้า Bezek Labs และมาพร้อมกับตัวเชื่อมต่อเพิ่มเติมที่คุณต้องการ การจัดซื้อสนับสนุนการพัฒนาโครงการนี้อย่างต่อเนื่อง
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
Chainlink Buddy [Breadboard] ช่วยให้การเชื่อมต่อไดรเวอร์ Chainlink เข้ากับ Breadboard เพื่อสร้างต้นแบบเป็นเรื่องง่าย คุณสามารถใช้สายดูปองท์ 5 เส้นและสร้างรังหนูที่ยุ่งวุ่นวาย หรือใช้สายริบบิ้นเส้นเดียวและกระดานฝ่าวงล้อมอันเรียบหรูนี้
บอร์ด Chainlink Buddy [Breadboard] มีจำหน่ายที่ร้านค้า Bezek Labs และมาพร้อมกับตัวเชื่อมต่อเพิ่มเติมที่คุณต้องการ การจัดซื้อสนับสนุนการพัฒนาโครงการนี้อย่างต่อเนื่อง
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
สำหรับจอแสดงผลขนาดใหญ่ คุณควรใช้ความระมัดระวังเพิ่มเติมเพื่อทำให้ฮาร์ดแวร์มีความทนทานต่อข้อผิดพลาดที่อาจเกิดขึ้น Chainlink Base เป็นการออกแบบคอนโทรลเลอร์รุ่นทดลอง (แต่ไม่รองรับ) ที่เพิ่มฟังก์ชันการทำงานเพิ่มเติมบางอย่าง สิ่งนี้ได้รับการทดสอบแล้วและดูเหมือนว่าจะใช้งานได้ แต่ไม่แนะนำสำหรับการใช้งานทั่วไป
PCB ฐาน Chainlink เป็นทางเลือกเสริมแทน Chainlink Buddy ซึ่งออกแบบมาสำหรับจอแสดงผลขนาดใหญ่โดยเฉพาะ โฮสต์ ESP32 และเพิ่มตัวเลือกการเชื่อมต่อเพิ่มเติม (เทอร์มินัลสำหรับอนุกรม UART และ RS485) และการกระจายพลังงาน (ช่องจ่ายไฟที่ได้รับการตรวจสอบอย่างอิสระสำหรับ "โซน" หลายโซนของบอร์ดไดรเวอร์)
คุณสมบัติที่สำคัญ:
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
บอร์ดไดรเวอร์ Classic เลิกใช้แล้วและไม่รองรับ
บอร์ดควบคุม Classic ได้รับการออกแบบมาเพื่อเสียบเข้ากับ Arduino เหมือนโล่ และสามารถควบคุมสเต็ปเปอร์มอเตอร์ได้ 4 ตัว สามารถต่อบอร์ดไดรเวอร์ได้สูงสุด 3 บอร์ดเข้าด้วยกัน สำหรับโมดูลสูงสุด 12 โมดูลที่ควบคุมโดย Arduino ตัวเดียว
ไดรเวอร์ใช้ไดรเวอร์ Shift-Register ด้านข้างต่ำ MIC5842 2 ตัว พร้อมไดโอดระงับชั่วคราวในตัวเพื่อควบคุมมอเตอร์ และรีจิสเตอร์ Shift 74HC165 เพื่ออ่านจากเซ็นเซอร์ตำแหน่งโฮมแม่เหล็กเอฟเฟกต์ฮอลล์ 4 ตัว มีไฟ LED RGB WS2812B ซึ่งเป็นอุปกรณ์เสริมซึ่งสามารถใช้เพื่อระบุสถานะของแต่ละช่องทั้ง 4 ช่อง
หากคุณต้องการพิมพ์แผ่นปิดของคุณเอง หรือตัดสติ๊กเกอร์ตัวอักษรไวนิลแบบกำหนดเอง โปรเจ็กต์นี้จะมีสคริปต์สำหรับสร้างไฟล์การออกแบบเวกเตอร์ที่สามารถกำหนดค่าได้อย่างมาก:
สิ่งที่ต้องทำ: จัดทำเอกสารนี้ให้เสร็จสิ้นและเรนเดอร์ภาพตัวอย่างบางส่วน...
หากคุณต้องการแบ่งปันส่วนหน้าเดียวในหลายโมดูล (แทนที่จะเป็นแต่ละโมดูลที่มีด้านหน้าของตัวเอง) repo จะมีสคริปต์เพื่อสร้างแผงด้านหน้าแบบรวมสำหรับการตัดด้วยเลเซอร์หรือการกัด/การกำหนดเส้นทาง CNC
คุณสามารถแก้ไข:
สำหรับการตัด CNC สคริปต์รองรับการเรนเดอร์ไฟล์เวกเตอร์ที่ปรับให้เหมาะสมสำหรับวัสดุที่หนากว่า (เช่น MDF 6 มม.) โดยที่เฉพาะรูสลักเท่านั้นที่จะผ่านการตัด ในโหมดนี้ ช่องสำหรับชิ้นส่วนกล่องด้านบน/ล่างสามารถตัดเป็นช่องขนาด ~4 มม. ได้ เพื่อไม่ให้มองเห็นได้จากด้านหน้า สคริปต์จะสร้างรูปร่างกระดูกสุนัขสำหรับการตัดกระเป๋าเหล่านี้โดยอัตโนมัติ
สิ่งที่ต้องทำ: จัดทำเอกสารนี้ให้เสร็จสิ้นและเรนเดอร์ภาพตัวอย่างบางส่วน...
โปรเจ็กต์นี้ยังมีการออกแบบการพิมพ์ 3D ให้เลือกหลายแบบเพื่อให้การประกอบง่ายขึ้น ซึ่งรวมถึง:
การออกแบบทั้งหมดนี้เป็นแบบพาราเมตริกและปรับแต่งได้ภายใน OpenSCAD หากต้องการพิมพ์ ให้เปิดไฟล์ที่เกี่ยวข้องใน OpenSCAD และใช้ File -> Export -> Export as STL
เพื่อแสดงการออกแบบเป็นไฟล์ STL สำหรับตัวแบ่งส่วนข้อมูลของคุณ
สิ่งนี้ไม่น่าจะมีประโยชน์เว้นแต่คุณจะวางแผนที่จะผลิตบอร์ดไดรเวอร์ของ Chainlink หลายสิบถึงหลายร้อยชิ้น แต่เครื่องทดสอบไดรเวอร์ของ Chainlink นั้นเป็นอุปกรณ์ทดสอบที่สมบูรณ์สำหรับบอร์ดไดรเวอร์ของ Chainlink เนื่องจากประกอบโดยผู้สร้าง PCBA
ขณะนี้อยู่ระหว่างการพัฒนาอย่างกระตือรือร้น
คุณสมบัติที่สำคัญ:
สิ่งประดิษฐ์ที่สร้างขึ้นอัตโนมัติล่าสุด (ยังไม่ได้ทดสอบ!)
เฟิร์มแวร์ไดรเวอร์เขียนโดยใช้ PlatformIO พร้อมเฟรมเวิร์ก Arduino และมีให้ที่ firmware/
เฟิร์มแวร์ใช้ตัวควบคุมวงปิดที่รับตัวอักษรเป็นอินพุตผ่านอนุกรม USB และขับเคลื่อนสเต็ปเปอร์มอเตอร์โดยใช้ทางลาดเร่งความเร็วที่คำนวณไว้ล่วงหน้าเพื่อการควบคุมที่ราบรื่น เฟิร์มแวร์จะปรับเทียบตำแหน่งสปูลโดยอัตโนมัติเมื่อเริ่มต้น โดยใช้เซ็นเซอร์แม่เหล็กฮอลล์เอฟเฟกต์ และจะปรับเทียบตัวเองใหม่โดยอัตโนมัติหากตรวจพบว่าตำแหน่งสปูลไม่ตรงกัน หากการหมุนตามคำสั่งคาดว่าจะทำให้แกนม้วนผ่านตำแหน่ง "บ้าน" มันจะยืนยันว่าเซ็นเซอร์ถูกกระตุ้นไม่เร็วหรือช้าเกินไป มิฉะนั้นจะค้นหาตำแหน่ง "บ้าน" เพื่อซิงค์ก่อนดำเนินการต่อไปยังตัวอักษรที่ต้องการ
เพื่อให้คอมพิวเตอร์สื่อสารกับ splitflap นั้นจะปรากฏเป็นอุปกรณ์อนุกรม USB
อย่างไรก็ตาม การใช้ Serial
ของ Arduino เป็นสิ่งต้องห้ามอย่างเคร่งครัด และจะมีการจัดเตรียมสิ่งที่เป็นนามธรรม logger
แทนสำหรับการส่งบันทึกการแก้ไขข้อบกพร่องข้อความพื้นฐาน ข้อมูลอื่นๆ จะได้รับการถ่ายโอนในลักษณะที่มีโครงสร้างตามที่อธิบายไว้ด้านล่าง
ซึ่งให้ความยืดหยุ่นในรูปแบบของข้อมูลที่ถ่ายโอนผ่านอนุกรม และในความเป็นจริง splitflap มีโหมดอนุกรม 2 โหมดที่แตกต่างกันซึ่งให้บริการตามวัตถุประสงค์ที่แตกต่างกัน
ตามค่าเริ่มต้น ระบบจะเริ่มต้นในโหมด "ข้อความธรรมดา" ซึ่งเป็นมิตรกับนักพัฒนาซอฟต์แวร์ และคุณคงคุ้นเคยดีอยู่แล้วหากคุณเปิดจอภาพแบบอนุกรมโดยเชื่อมต่อ splitflap:
{"type":"init", "num_modules":6}
อย่างไรก็ตาม สิ่งนี้ไม่เหมาะสำหรับการกำหนดค่าหรือรับการอัปเดตทางโปรแกรมจาก splitflap ดังนั้นเฟิร์มแวร์จึงเสนออินเทอร์เฟซแบบเป็นโปรแกรมโดยใช้โปรโตคอลไบนารี่ตามมาตรฐาน Protobuf ของ Google แทน
โหมดอนุกรมไบนารีที่ใช้ protobuf เป็นวิธีที่กะทัดรัดและยืดหยุ่นในการถ่ายโอนข้อมูลที่มีโครงสร้างจากคอมพิวเตอร์แม่ข่ายไปยัง splitflap และในทางกลับกัน
protobuf ให้ประโยชน์หลายประการเหนือกลไกการเข้ารหัสอื่นๆ เช่น JSON:
นี่คือสาเหตุที่ splitflap มีค่าเริ่มต้นเป็นโหมดข้อความธรรมดาเพื่อให้การตรวจสอบ/การแก้ไขข้อบกพร่องขั้นพื้นฐานง่ายขึ้น
ข้อความ Protobuf จะถูกเข้ารหัสเป็นรูปแบบ binary wire และบวกเช็คซัม CRC32 ต่อท้าย จากนั้นสตริงไบนารีทั้งหมดนั้นจะถูกเข้ารหัส COBS ลงในแพ็กเก็ตและคั่นด้วย / กรอบด้วย 0 (NULL) ไบต์เมื่อส่งผ่านอนุกรม นี่เป็นอินเทอร์เฟซแบบแพ็กเก็ตพื้นฐานพร้อมการตรวจสอบความสมบูรณ์ (แทนที่จะเป็นอินเทอร์เฟซแบบสตรีมแบบดิบของการเชื่อมต่อแบบอนุกรม)
splitflap จะสลับไปที่โหมด binary protobuf โดยอัตโนมัติเมื่อได้รับไบต์ 0
จอแสดงผลสามารถควบคุมได้โดยคอมพิวเตอร์ที่เชื่อมต่อกับ ESP32 ผ่านอนุกรม USB หากคุณได้สร้างจอแสดงผลและต้องการทดสอบ ลองดูการสาธิตบนเว็บที่นี่ ซึ่งจะเชื่อมต่อกับจอแสดงผลของคุณโดยใช้ USB - ไม่จำเป็นต้องใช้แอปพลิเคชัน/การติดตั้ง!
เฟิร์มแวร์รองรับโหมดอนุกรมข้อความธรรมดา (เปิดใช้งานโดยค่าเริ่มต้น) เพื่อความสะดวกในการทดสอบ และโหมดไบนารี่ที่ใช้ protobuf ซึ่งใช้โดยไลบรารีซอฟต์แวร์เพื่อเพิ่มการควบคุมทางโปรแกรมและการตอบสนอง
คุณสามารถค้นหาตัวอย่างไลบรารี Typescript และ Python ได้ในโฟลเดอร์ software/chainlink
กำลังมองหาการแก้ไขหรือทดลองการออกแบบบนเครื่องของคุณอยู่ใช่ไหม? กระโดดเข้าไปเลย! โปรดทราบว่าสคริปต์และระบบอัตโนมัติทั้งหมดได้รับการพัฒนาสำหรับ Ubuntu มีการวางแผนรองรับ Mac OS แต่ยังไม่ได้นำไปใช้ในปัจจุบัน (แต่อย่าลังเลที่จะเปิด PR หากคุณต้องการความช่วยเหลือ!)
ไฟล์การออกแบบหลักคือ 3d/splitflap.scad
คุณจะต้องมี OpenSCAD เวอร์ชันล่าสุด (เช่น 2015-03) ซึ่งอาจจำเป็นต้องติดตั้งผ่าน PPA: sudo add-apt-repository ppa:openscad/releases
โดยทั่วไป วัตถุที่เป็นของแข็ง เช่น ด้านข้างของกล่องหุ้มหรือส่วนประกอบสปูลจะถูกสร้างขึ้นจาก 2d primitives จากนั้นจึงอัดรีดให้มีความหนาที่เหมาะสมสำหรับการเรนเดอร์ 3d แทนที่จะใช้ 3d primitive ทำให้การออกแบบง่ายขึ้นโดยไม่สูญเสียความหมาย ลำแสงตัดด้วยเลเซอร์ตั้งฉากไม่อนุญาตให้มีการตัดที่แตกต่างกันในมิติ Z อยู่แล้ว
โปรดทราบว่าแม้ว่าการออกแบบจะถูกกำหนดพารามิเตอร์และค่าหลายค่าอาจมีการปรับแต่ง แต่ขณะนี้ยังไม่มีการตรวจสอบข้อผิดพลาดสำหรับพารามิเตอร์ที่ไม่ถูกต้องหรือการรวมกันของพารามิเตอร์ โปรดตรวจสอบการออกแบบหากคุณเปลี่ยนพารามิเตอร์ใดๆ ตัวอย่างเช่น ในขณะที่การออกแบบส่วนใหญ่จะปรับตามค่า num_modules
ที่เปลี่ยนแปลงไป แต่ค่าบางค่าอาจทำให้องค์ประกอบบางอย่างตัดกับองค์ประกอบอื่นหรือยื่นออกมาเกินขนาดที่คาดไว้
การออกแบบสามารถเรนเดอร์เป็น 2d สำหรับการตัดด้วยเลเซอร์ได้โดยการรัน 3d/scripts/generate_2d.py [--panelize <number>]
ซึ่งเอาท์พุตเป็น 3d/build/laser_parts/combined.svg
อาร์กิวเมนต์เสริม --panelize
ช่วยให้สามารถเรนเดอร์แผงโมดูลใน SVG เดียวสำหรับการตัดด้วยเลเซอร์จำนวนมาก
ภายใน การออกแบบใช้โมดูล projection_renderer
( 3d/projection_renderer.scad
) ซึ่งรับรายการองค์ประกอบลูกเพื่อเรนเดอร์ และขึ้นอยู่กับ render_index
จะเรนเดอร์ลูกเดี่ยวในแต่ละครั้ง นอกจากนี้ยัง เพิ่ม วัสดุให้กับแต่ละรูปร่างเพื่อคำนึงถึงรอยตัดที่จะถูกตัดออกไปด้วยเลเซอร์
สคริปต์ generate_2d.py
โต้ตอบกับโมดูล projection_renderer
โดยใช้สคริปต์นั้นเพื่อกำหนดจำนวนส่วนประกอบย่อยที่จะเรนเดอร์ก่อน จากนั้นจึงเรียกใช้ OpenSCAD เพื่อส่งออกแต่ละส่วนประกอบไปยังไฟล์ SVG โดยจะทำการประมวลผลภายหลังในเอาต์พุต SVG (โดยเฉพาะอย่างยิ่งเพิ่ม "mm" ให้กับขนาดเอกสาร) จากนั้นจึงรวมส่วนประกอบทั้งหมดไว้ในเอาต์พุต combined.svg
เดียว
เมื่อไฟล์ combined.svg
ถูกสร้างขึ้น คุณจะต้องตรวจสอบอีกครั้งว่าไม่มีเส้นตัดที่ซ้ำซ้อนซึ่งใช้ร่วมกันโดยชิ้นส่วนที่อยู่ติดกันหลายชิ้น เพื่อประหยัดเวลา/ต้นทุนในการตัด ควรตรวจพบสิ่งเหล่านี้โดยอัตโนมัติ (และไฮไลต์ด้วยสีแดงในการเรนเดอร์ด้านบน) แต่การตรวจสอบอีกครั้งก็ไม่เสียหาย ใน Inkscape ให้เลือกเครื่องมือ "แก้ไขเส้นทางตามโหนด" และเลือกขอบที่จะลบ - จุดสิ้นสุดควรเปลี่ยนเป็นสีน้ำเงิน จากนั้นคลิก "ลบส่วนระหว่างสองโหนดที่ไม่ใช่จุดสิ้นสุด" และทำซ้ำขั้นตอนนี้กับเส้นตัดอื่นๆ ที่ซ้ำซ้อนทั้งหมด
การออกแบบสามารถเรนเดอร์เป็น gif เคลื่อนไหว 3 มิติแบบหมุนได้ (ดูด้านบน) โดยการรัน 3d/scripts/generate_gif.py
ซึ่งเอาท์พุตเป็น 3d/build/animation/animation.gif
สคริปต์ generate_gif.py
รันอินสแตนซ์ OpenSCAD หลายอินสแตนซ์พร้อมกันเพื่อเรนเดอร์การออกแบบตั้งแต่ 360 องศาไปจนถึงเฟรม PNG แต่ละเฟรม จากนั้นจึงรวมเข้ากับภาพเคลื่อนไหว GIF สุดท้าย ในส่วนหนึ่งของการสร้างแอนิเมชัน generate_gif.py
เรนเดอร์การออกแบบด้วยการกำหนดค่าหลายรูปแบบ (กรอบทึบ กรอบโปร่งใส ไม่มีกรอบ และไม่มีแผ่นปิด) โดยการตั้งค่าตัวแปร render_enclosure
และ render_flaps
การออกแบบสามารถเรนเดอร์เป็นชุดของไฟล์ STL (หนึ่งไฟล์ต่อสีที่ใช้ในโมเดล) เพื่อที่จะแสดงในโปรแกรมดูภาพ 3 มิติแบบโต้ตอบบนเว็บ เช่นเดียวกับ projection_renderer
ที่ใช้ในการเรนเดอร์ส่วนประกอบแต่ละชิ้นสำหรับการตัดด้วยเลเซอร์ ColoredStlExporter ตรวจจับสีทั้งหมดที่ใช้ในโมเดลและเรนเดอร์ทีละสีเพื่อแยกไฟล์ STL พร้อมด้วยรายการที่จะจับคู่ไฟล์ STL แต่ละไฟล์กับสี RGB . ไฟล์ STL และรายการถูกโหลดโดยใช้ three.js เพื่อแสดงโมเดลเชิงโต้ตอบบนเว็บไซต์โดยใช้ WebGL ดูโพสต์บนบล็อกนี้สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงานของการส่งออกและตัวเรนเดอร์ three.js: เคล็ดลับการเรนเดอร์ OpenSCAD ส่วนที่ 3: โปรแกรมดูเว็บ
อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดได้รับการพัฒนาโดยใช้ KiCad 5 การจัดแผงจัดทำโดย KiKit และการสร้าง gerber/BOM จัดทำโดย KiBot
การเรนเดอร์การออกแบบเครื่องกลและไฟฟ้าและลิงก์ด้านบนได้รับการอัปเดตโดยอัตโนมัติในทุกคอมมิตด้วยการเรนเดอร์ล่าสุด ดูโพสต์บนบล็อกนี้สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงาน: KiCad อัตโนมัติ, การเรนเดอร์ OpenSCAD โดยใช้ Travis CI
เค้าโครง PCB สามารถเรนเดอร์เป็น svg หรือ png (ดูด้านบน) ได้โดยการเรียกใช้ electronics/scripts/generate_svg.py file.kicad_pcb
สิ่งนี้ใช้ API การเขียนสคริปต์ Python ของ KiCad เพื่อเรนเดอร์หลายเลเยอร์ให้กับไฟล์ svg แต่ละไฟล์ ปรับแต่งเพื่อใช้การตั้งค่าสีและความทึบ จากนั้นจึงรวมเป็น svg เดียว สำหรับรายละเอียดเพิ่มเติม โปรดดูบล็อกโพสต์นี้: การส่งออกสคริปต์ KiCad Pcbnew
สำหรับการตรวจสอบการออกแบบ คุณสามารถสร้างแพ็กเก็ต pdf ที่มีข้อมูลทองแดง ซิลค์สกรีน และการเจาะได้โดยการเรียกใช้ electronics/scripts/generate_pdf.py file.kicad_pcb
ไฟล์ Gerber สำหรับการประดิษฐ์สามารถส่งออกได้โดยการเรียกใช้ electronics/scripts/generate_gerber.py file.kicad_pcb
สิ่งนี้จะสร้างไฟล์ gerber และไฟล์เจาะ Excellon ที่มีรูปแบบการตั้งชื่อของ Seeed Studio และสร้างไฟล์ .zip
ซึ่งสามารถส่งไปเพื่อการประดิษฐ์ได้
EESchema ไม่สามารถเขียนสคริปต์ได้ง่าย ดังนั้นในการส่งออก schematic electronics/scripts/export_schematic.py
จะเริ่มต้น X Virtual Frame Buffer (Xvfb) และเปิด eeschema
GUI ภายในจอแสดงผลเสมือนนั้น จากนั้นส่งชุดของการกดปุ่มฮาร์ดโค้ดผ่าน xdotool
ไปยัง โต้ตอบกับ GUI และคลิกผ่านกล่องโต้ตอบ สิ่งนี้เปราะบางมาก แต่ดูเหมือนว่าจะใช้ได้ดีในตอนนี้ สำหรับรายละเอียดเพิ่มเติม โปรดดูบล็อกโพสต์นี้: การใช้ระบบอัตโนมัติของ UI เพื่อส่งออกแผนงาน KiCad
ฉันอยากได้ยินความคิดและคำถามของคุณเกี่ยวกับโปรเจ็กต์นี้ และยินดีที่จะนำความคิดเห็นที่คุณอาจมีในการออกแบบเหล่านี้ โปรดอย่าลังเลที่จะ (และสนับสนุน) เพื่อเปิดปัญหา GitHub ส่งอีเมลถึงฉันโดยตรง ติดต่อทาง Twitter และมีส่วนร่วมในการพัฒนาโอเพ่นซอร์ส แล้วมาพูดคุยและสร้างด้วยกันต่อไป!
โครงการนี้ได้รับอนุญาตภายใต้ Apache v2 (ดู LICENSE.txt)
Copyright 2015-2024 Scott Bezek and the splitflap contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.