Talaan ng mga Nilalaman:

Ang Component Storage System: 10 Hakbang (na may Mga Larawan)
Ang Component Storage System: 10 Hakbang (na may Mga Larawan)

Video: Ang Component Storage System: 10 Hakbang (na may Mga Larawan)

Video: Ang Component Storage System: 10 Hakbang (na may Mga Larawan)
Video: Elevate Your IT Game: Windows 11/10 Storage Spaces & Resilient ReFS 2024, Hunyo
Anonim
Ang Component Storage System
Ang Component Storage System

Ang Ultimate Component Storage System ay isang natatanging solusyon para sa pag-aayos at pag-iimbak ng mga elektronikong sangkap. Pinapayagan ng pasadyang software para sa pag-catalog ng mga sangkap na may built-in na function ng paghahanap upang makakuha ng mabilis na pag-access sa mga tukoy na bahagi. Ang mga LED sa itaas ng bawat drawer ay ginagamit upang ipahiwatig ang lokasyon at katayuan ng indibidwal, o isang pangkat, ng mga bahagi.

Mga gamit

Salamat sa DFRobot para sa pagbibigay ng mga sumusunod na bahagi para sa proyektong ito!

2 x 5V @ 3A USB Power Supply

Magagamit dito (link ng kaakibat):

1 x Raspberry Pi 4 Model B

Magagamit dito (link ng kaakibat):

1 x 8.9 "1920x1200 IPS Touch Display

Magagamit dito (link ng kaakibat):

1 x WS2812b LED-Strip, 30LED / m

Magagamit sa Ebay

Ang lahat ng mga file para sa proyektong ito ay matatagpuan sa aking GitHub:

Hakbang 1: Ang Ideya

Ang ideya!
Ang ideya!

Background

Palagi akong nagkaproblema sa pag-aayos at pag-iimbak ng aking mga sangkap. Ipinapakita ng larawan sa itaas ang estado ng aking kasalukuyang solusyon sa pag-iimbak ng sangkap. Habang ang pagkakaroon ng mga sangkap sa maraming mga kahon sa buong pagawaan ay maaaring gumana para sa ilan, palagi itong naging isang pagiging mabisa sa aking sariling daloy ng trabaho. Kaya, nakagawa ako ng isang proyekto upang malutas ang problemang ito.

Ang ideya

Ang ideya ay iimbak ang lahat ng mga bahagi sa parehong sistema ng imbakan. Ang sistema ng pag-iimbak ay binubuo ng maraming mga drawer at ang bawat drawer ay magkakaroon ng isang LED na naka-mount sa itaas nito.

Gumagamit ang gumagamit ng isang pasadyang software upang makipag-ugnay sa system ng imbakan. Kapag nagsagawa ang gumagamit ng isang paghahanap ng sangkap, ipinapakita ng system ang nangungunang mga resulta ng paghahanap sa screen. Sa parehong oras, ang mga LED na naaayon sa paghahanap ay nakabukas, sa gayon ay ipinapahiwatig ang lokasyon ng bahagi sa loob ng imbakan system.

Bukod sa pagpapakita ng lokasyon, ang kulay ng mga LED ay magpapahiwatig ng katayuan (ie dami) ng bawat bahagi din.

Ang kailangan

Ang ideya ay pinaghiwalay sa mga sumusunod na kinakailangan na nilalayon ng proyektong ito na masiyahan:

Lumikha ng isang simpleng sistema ng imbakan at kakayahang makuha para sa maliit at katamtamang sukat ng mga bahagi

Lumikha ng isang interface ng software para sa pag-catalog at paghanap sa mga bahagi

Gumamit ng mga RGB LED upang tukuyin ang lokasyon at katayuan ng bawat bahagi

Hakbang 2: Disenyo - Storage System

Disenyo - Storage System
Disenyo - Storage System
Disenyo - Storage System
Disenyo - Storage System
Disenyo - Storage System
Disenyo - Storage System

Nagsimula ako sa pamamagitan ng pagmomodelo ng 3D ng mismong sistema ng imbakan.

Dinisenyo ko ang imbakan system sa anyo ng isang matrix ng mga 3D-print drawer sa iba't ibang laki. Ang mga drawer ay nakaposisyon sa isang 35 × 12 grid para sa isang kabuuang 310 drawer. Iyon ay sapat na puwang upang maiimbak ang lahat ng aking kasalukuyang mga sangkap at mag-iwan ng puwang para sa pagpapalawak sa hinaharap.

Ang agwat sa pagitan ng mga drawer sa patayong direksyon ay dinisenyo upang mapaunlakan ang isang malawak na LED-strip na 10mm sa itaas ng bawat hilera ng mga drawer. Ang spacing sa pahalang na direksyon ay idinisenyo upang pantay ang LED spacing sa LED-strip. Naisip ko na ang paggamit ng isang 30LED / metro na LED-strip ay gagawin para sa isang sapat na sukat ng bawat drawer.

Ang lahat ng mga drawer at drawer holder ay idinisenyo upang mai-print nang magkahiwalay at tipunin sa nais na pagsasaayos. Ang mga drawer ay magagamit sa iba't ibang laki at anumang pagsasaayos ng mga drawer ay gagana sa software pagkatapos ng ilang mga pagbabago sa code.

Upang i-minimize ang pagkonsumo ng filament at oras ng pag-print, ang kapal ng pader sa lahat ng mga bahagi na naka-print sa 3D ay pinananatiling minimum. Kapag naka-assemble, ang pangkalahatang yunit ng pag-iimbak ay sapat na matibay upang maitaguyod ang pinaka-magaan at katamtamang sangkap.

Hakbang 3: Disenyo - Ipakita ang Arm

Disenyo - Ipakita ang Arm
Disenyo - Ipakita ang Arm
Disenyo - Ipakita ang Arm
Disenyo - Ipakita ang Arm
Disenyo - Ipakita ang Arm
Disenyo - Ipakita ang Arm

Dahil ang sistema ng pag-iimbak ay nangangailangan ng isang HDMI display para sa interface ng gumagamit, nagpasya akong mag-disenyo ng isang naaayos na braso upang mai-mount ang display at electronics sa.

Ang lahat ng mga bahagi ng display arm ay idinisenyo upang maging 3D-print at binuo kasama ang M8 bolts at nut. Ang display braso ay idinisenyo upang hawakan ang display ng HDMI, ang Raspberry Pi at lahat ng mga kable.

Ang mga bahagi ng display arm ay batay sa disenyo na ito mula sa Thingiverse.

Hakbang 4: 3D-Pag-print at Pagpipinta

3D-Pagpi-print at Pagpipinta
3D-Pagpi-print at Pagpipinta
3D-Pagpi-print at Pagpipinta
3D-Pagpi-print at Pagpipinta
3D-Pagpi-print at Pagpipinta
3D-Pagpi-print at Pagpipinta

Matapos ang pagmomodelo ng 3D sa lahat ng mga bahagi, oras na upang simulang i-print ang daan-daang mga drawer.

Ginamit ko ang aking Prusa MK2S para sa lahat ng mga bahagi na naka-print sa 3D ng proyektong ito. Gumamit ako ng PLA filament na may taas na layer ng 0.2mm at 0% infill.

Kailangan lamang ng materyal na suporta sa may hawak na drawer na may katamtamang sukat at may hawak na malaking sukat ng drawer. Natukoy ko ang perpektong pagpapaubaya sa pagitan ng mga drawer at drawer na may hawak na 0.2mm. Ang iyong mileage ay maaaring depende sa iyong 3D-printer.

Matapos i-print ang lahat ng magkakahiwalay na bahagi, gumamit ako ng superglue upang tipunin ang lahat ng mga may hawak ng drawer sa 35 × 12 grid.

Wala akong sapat na filament ng parehong kulay, kaya't nagpasya akong magdagdag ng isang amerikana ng itim na pintura upang bigyan ng pantay ang hitsura ng system ng imbakan.

Para sa sanggunian, ang aking buong 35 × 12 na sistema ng pag-iimbak na may 310 drawer ay nangangailangan ng tungkol sa 5kg ng filament upang mai-print.

Hakbang 5: Ang Elektronika

Ang Elektronika
Ang Elektronika
Ang Elektronika
Ang Elektronika

Tulad ng para sa electronics, ang pagpili ng hardware ay medyo prangka.

Pinili ko ang isang Raspberry Pi 4 Model B na konektado sa isang HDMI display bilang interface ng gumagamit. Maaari mo ring gamitin ang isang walang ulo na Raspberry Pi at interface sa system sa pamamagitan ng SSH. Ang mga mas matatandang bersyon ng Raspberry Pi ay maaari ding gumana kung maipapatakbo nila ang Python 3. Ang Neopixel library na ginamit sa proyektong ito ay hindi suportado sa Python 2.

Para sa mga LED, pinili ko ang 30LED / m, WS2812b, LED-strip nang walang partikular na kadahilanan. Ang iba pang mga LED-strip ay gagana rin kung suportado sila ng Neopixel library.

Tulad ng para sa mga kable, ginagamit ang tatlong mga USB-C cable upang magbigay ng lakas sa Raspberry Pi, sa display at sa mga LED. Ginagamit ang isang HDMI cable upang ikonekta ang display at ang Raspberry Pi.

Ang Arduino Uno at USB cable na ipinapakita sa larawan ay opsyonal. Maaari kang magpadala ng data sa Arduino sa pamamagitan ng Serial at gamitin ito bilang LED controller. Para sa pagiging simple, pinili kong hindi gamitin ang Arduino sa proyektong ito.

Ang isang mahusay na kasanayan sa disenyo ay magsasama ng isang shifter sa antas sa linya ng data para sa mga LEDs dahil ang Raspberry Pi GPIO ay 3V3 lamang. Wala pa akong mga problema sa ngayon ngunit kung gagawin ko ito, ipapatupad ko ang isang bagay tulad ng "74AHCT125 Quad Level-Shifter".

Isang gabay sa paggamit ng Neopixel na may Python at ang Raspberry Pi na mayroon dito.

Hakbang 6: Ang Pangkalahatang-ideya ng Software

Ang Pangkalahatang-ideya ng Software
Ang Pangkalahatang-ideya ng Software

Habang ang lahat ng mga bahagi ay naka-print sa 3D, nagtrabaho ako sa software na kumokontrol sa buong system.

Ang software ay nakasulat sa Python 3 at sinadya upang tumakbo bilang isang application ng console sa Raspberry Pi. Ang pag-andar ng software ay maaaring hatiin sa mga sumusunod na bahagi:

  • Basahin ang input ng gumagamit
  • Basahin mula sa file / sumulat sa file
  • I-output ang mga resulta sa console at sa mga LED

Magbibigay ako ng isang pinasimple na paglalarawan ng bawat hakbang sa ibaba.

Basahin ang input ng gumagamit

Kapag natanggap ang isang input ng gumagamit, isang serye ng mga expression ng Regex ang ginagamit upang matukoy ang kahilingan ng mga gumagamit. Ang gumagamit ay may mga sumusunod na pagpapaandar upang pumili mula sa:

Pag-andar Halimbawa ng Pagtawag
Ilista ang lahat ng mga bahagi: lahat
Maghanap ng isang bahagi ayon sa ID: ID22
Maghanap ng isang bahagi ayon sa mga parameter: R, 22, SMD
Baguhin ang dami ng isang bahagi: ID35 + 10
Magdagdag ng isang bagong bahagi: PI89: PI90, 100pcs, C, 470u, SMD: idagdag
Alisin ang isang mayroon nang sangkap: ID10: rm
Tulong sa syntax: tulungan

Basahin mula sa file / sumulat sa file

Ang sangkap ng data ay nakaimbak sa isang.txt file. Depende sa input, ang software ay maaaring maghanap ng data sa file o magsusulat ng bagong data sa file. Ang bagong data ay nakasulat kapag nag-aalis, nagdaragdag o nagbabago ng mga bahagi.

I-output ang mga resulta

Ang software ay naglalabas ng mga resulta mula sa pagpapatakbo hanggang sa console. Kung ang isang paghahanap ay isinasagawa, bumubuo rin ito at naglalabas ng LED data nang sabay.

Hakbang 7: Ang Istraktura ng Data

Ang Istraktura ng Data
Ang Istraktura ng Data

Ang data ng sangkap sa file na.txt ay sumusunod sa isang tukoy na istraktura. Ang bawat hilera ng file ay naglalaman ng impormasyon tungkol sa isang solong sangkap na nakaimbak sa loob ng system. Ang bawat bahagi ay binubuo ng maraming mga parameter na pinaghihiwalay ng isang kuwit.

Ang ilang mga parameter ay sapilitan at ginagamit ng software upang subaybayan ang lokasyon ng bahagi at mga kulay ng LED. Samakatuwid dapat silang sundin ang isang tukoy na format.

Ang sapilitan na mga parameter at ang kanilang mga format ay:

  • ID (sa format na IDX kung saan ang X ay isa o higit pang mga digit)

    Kumikilos ang ID bilang isang natatanging identifier para sa bawat bahagi. Ginagamit ito kapag naghahanap at nagtatanggal ng mga bahagi

  • PI (sa format na PIX: X kung saan ang X ay isa o higit pang mga digit)

    Inilalarawan ng PI kung aling mga LED ang tumutugma sa aling sangkap

  • Dami (sa format na Xpcs kung saan ang X ay isa o higit pang mga digit)

    Ang dami ay ginagamit upang matukoy ang kulay ng LED para sa bawat bahagi

Ang iba pang mga parameter ay simpleng inilaan para sa gumagamit. Ang software ay hindi kailangang makipag-interact sa mga iyon at ang kanilang format samakatuwid ay opsyonal.

Hakbang 8: Assembly - Electronics

Assembly - Elektronika
Assembly - Elektronika
Assembly - Elektronika
Assembly - Elektronika

Ang pagpupulong ay maaaring nahahati sa dalawang bahagi, ang unang bahagi ay ang display arm at ang electronics.

Pinagsama ko ang mga bahagi na naka-print sa 3D gamit ang kinakailangang mga bolt at mani. Pagkatapos ay ikinabit ko ang naka-print na braso sa HDMI-display gamit ang 4mm screws. Ang Raspberry Pi ay nakakabit sa isang maginhawang lokasyon at ang mga kable ay konektado ayon sa diagram sa "Hakbang 5: Ang Elektronika".

Isang pagtatangka ay ginawa upang pamahalaan ang cable ang mga kable sa pamamagitan ng pag-likid nito sa paligid ng display bracket. Gumamit ako ng mga kurbatang kurdon upang gabayan ang mga kable ng kuryente at data kasama ang display arm para sa pagkonekta sa natitirang sistema ng imbakan.

Hakbang 9: Assembly - Storage System

Assembly - Storage System
Assembly - Storage System
Assembly - Storage System
Assembly - Storage System
Assembly - Storage System
Assembly - Storage System
Assembly - Storage System
Assembly - Storage System

Ang pangalawang bahagi ng pagpupulong ay ang sistema ng imbakan mismo.

Gamit ang kasama na mga butas ng tornilyo, ikinabit ko ang lahat ng magkakahiwalay na drawer na pagpupulong sa isang piraso ng pininturahan na playwud na gumaganap bilang isang backboard.

Pagkatapos nito, ikinabit ko ang mga LED-strips sa bawat hilera at ikinonekta ang lahat ng mga hilera nang magkasama sa isang solong LED-strip. Ang pagsasaayos ng bawat hilera at direksyon ng LED-strip ay hindi mahalaga dahil maaari itong mai-configure muli sa software.

Upang matapos ang pagpupulong, ikinabit ko ang display arm na may mga electronics sa gilid ng backboard ng playwud.

Inayos ko ang lahat ng mga bahagi sa kanilang bagong tahanan at idinagdag ang mga ito sa.txt file database.

Hakbang 10: Pagsasama

Pagsasama-sama
Pagsasama-sama
Pagsasama-sama
Pagsasama-sama
Pagsasama-sama
Pagsasama-sama

Tapos na ang proyekto at talagang nasiyahan ako sa naging resulta nito!

Nagkaroon lamang ako ng oras upang magamit ang aking bagong imbakan na sistema sa loob ng ilang araw at ito ay gumagana nang mahusay. Nasasabik akong makita kung paano binabago ng sistemang ito ang aking daloy ng trabaho sa hinaharap dahil iyon ang layunin ng buong proyekto.

Inaasahan kong nasiyahan ka sa proyektong ito at kung mayroon kang anumang mga saloobin, komento, o katanungan, mangyaring iwanan ang mga ito sa ibaba.

Inirerekumendang: