สารบัญ:

ระบบจัดเก็บส่วนประกอบ: 10 ขั้นตอน (พร้อมรูปภาพ)
ระบบจัดเก็บส่วนประกอบ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบจัดเก็บส่วนประกอบ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบจัดเก็บส่วนประกอบ: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: อุปกรณ์คอมพิวเตอร์มีอะไรบ้าง (ส่วนประกอบของคอมพิวเตอร์) Learn Computer Hardware | Indysong Kids 2024, พฤศจิกายน
Anonim
ระบบจัดเก็บส่วนประกอบ
ระบบจัดเก็บส่วนประกอบ

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

เสบียง

ขอขอบคุณ DFRobot ที่จัดหาชิ้นส่วนต่อไปนี้สำหรับโครงการนี้!

แหล่งจ่ายไฟ USB 2 x 5V @ 3A

มีให้ที่นี่ (ลิงค์พันธมิตร):

1 x Raspberry Pi 4 รุ่น B

มีให้ที่นี่ (ลิงค์พันธมิตร):

1 x 8.9" 1920x1200 IPS Touch Display

มีให้ที่นี่ (ลิงค์พันธมิตร):

1 x WS2812b แถบ LED, 30LED/m

มีจำหน่ายบนอีเบย์

ไฟล์ทั้งหมดสำหรับโครงการนี้สามารถพบได้ใน GitHub ของฉัน:

ขั้นตอนที่ 1: ไอเดีย

ความคิด!
ความคิด!

พื้นหลัง

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

ความคิด

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

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

นอกจากการแสดงตำแหน่งแล้ว สีของไฟ LED ยังระบุสถานะ (เช่น ปริมาณ) ของแต่ละส่วนประกอบด้วย

ความต้องการ

แนวคิดถูกแบ่งออกเป็นข้อกำหนดต่อไปนี้ซึ่งโครงการนี้มีจุดมุ่งหมายเพื่อตอบสนอง:

สร้างระบบการจัดเก็บและเรียกค้นข้อมูลที่ง่ายดายสำหรับส่วนประกอบขนาดเล็กและขนาดกลาง

สร้างอินเทอร์เฟซซอฟต์แวร์สำหรับการทำรายการและค้นหาผ่านส่วนประกอบต่างๆ

ใช้ไฟ LED RGB เพื่อระบุตำแหน่งและสถานะของแต่ละส่วนประกอบ

ขั้นตอนที่ 2: การออกแบบ - ระบบจัดเก็บข้อมูล

การออกแบบ - ระบบจัดเก็บข้อมูล
การออกแบบ - ระบบจัดเก็บข้อมูล
การออกแบบ - ระบบจัดเก็บข้อมูล
การออกแบบ - ระบบจัดเก็บข้อมูล
การออกแบบ - ระบบจัดเก็บข้อมูล
การออกแบบ - ระบบจัดเก็บข้อมูล

ฉันเริ่มต้นด้วยการสร้างแบบจำลอง 3 มิติของระบบจัดเก็บข้อมูลเอง

ฉันออกแบบระบบจัดเก็บข้อมูลในรูปแบบของเมทริกซ์ของลิ้นชักที่พิมพ์ 3 มิติในขนาดต่างๆ ลิ้นชักวางอยู่ในตารางขนาด 35×12 รวม 310 ลิ้นชัก นั่นก็เพียงพอแล้วสำหรับการจัดเก็บส่วนประกอบปัจจุบันทั้งหมดของฉันและปล่อยให้มีที่ว่างสำหรับการขยายในอนาคต

ระยะห่างระหว่างลิ้นชักในแนวตั้งได้รับการออกแบบเพื่อรองรับแถบ LED กว้าง 10 มม. เหนือลิ้นชักแต่ละแถว ระยะห่างในแนวนอนได้รับการออกแบบให้เท่ากับระยะห่าง LED บนแถบ LED ฉันคิดว่าการใช้แถบ LED ขนาด 30LED/เมตรจะทำให้แต่ละลิ้นชักมีขนาดเพียงพอ

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

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

ขั้นตอนที่ 3: การออกแบบ - Display Arm

การออกแบบ - แขนตั้งโชว์
การออกแบบ - แขนตั้งโชว์
การออกแบบ - แขนตั้งโชว์
การออกแบบ - แขนตั้งโชว์
การออกแบบ - แขนตั้งโชว์
การออกแบบ - แขนตั้งโชว์

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

ทุกส่วนของแขนแสดงผลได้รับการออกแบบให้พิมพ์ 3 มิติและประกอบเข้ากับสลักเกลียวและน็อต M8 แขนจอแสดงผลออกแบบมาเพื่อรองรับจอแสดงผล HDMI, Raspberry Pi และสายไฟทั้งหมด

ชิ้นส่วนต่างๆ ของแขนแสดงขึ้นอยู่กับการออกแบบนี้จาก Thingiverse

ขั้นตอนที่ 4: การพิมพ์และระบายสี 3 มิติ

การพิมพ์และระบายสี 3 มิติ
การพิมพ์และระบายสี 3 มิติ
การพิมพ์และระบายสี 3 มิติ
การพิมพ์และระบายสี 3 มิติ
การพิมพ์และระบายสี 3 มิติ
การพิมพ์และระบายสี 3 มิติ

หลังจากสร้างแบบจำลอง 3 มิติทุกส่วนแล้ว ก็ถึงเวลาเริ่มพิมพ์ลิ้นชักนับร้อย

ฉันใช้ Prusa MK2S กับชิ้นส่วนที่พิมพ์ 3 มิติทั้งหมดของโปรเจ็กต์นี้ ฉันใช้ไส้ปลา PLA ที่มีความสูงของชั้น 0.2 มม. และเติม 0%

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

หลังจากพิมพ์ชิ้นส่วนที่แยกจากกันทั้งหมดแล้ว ฉันใช้ซุปเปอร์กลูเพื่อประกอบที่ยึดลิ้นชักทั้งหมดเข้าด้วยกันในตาราง 35×12

ฉันมีเส้นใยสีเดียวกันไม่เพียงพอ ดังนั้นฉันจึงตัดสินใจเพิ่มเสื้อคลุมสีดำเพื่อให้ระบบจัดเก็บข้อมูลดูสม่ำเสมอ

สำหรับการอ้างอิง ระบบจัดเก็บข้อมูล 35×12 ทั้งหมดของฉันพร้อม 310 ลิ้นชัก ต้องใช้เส้นใยประมาณ 5 กก. เพื่อพิมพ์

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

เครื่องใช้ไฟฟ้า
เครื่องใช้ไฟฟ้า
เครื่องใช้ไฟฟ้า
เครื่องใช้ไฟฟ้า

สำหรับอุปกรณ์อิเล็กทรอนิกส์ การเลือกฮาร์ดแวร์ค่อนข้างตรงไปตรงมา

ฉันเลือก Raspberry Pi 4 Model B ที่เชื่อมต่อกับจอแสดงผล HDMI เป็นอินเทอร์เฟซผู้ใช้ คุณสามารถใช้ Raspberry Pi แบบไม่มีหัวและเชื่อมต่อกับระบบผ่าน SSH Raspberry Pi เวอร์ชันเก่าอาจใช้งานได้หากสามารถเรียกใช้ Python 3 ได้ Python 2 ไม่รองรับไลบรารี Neopixel ที่ใช้ในโปรเจ็กต์นี้

สำหรับ LED ฉันเลือก 30LED/m, WS2812b, LED-strip โดยไม่มีเหตุผลเฉพาะ แถบ LED อื่นๆ จะยังทำงานหากได้รับการสนับสนุนโดยไลบรารี Neopixel

สำหรับการเดินสายนั้นใช้สาย USB-C สามเส้นเพื่อจ่ายไฟให้กับ Raspberry Pi จอแสดงผลและไฟ LED ใช้สาย HDMI เพื่อเชื่อมต่อจอแสดงผลกับ Raspberry Pi

สาย Arduino Uno และ USB ที่แสดงในรูปภาพเป็นอุปกรณ์เสริม คุณสามารถส่งข้อมูลไปยัง Arduino ผ่าน Serial และใช้เป็นตัวควบคุม LED เพื่อความง่าย ฉันเลือกที่จะไม่ใช้ Arduino ในโครงการนี้

แนวปฏิบัติในการออกแบบที่ดีคือการรวมตัวเลื่อนระดับบนสายข้อมูลสำหรับ LED เนื่องจาก Raspberry Pi GPIO เป็นเพียง 3V3 ฉันยังไม่มีปัญหาใดๆ จนถึงตอนนี้ แต่ถ้าฉันทำได้ ฉันจะใช้บางอย่างเช่น "74AHCT125 Quad Level-Shifter"

คู่มือการใช้ Neopixel กับ Python และ Raspberry Pi มีอยู่ที่นี่

ขั้นตอนที่ 6: ภาพรวมซอฟต์แวร์

ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์

ในขณะที่ชิ้นส่วนทั้งหมดกำลังถูกพิมพ์ 3 มิติ ฉันทำงานกับซอฟต์แวร์ที่ควบคุมทั้งระบบ

ซอฟต์แวร์นี้เขียนด้วย Python 3 และมีไว้เพื่อใช้เป็นแอปพลิเคชันคอนโซลบน Raspberry Pi การทำงานของซอฟต์แวร์สามารถแบ่งออกเป็นส่วนต่าง ๆ ดังต่อไปนี้:

  • อ่านอินพุตของผู้ใช้
  • อ่านจากไฟล์ / เขียนไปยังไฟล์
  • ส่งออกผลลัพธ์ไปยังคอนโซลและ LEDs

ฉันจะให้คำอธิบายแบบง่ายของแต่ละขั้นตอนด้านล่าง

อ่านอินพุตของผู้ใช้

เมื่อได้รับอินพุตของผู้ใช้ ชุดของนิพจน์ Regex จะถูกใช้เพื่อกำหนดคำขอของผู้ใช้ ผู้ใช้มีฟังก์ชั่นให้เลือกดังนี้:

การทำงาน ตัวอย่างการโทร
รายการส่วนประกอบทั้งหมด: ทั้งหมด
ค้นหาส่วนประกอบด้วย ID: ID22
ค้นหาส่วนประกอบตามพารามิเตอร์: R, 22, SMD
เปลี่ยนปริมาณของส่วนประกอบ: ID35+10
เพิ่มองค์ประกอบใหม่: PI89:PI90, 100 ชิ้น, C, 470u, SMD:เพิ่ม
ลบส่วนประกอบที่มีอยู่: ID10:rm
วิธีใช้ไวยากรณ์: ช่วย

อ่านจากไฟล์ / เขียนไปยังไฟล์

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

ส่งออกผลลัพธ์

ซอฟต์แวร์ส่งออกผลลัพธ์จากการดำเนินการไปยังคอนโซล หากมีการค้นหา ระบบจะสร้างและส่งออกข้อมูล LED พร้อมกันด้วย

ขั้นตอนที่ 7: โครงสร้างข้อมูล

โครงสร้างข้อมูล
โครงสร้างข้อมูล

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

พารามิเตอร์บางตัวจำเป็นและซอฟต์แวร์ใช้เพื่อติดตามตำแหน่งของส่วนประกอบและสีของ LED พวกเขาจึงต้องปฏิบัติตามรูปแบบเฉพาะ

พารามิเตอร์บังคับและรูปแบบคือ:

  • ID (ในรูปแบบ IDX โดยที่ X คือหนึ่งหลักขึ้นไป)

    ID ทำหน้าที่เป็นตัวระบุเฉพาะสำหรับแต่ละส่วนประกอบ ใช้เมื่อค้นหาและลบส่วนประกอบ

  • PI (ในรูปแบบ PIX:X โดยที่ X คือหนึ่งหลักขึ้นไป)

    PI อธิบายว่า LED ใดที่สอดคล้องกับส่วนประกอบใด

  • ปริมาณ (ในรูปแบบ Xpcs โดยที่ X คือหนึ่งหลักขึ้นไป)

    ปริมาณที่ใช้กำหนดสี LED สำหรับแต่ละส่วนประกอบ

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

ขั้นตอนที่ 8: การประกอบ - อิเล็กทรอนิกส์

การประกอบ - อิเล็กทรอนิกส์
การประกอบ - อิเล็กทรอนิกส์
การประกอบ - อิเล็กทรอนิกส์
การประกอบ - อิเล็กทรอนิกส์

การประกอบสามารถแบ่งออกเป็นสองส่วน ส่วนแรกเป็นแขนแสดงและส่วนอิเล็กทรอนิกส์

ฉันประกอบชิ้นส่วนที่พิมพ์ 3 มิติโดยใช้สลักเกลียวและน็อตที่จำเป็น จากนั้นฉันก็ต่อแขนที่พิมพ์ 3 มิติเข้ากับจอแสดงผล HDMI โดยใช้สกรู 4 มม. Raspberry Pi ติดอยู่ในตำแหน่งที่สะดวก และต่อสายไฟตามแผนภาพใน "ขั้นตอนที่ 5: อุปกรณ์อิเล็กทรอนิกส์"

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

ขั้นตอนที่ 9: การประกอบ - ระบบจัดเก็บข้อมูล

การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล
การประกอบ - ระบบจัดเก็บข้อมูล

ส่วนที่สองของการประกอบคือระบบจัดเก็บข้อมูลเอง

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

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

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

ฉันจัดเรียงส่วนประกอบทั้งหมดลงในบ้านหลังใหม่และเพิ่มลงในฐานข้อมูลไฟล์.txt

ขั้นตอนที่ 10: บทสรุป

บทสรุป
บทสรุป
บทสรุป
บทสรุป
บทสรุป
บทสรุป

โปรเจ็กต์นี้เสร็จสิ้นแล้ว และฉันพอใจมากกับผลลัพธ์ที่ได้!

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

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

แนะนำ: