INHOUDSOPGAWE:

Die stoorkomponentstelsel: 10 stappe (met foto's)
Die stoorkomponentstelsel: 10 stappe (met foto's)

Video: Die stoorkomponentstelsel: 10 stappe (met foto's)

Video: Die stoorkomponentstelsel: 10 stappe (met foto's)
Video: NW Graad 9 Respiratoriese stelsel 2024, Julie
Anonim
Die stoorkomponentstelsel
Die stoorkomponentstelsel

Die Ultimate Component Storage System is 'n unieke oplossing vir die organisering en berging van elektroniese komponente. Met die pasgemaakte sagteware kan komponente met 'n ingeboude soekfunksie gekatalogiseer word om vinnige toegang tot spesifieke komponente te verkry. LED's bo elke laai word gebruik om die ligging en status van die individu, of 'n groep, komponente aan te dui.

Voorrade

Dankie aan DFRobot vir die volgende dele vir hierdie projek!

2 x 5V @ 3A USB -kragbron

Hier beskikbaar (aangeslote skakel):

1 x Framboos Pi 4 Model B

Hier beskikbaar (aangeslote skakel):

1 x 8,9 "1920x1200 IPS -aanraakskerm

Hier beskikbaar (aangeslote skakel):

1 x WS2812b LED-strook, 30LED/m

Beskikbaar op Ebay

Alle lêers vir hierdie projek kan gevind word op my GitHub:

Stap 1: Die idee

Die idee!
Die idee!

Agtergrond

Ek het nog altyd probleme ondervind met die organisering en berging van my komponente. Die foto hierbo toon die toestand van my huidige oplossing vir komponentopberging. Alhoewel komponente in verskeie bokse oral in die werkswinkel vir sommige werk, was dit altyd 'n ondoeltreffendheid in my eie werkstroom. So, ek het 'n projek opgestel om hierdie probleem op te los.

Die idee

Die idee was om alle komponente in dieselfde stoorstelsel te stoor. Die stoorstelsel bestaan uit baie laaie, en daar is 'n LED bo elke laai.

Die gebruiker sal 'n pasgemaakte sagteware gebruik om met die stoorstelsel te kommunikeer. As die gebruiker 'n komponent -soektog uitvoer, vertoon die stelsel die beste soekresultate op die skerm. Terselfdertyd word die LED's wat ooreenstem met die soektog aangeskakel, wat die ligging van die komponent in die stoorstelsel aandui.

Behalwe die ligging, sal die kleur van die LED's ook die status (dws hoeveelheid) van elke komponent aandui.

Die vereistes

Die idee is verdeel in die volgende vereistes waaraan hierdie projek wil voldoen:

Skep 'n eenvoudige stoor- en haalbaarheidstelsel vir klein en mediumgrootte komponente

Skep 'n sagteware -koppelvlak vir die katalogisering en soek deur die komponente

Gebruik RGB -LED's om die ligging en status van elke komponent aan te dui

Stap 2: Ontwerp - bergingstelsel

Ontwerp - bergingstelsel
Ontwerp - bergingstelsel
Ontwerp - bergingstelsel
Ontwerp - bergingstelsel
Ontwerp - bergingstelsel
Ontwerp - bergingstelsel

Ek het begin met die 3D -modellering van die stoorstelsel self.

Ek het die stoorstelsel ontwerp in die vorm van 'n matriks met 3D-gedrukte laaie in verskillende groottes. Die laaie is in 'n 35 × 12 -rooster geplaas vir 'n totaal van 310 laaie. Dit is genoeg ruimte om al my huidige komponente op te slaan en ruimte te laat vir toekomstige uitbreiding.

Die afstand tussen laaie in die vertikale rigting is ontwerp om 'n 10 mm wye LED-strook bokant elke laai te kan plaas. Die spasiëring in die horisontale rigting is ontwerp om die LED-spasiëring op die LED-strook gelyk te stel. Ek het gedink dat die gebruik van 'n 30LED/meter LED-strook vir elke laai voldoende sou wees.

Alle laaie en laathouers is ontwerp om afsonderlik gedruk te word en in die gewenste opset saamgestel te word. Die laaie is in verskillende groottes beskikbaar, en enige konfigurasie van laaie werk saam met die sagteware na 'n paar kodeveranderings.

Om die filamentverbruik en druktyd te verminder, is die wanddikte op alle 3D-gedrukte dele tot die minimum beperk. Sodra dit saamgestel is, is die algehele stooreenheid stewig genoeg om die meeste liggewig en mediumgewig komponente te huisves.

Stap 3: Ontwerp - Vertoonarm

Ontwerp - Vertoonarm
Ontwerp - Vertoonarm
Ontwerp - Vertoonarm
Ontwerp - Vertoonarm
Ontwerp - Vertoonarm
Ontwerp - Vertoonarm

Aangesien die stoorstelsel 'n HDMI -skerm vir die gebruikerskoppelvlak benodig, het ek besluit om 'n verstelbare arm te ontwerp waarop die skerm en elektronika gemonteer kan word.

Alle dele van die skerm is ontwerp om 3D-gedruk te word en met M8-boute en moere gemonteer te word. Die skerm is ontwerp om die HDMI -skerm, die Raspberry Pi en al die bedrading te hou.

Dele van die vertoningsarm is gebaseer op hierdie ontwerp van Thingiverse.

Stap 4: 3D-druk en skilder

3D-druk en skilder
3D-druk en skilder
3D-druk en skilder
3D-druk en skilder
3D-druk en skilder
3D-druk en skilder

Na die 3D -modellering van al die onderdele, was dit tyd om die honderde laaie te druk.

Ek het my Prusa MK2S gebruik vir al die 3D-gedrukte dele van hierdie projek. Ek het PLA -filament gebruik met 'n laaghoogte van 0.2 mm en 0% vulsel.

Ondersteuningsmateriaal was slegs nodig op die medium-grootte laaihouer en die groot laaihouer. Ek het die perfekte verdraagsaamheid tussen laaie en laathouers bepaal tot 0,2 mm. U kilometers kan baie afhang van u 3D-drukker.

Nadat ek al die afsonderlike dele gedruk het, gebruik ek superlijm om alle laathouers in die 35 × 12 -rooster te monteer.

Ek het nie genoeg filament van dieselfde kleur nie, so ek het besluit om 'n laag swart verf by te voeg om die stoorstelsel 'n egalige voorkoms te gee.

Ter verwysing het my hele 35 × 12 stoorstelsel met 310 laaie ongeveer 5 kg filament benodig om te druk.

Stap 5: Die elektronika

Die elektronika
Die elektronika
Die elektronika
Die elektronika

Wat die elektronika betref, was die keuse van hardeware redelik eenvoudig.

Ek het 'n Raspberry Pi 4 Model B gekies wat gekoppel is aan 'n HDMI -skerm as die gebruikerskoppelvlak. U kan ook 'n koplose Raspberry Pi gebruik en via SSH met die stelsel koppel. Ouer weergawes van die Raspberry Pi kan ook werk as hulle Python 3. kan gebruik. Die Neopixel -biblioteek wat in hierdie projek gebruik word, word nie op Python 2 ondersteun nie.

Vir die LED's het ek sonder spesiale rede die 30LED/m, WS2812b, LED-strook gekies. Ander LED-stroke werk ook as hulle deur die Neopixel-biblioteek ondersteun word.

Wat die bedrading betref, word drie USB-C-kabels gebruik om die Raspberry Pi, die skerm en die LED's van krag te voorsien. 'N HDMI -kabel word gebruik om die skerm en die Raspberry Pi aan te sluit.

Die Arduino Uno en die USB -kabel op die foto is opsioneel. U kan data via Serial na die Arduino stuur en dit as die LED -beheerder gebruik. Vir die eenvoud het ek gekies om nie die Arduino in hierdie projek te gebruik nie.

'N Goeie ontwerppraktyk sou wees om 'n vlakverskuiwing op die data -lyn vir die LED's op te neem, aangesien die Raspberry Pi GPIO slegs 3V3 is. Ek het tot dusver geen probleme ondervind nie, maar as ek dit doen, sal ek iets soos die "74AHCT125 Quad Level-Shifter" implementeer.

'N Gids oor die gebruik van Neopixel met Python en die Raspberry Pi bestaan hier.

Stap 6: Die sagteware -oorsig

Die sagteware -oorsig
Die sagteware -oorsig

Terwyl al die dele 3D-gedruk is, het ek gewerk aan die sagteware wat die hele stelsel beheer.

Die sagteware is in Python 3 geskryf en is bedoel om as 'n konsole -toepassing op die Raspberry Pi te werk. Die funksionaliteit van die sagteware kan in die volgende dele verdeel word:

  • Lees gebruikersinvoer
  • Lees van lêer / skryf na lêer
  • Stel die resultate na die konsole en die LED's

Ek gee 'n vereenvoudigde beskrywing van elke stap hieronder.

Lees gebruikersinvoer

As 'n gebruikersinvoer ontvang word, word 'n reeks Regex -uitdrukkings gebruik om die gebruikersversoek te bepaal. Die gebruiker het die volgende funksies om uit te kies:

Funksie Oproep Voorbeeld
Lys alle komponente: almal
Soek 'n komponent volgens ID: ID22
Soek 'n komponent volgens parameters: R, 22, SMD
Verander die hoeveelheid van 'n komponent: ID35+10
Voeg 'n nuwe komponent by: PI89: PI90, 100 stuks, C, 470u, SMD: voeg by
Verwyder 'n bestaande komponent: ID10: rm
Sintaksis hulp: hulp

Lees van lêer / skryf na lêer

Die komponentdata word in 'n.txt -lêer gestoor. Afhangende van die invoer, soek die sagteware na data in die lêer of skryf nuwe data na die lêer. Nuwe data word geskryf wanneer komponente verwyder, bygevoeg of gewysig word.

Stel die resultate op

Die sagteware lewer die resultate van die operasie na die konsole. As 'n soektog uitgevoer is, genereer en gee dit terselfdertyd ook die LED -data uit.

Stap 7: Die datastruktuur

Die datastruktuur
Die datastruktuur

Die komponentdata in die.txt -lêer volg 'n spesifieke struktuur. Elke ry van die lêer bevat inligting oor 'n enkele komponent wat binne die stelsel gestoor word. Elke komponent bestaan uit verskeie parameters wat deur 'n komma geskei word.

Sommige parameters is verpligtend en word deur die sagteware gebruik om die ligging van komponente en LED -kleure by te hou. Hulle moet dus 'n spesifieke formaat volg.

Die verpligte parameters en hul formate is:

  • ID (in die formaat IDX waar X een of meer syfers is)

    Die ID dien as 'n unieke identifiseerder vir elke komponent. Dit word gebruik vir die soek en verwydering van komponente

  • PI (in die formaat PIX: X waar X een of meer syfers is)

    Die PI beskryf watter LED's ooreenstem met watter komponent

  • Hoeveelheid (in die formaat Xpcs waar X een of meer syfers is)

    Die hoeveelheid word gebruik om die LED -kleur vir elke komponent te bepaal

Ander parameters is eenvoudig bedoel vir die gebruiker. Die sagteware hoef nie daarmee te werk nie, en die formaat daarvan is dus opsioneel.

Stap 8: Montering - Elektronika

Vergadering - elektronika
Vergadering - elektronika
Vergadering - elektronika
Vergadering - elektronika

Die samestelling kan in twee dele verdeel word, die eerste deel is die vertoonarm en die elektronika.

Ek het die 3D-gedrukte onderdele saamgestel met die vereiste boute en moere. Daarna het ek die 3D-gedrukte arm met die 4 mm-skroewe aan die HDMI-skerm vasgemaak. Die Raspberry Pi is op 'n gerieflike plek aangebring en die bedrading is gekoppel volgens die diagram in "Stap 5: die elektronika".

Daar is gepoog om die bedrading met 'n kabel te bestuur deur dit om die skermbeugel te draai. Ek het kabelbinders gebruik om die krag- en datakabels langs die skermarm te lei om aan te sluit op die res van die stoorstelsel.

Stap 9: Samestelling - bergingstelsel

Vergadering - bergingstelsel
Vergadering - bergingstelsel
Vergadering - bergingstelsel
Vergadering - bergingstelsel
Samestelling - bergingstelsel
Samestelling - bergingstelsel
Samestelling - bergingstelsel
Samestelling - bergingstelsel

Die tweede deel van die samestelling is die stoorstelsel self.

Met behulp van die meegeleverde skroefgate het ek al die afsonderlike laaiseenhede op 'n stuk geverfde laaghout vasgemaak wat as 'n agterplank dien.

Daarna het ek die LED-stroke op elke ry vasgemaak en al die rye in een enkele LED-strook verbind. Die konfigurasie van elke ry en rigting van die LED-strook maak nie saak nie, aangesien dit in sagteware herkonfigureer kan word.

Om die vergadering klaar te maak, het ek die skermarm met die elektronika aan die kant van die laaghout -agterplaat vasgemaak.

Ek het al die komponente in hul nuwe huis gesorteer en dit by die.txt -lêerdatabasis gevoeg.

Stap 10: Afsluiting

Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting

Die projek is nou afgehandel en ek is baie tevrede met hoe dit verloop het!

Ek het net 'n paar dae tyd gehad om my nuwe stoorstelsel te gebruik, en dit werk uitstekend. Ek is opgewonde om te sien hoe hierdie stelsel my werkvloei in die toekoms verander, aangesien dit die doel van hierdie hele projek was.

Ek hoop dat u hierdie projek geniet het, en as u enige gedagtes, kommentaar of vrae het, laat dit dan hieronder.

Aanbeveel: