Բովանդակություն:

Բաղադրիչի պահպանման համակարգ. 10 քայլ (նկարներով)
Բաղադրիչի պահպանման համակարգ. 10 քայլ (նկարներով)

Video: Բաղադրիչի պահպանման համակարգ. 10 քայլ (նկարներով)

Video: Բաղադրիչի պահպանման համակարգ. 10 քայլ (նկարներով)
Video: Աչքերի հետ կապված 10 խնդիր, որոնք վկայում են առողջական ախտանշանների մասին 2024, Հուլիսի
Anonim
Բաղադրիչների պահեստավորման համակարգ
Բաղադրիչների պահեստավորման համակարգ

Ultimate Component Storage System- ը էլեկտրոնային բաղադրիչների կազմակերպման և պահպանման եզակի լուծում է: Պատվերով ծրագրակազմը թույլ է տալիս ներկառուցված որոնման գործառույթ ունեցող բաղադրիչների կատալոգավորում `որոշակի բաղադրիչներին արագ մուտք գործելու համար: Յուրաքանչյուր գզրոցից վերև LED- ները օգտագործվում են առանձին կամ մի քանի բաղադրիչների գտնվելու վայրը և կարգավիճակը նշելու համար:

Պարագաներ

Շնորհակալություն DFRobot- ին այս նախագծի հետևյալ մասերը տրամադրելու համար:

2 x 5V @ 3A USB սնուցման աղբյուր

Հասանելի է այստեղ (փոխկապակցված հղում) ՝

1 x Ազնվամորի Pi 4 մոդել B

Հասանելի է այստեղ (փոխկապակցված հղում) ՝

1 x 8.9 "1920x1200 IPS Touch Display

Հասանելի է այստեղ (փոխկապակցված հղում) ՝

1 x WS2812b LED- ժապավեն, 30LED/մ

Հասանելի է Ebay- ում

Այս նախագծի բոլոր ֆայլերը կարելի է գտնել իմ GitHub- ում ՝

Քայլ 1: Գաղափարը:

Գաղափարը!
Գաղափարը!

Նախապատմություն

Ես միշտ խնդիրներ եմ ունեցել իմ բաղադրիչները կազմակերպելու և պահելու համար: Վերոնշյալ լուսանկարը ցույց է տալիս իմ բաղադրիչների պահեստավորման ներկա լուծման վիճակը: Թեև ամբողջ արհեստանոցում բազմաթիվ տուփերում բաղադրիչներ ունենալը կարող է աշխատել ոմանց համար, այն միշտ եղել է անարդյունավետ իմ սեփական աշխատանքային հոսքի մեջ: Այսպիսով, ես հանդես եկա այս խնդրի լուծման նախագծով:

Գաղափարը

Գաղափարն այն էր, որ բոլոր բաղադրիչները պահվեն նույն պահեստավորման համակարգում: Պահեստավորման համակարգը բաղկացած է լինելու բազմաթիվ գզրոցներից, և յուրաքանչյուր գզրոց ունենալու է դրա վերևում տեղադրված լուսադիոդ:

Պահպանման համակարգի հետ փոխազդեցության համար օգտագործողը կօգտագործի հատուկ ծրագրակազմ: Երբ օգտագործողը կատարում է բաղադրիչների որոնում, համակարգը էկրանին ցուցադրում է որոնման վերին արդյունքները: Միևնույն ժամանակ, որոնմանը համապատասխանող LED- ները միանում են ՝ դրանով իսկ նշելով պահեստավորման համակարգի բաղադրիչի գտնվելու վայրը:

Բացի գտնվելու վայրը ցուցադրելուց, LED- ների գույնը ցույց կտա նաև յուրաքանչյուր բաղադրիչի կարգավիճակը (այսինքն `քանակը):

Պահանջները

Գաղափարը բաժանվեց հետևյալ պահանջների, որոնք այս նախագիծը նպատակ ունի բավարարել.

Ստեղծեք պահեստավորման և որոնման պարզ համակարգ փոքր և միջին բաղադրիչների համար:

Ստեղծեք ծրագրային ինտերֆեյս `բաղադրիչների կատալոգավորման և որոնման համար:

Օգտագործեք RGB LED- ներ `յուրաքանչյուր բաղադրիչի գտնվելու վայրը և կարգավիճակը նշելու համար:

Քայլ 2. Դիզայն - Պահեստավորման համակարգ

Դիզայն - պահեստավորման համակարգ
Դիզայն - պահեստավորման համակարգ
Դիզայն - պահեստավորման համակարգ
Դիզայն - պահեստավորման համակարգ
Դիզայն - պահեստավորման համակարգ
Դիզայն - պահեստավորման համակարգ

Ես սկսեցի 3D մոդելավորմամբ ՝ հենց պահեստավորման համակարգով:

Ես նախագծել եմ պահեստավորման համակարգը տարբեր չափսերով 3D տպված գզրոցների մատրիցայի տեսքով: Գզրոցները տեղադրված են 35 × 12 ցանցում ՝ ընդհանուր 310 գզրոցի համար: Դա բավական տարածք է իմ բոլոր ներկա բաղադրիչները պահելու և ապագա ընդլայնման համար տարածք թողնելու համար:

Ուղղահայաց ուղղությամբ գզրոցների միջև հեռավորությունը նախատեսված է գզրոցների յուրաքանչյուր շարքի վերևում 10 մմ լայնությամբ LED ժապավենի տեղադրման համար: Հորիզոնական ուղղությամբ տարածությունը նախագծված է LED շերտի LED լուսանցքի հավասարության համար: Ես ենթադրեցի, որ 30LED/մետր LED շերտի օգտագործումը յուրաքանչյուր գզրոցի համար համապատասխան չափի կդարձնի:

Բոլոր գզրոցներն ու գզրոցները նախատեսված են առանձին տպագրվելու և հավաքվելու ցանկալի կազմաձևի մեջ: Գզրոցները հասանելի են տարբեր չափսերով և գզրոցների ցանկացած կոնֆիգուրացիա կաշխատի ծրագրային ապահովման հետ ՝ կոդի որոշ փոփոխություններից հետո:

Թելերի սպառումը և տպման ժամանակը նվազագույնի հասցնելու համար 3D տպված բոլոր մասերի պատերի հաստությունը նվազագույնի է հասցված: Հավաքվելուց հետո պահեստավորման ընդհանուր միավորը բավական ամուր է `թեթև և միջին քաշի շատ բաղադրիչներ տեղավորելու համար:

Քայլ 3. Դիզայն - Displayուցադրման թև

Դիզայն - ցուցադրման թև
Դիզայն - ցուցադրման թև
Դիզայն - ցուցադրման թև
Դիզայն - ցուցադրման թև
Դիզայն - ցուցադրման թև
Դիզայն - ցուցադրման թև

Քանի որ պահեստավորման համակարգը պահանջում է HDMI էկրան ինտերֆեյսի համար, ես որոշեցի նախագծել կարգավորելի թև ՝ էկրանը և էլեկտրոնիկան միացնելու համար:

Theուցադրման թեւի բոլոր մասերը նախագծված են եղել 3D տպագրության համար և հավաքվել M8 պտուտակներով և ընկույզներով: Theուցադրման թևը նախատեսված է HDMI էկրանը, Raspberry Pi- ն և բոլոր լարերը պահելու համար:

Theուցադրման թեւի մասերը հիմնված էին Thingiverse- ի այս դիզայնի վրա:

Քայլ 4: 3D տպագրություն և ներկում

Եռաչափ տպագրություն և նկարչություն
Եռաչափ տպագրություն և նկարչություն
Եռաչափ տպագրություն և նկարչություն
Եռաչափ տպագրություն և նկարչություն
Եռաչափ տպագրություն և նկարչություն
Եռաչափ տպագրություն և նկարչություն

Բոլոր մասերի 3D մոդելավորումից հետո ժամանակն էր սկսել հարյուրավոր գզրոցների տպագրությունը:

Ես օգտագործել եմ իմ Prusa MK2S- ը այս նախագծի 3D տպված բոլոր մասերի համար: Ես օգտագործել եմ PLA թել ՝ 0,2 մմ շերտի բարձրությամբ և 0% լցմամբ:

Աջակցող նյութը անհրաժեշտ էր միայն միջին չափի գզրոցների և մեծ դարակների բռնիչի վրա: Ես որոշեցի, որ գզրոցների և գզրոցների միջև կատարյալ հանդուրժողականությունը 0.2 մմ է: Ձեր վազքը կարող է շատ կախված լինել ձեր 3D տպիչից:

Բոլոր առանձին մասերը տպելուց հետո ես սոսինձ սոսինձով հավաքեցի գզրոցների բոլոր ամրակները 35 × 12 ցանցի մեջ:

Ես չունեի նույն գույնի թելեր, ուստի որոշեցի ավելացնել մի սև ներկի շերտ `պահեստավորման համակարգին հավասար տեսք հաղորդելու համար:

Տեղեկության համար նշեմ, որ իմ 35 × 12 պահեստավորման ամբողջ համակարգը ՝ 310 գզրոցով, տպելու համար պահանջվում էր մոտ 5 կգ թել:

Քայլ 5: Էլեկտրոնիկա

Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա

Ինչ վերաբերում է էլեկտրոնային սարքավորումներին, ապա սարքավորումների ընտրությունը բավականին պարզ էր:

Որպես օգտվողի միջերես ընտրեցի HDMI էկրանին միացված Raspberry Pi 4 Model B մոդելը: Կարող եք օգտագործել նաև անգլուխ Raspberry Pi և համակարգի հետ ինտերֆեյսը SSH- ի միջոցով: Raspberry Pi- ի հին տարբերակները կարող են նաև աշխատել, եթե նրանք կարողանան գործարկել Python 3. Այս նախագծում օգտագործվող Neopixel գրադարանը չի աջակցվում Python 2 -ում:

LED- ների համար ես ընտրեցի 30LED/m, WS2812b, LED- ժապավենը ՝ առանց որևէ հատուկ պատճառի: Այլ LED- ժապավենները նույնպես կաշխատեն, եթե դրանք աջակցում են Neopixel գրադարանը:

Ինչ վերաբերում է էլեկտրագծերին, ապա երեք USB-C մալուխներ են օգտագործվում ՝ Raspberry Pi- ին, էկրանին և LED- ներին էներգիա ապահովելու համար: Էկրանը և Raspberry Pi- ն միացնելու համար օգտագործվում է HDMI մալուխ:

Լուսանկարում ցուցադրված Arduino Uno և USB մալուխը պարտադիր չէ: Դուք կարող եք տվյալներ ուղարկել Arduino- ին սերիայի միջոցով և օգտագործել դրանք որպես LED վերահսկիչ: Պարզության համար ես որոշեցի չօգտագործել Arduino- ն այս նախագծում:

Դիզայնի լավ պրակտիկա կլինի LED- ների համար տվյալների գծում մակարդակի փոփոխիչ ներառելը, քանի որ Raspberry Pi GPIO- ն ընդամենը 3V3 է: Մինչ այժմ ես որևէ խնդիր չեմ ունեցել, բայց եթե ունենամ, ապա կիրականացնեմ «74AHCT125 Quad Level-Shifter»-ի նման մի բան:

Neopixel- ի և Python- ի և Raspberry Pi- ի օգտագործման վերաբերյալ ուղեցույց կա այստեղ:

Քայլ 6: Softwareրագրաշարի ակնարկ

Softwareրագրաշարի ակնարկ
Softwareրագրաշարի ակնարկ

Մինչ բոլոր մասերը եռաչափ տպվում էին, ես աշխատում էի ամբողջ համակարգով կառավարվող ծրագրակազմի վրա:

Րագիրը գրված է Python 3 -ում և նախատեսված է որպես Raspberry Pi- ի վրա որպես մխիթարիչ ծրագիր աշխատելու համար: Softwareրագրաշարի ֆունկցիոնալությունը կարելի է բաժանել հետևյալ մասերի.

  • Կարդացեք օգտվողի մուտքագրումը
  • Կարդալ ֆայլից / գրել ֆայլ
  • Արդյունքները դուրս բերեք վահանակին և LED- ներին

Ստորև ես կտամ յուրաքանչյուր քայլի պարզեցված նկարագրություն:

Կարդացեք օգտվողի մուտքագրումը

Երբ օգտագործողի մուտքագրումը ստացվում է, Regex արտահայտությունների շարք օգտագործվում են օգտվողների պահանջը որոշելու համար: Օգտագործողը ընտրելու համար ունի հետևյալ գործառույթները.

Գործառույթը Callանգի օրինակ
Թվարկեք բոլոր բաղադրիչները. բոլորը
Որոնեք բաղադրիչ ՝ ըստ ID- ի. ID22
Որոնեք բաղադրիչ ՝ ըստ պարամետրերի. R, 22, SMD
Փոխեք բաղադրիչի քանակը. ID35+10
Ավելացնել նոր բաղադրիչ. PI89: PI90, 100 հատ, C, 470u, SMD: ավելացնել
Հեռացնել գոյություն ունեցող բաղադրիչը. ID10: rm
Շարահյուսական օգնություն. Օգնություն

Կարդալ ֆայլից / գրել ֆայլ

Բաղադրիչի տվյալները պահվում են.txt ֆայլում: Կախված մուտքագրումից, ծրագրաշարը կամ որոնում է տվյալներ ֆայլում, կամ ֆայլում գրում նոր տվյալներ: Նոր տվյալները գրվում են բաղադրիչները հեռացնելիս, ավելացնելիս կամ փոփոխելիս:

Արդյունքները դուրս բերեք

Theրագրակազմը արդյունքների արդյունքները դուրս է բերում մխիթարել: Եթե որոնում է կատարվել, այն նաև առաջացնում և միացնում է LED տվյալները միաժամանակ:

Քայլ 7: Տվյալների կառուցվածքը

Տվյալների կառուցվածքը
Տվյալների կառուցվածքը

. Txt ֆայլի բաղադրիչ տվյալները հետևում են որոշակի կառուցվածքին: Ֆայլի յուրաքանչյուր տող պարունակում է տեղեկատվություն մեկ բաղադրիչի մասին, որը պահվում է համակարգում: Յուրաքանչյուր բաղադրիչ բաղկացած է մի քանի պարամետրերից, որոնք բաժանված են ստորակետով:

Որոշ պարամետրեր պարտադիր են և օգտագործվում են ծրագրային ապահովման կողմից ՝ բաղադրիչների տեղակայման և LED- ի գույներին հետևելու համար: Նրանք պետք է հետևեն որոշակի ձևաչափի:

Պարտադիր պարամետրերը և դրանց ձևաչափերն են.

  • ID (IDX ձևաչափով, որտեղ X- ը մեկ կամ մի քանի թվանշան է)

    ID- ն գործում է որպես յուրահատուկ նույնացուցիչ յուրաքանչյուր բաղադրիչի համար: Այն օգտագործվում է բաղադրիչների որոնման և ջնջման ժամանակ:

  • PI (PIX: X ձևաչափով, որտեղ X- ը մեկ կամ մի քանի թվանշան է)

    PI- ն նկարագրում է, թե որ LED- ները որ բաղադրիչին են համապատասխանում:

  • Քանակ (Xpcs ձևաչափով, որտեղ X- ը մեկ կամ մի քանի թվանշան է)

    Քանակը օգտագործվում է յուրաքանչյուր բաղադրիչի համար LED գույնը որոշելու համար:

Այլ պարամետրերը պարզապես նախատեսված են օգտագործողի համար: Theրագրակազմը կարիք չունի փոխազդելու դրանց հետ, ուստի դրանց ձևաչափը կամայական է:

Քայլ 8. Հավաքում - Էլեկտրոնիկա

Մոնտաժ - էլեկտրոնիկա
Մոնտաժ - էլեկտրոնիկա
Մոնտաժ - էլեկտրոնիկա
Մոնտաժ - էլեկտրոնիկա

Theողովը կարելի է բաժանել երկու մասի, առաջին մասը ցուցադրման թևն է և էլեկտրոնիկան:

Ես հավաքեցի եռաչափ տպված մասերը ՝ օգտագործելով անհրաժեշտ պտուտակներ և ընկույզներ: Այնուհետև ես 3D տպված թևը կցեցի HDMI- էկրանին ՝ օգտագործելով 4 մմ պտուտակներ: Raspberry Pi- ն ամրացված էր հարմար վայրում, և էլեկտրագծերը միացված էին «Քայլ 5: Էլեկտրոնիկա» բաժնի գծապատկերին համապատասխան:

Փորձ է արվել մալուխը կառավարել էլեկտրագծերը `այն ոլորելով ցուցադրման բրա շուրջը: Ես օգտագործեցի մալուխային կապեր `հոսանքի և տվյալների մալուխները ցուցադրման թևի երկայնքով` պահեստավորման մնացած համակարգին միանալու համար:

Քայլ 9. Հավաքում - Պահեստավորման համակարգ

Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ
Մոնտաժ - պահեստավորման համակարգ

Theողովի երկրորդ մասը հենց պահեստավորման համակարգն է:

Օգտագործելով ներառված պտուտակային անցքերը, ես ամրացրեցի գզրոցի բոլոր առանձին հավաքածուները ներկված նրբատախտակի մի կտորի վրա, որը գործում է որպես հետնաշերտ:

Դրանից հետո ես կցեցի LED շերտերը յուրաքանչյուր տողի վրա և միացրեցի բոլոր տողերը մեկ LED շերտի մեջ: LED շերտի յուրաքանչյուր տողի և ուղղության կարևորություն չկա, քանի որ այն կարող է վերակազմակերպվել ծրագրակազմում:

Հավաքը ավարտելու համար ես կցեցի ցուցադրման թևը էլեկտրոնիկայի հետ նրբատախտակի հետևի կողմում:

Բոլոր բաղադրիչները դասավորեցի իրենց նոր տան մեջ և ավելացրեցի.txt ֆայլի տվյալների բազայում:

Քայլ 10: Եզրակացություն

Բացառություն
Բացառություն
Բացառություն
Բացառություն
Բացառություն
Բացառություն

Նախագիծն այժմ ավարտված է, և ես իսկապես գոհ եմ, թե ինչպես ստացվեց:

Ես ընդամենը մի քանի օր ժամանակ եմ ունեցել օգտագործել իմ նոր պահեստավորման համակարգը, և այն հիանալի է աշխատում: Ես հուզված եմ տեսնել, թե ինչպես է այս համակարգը փոխում իմ աշխատանքային ընթացքը ապագայում, քանի որ դա էր այս ամբողջ նախագծի նպատակը:

Հուսով եմ, որ ձեզ դուր եկավ այս նախագիծը: Եթե ունեք որևէ մտքեր, մեկնաբանություններ կամ հարցեր, խնդրում ենք թողնել դրանք ստորև:

Խորհուրդ ենք տալիս: