Мазмуну:

Компоненттерди сактоо тутуму: 10 кадам (сүрөттөр менен)
Компоненттерди сактоо тутуму: 10 кадам (сүрөттөр менен)

Video: Компоненттерди сактоо тутуму: 10 кадам (сүрөттөр менен)

Video: Компоненттерди сактоо тутуму: 10 кадам (сүрөттөр менен)
Video: Сиздин мээңиз кандай иштейт👀??? Логикалык суроолор🤪!!! 2024, Ноябрь
Anonim
Компоненттерди сактоо системасы
Компоненттерди сактоо системасы

Ultimate Component Storage System - электрондук компоненттерди уюштуруу жана сактоо үчүн уникалдуу чечим. Ыңгайлаштырылган программалык камсыздоо конкреттүү компоненттерге тез жетүү үчүн орнотулган издөө функциясы менен компоненттерди каталогго салууга мүмкүндүк берет. Ар бир суурманын үстүндөгү светодиоддор индивиддердин же топтордун жайгашуусун жана статусун көрсөтүү үчүн колдонулат.

Жабдуулар

Бул долбоорго төмөнкү бөлүктөрдү бергениңиз үчүн DFRobotко рахмат!

2 x 5V @ 3A USB Power Supply

Бул жерде жеткиликтүү (өнөктөштүк шилтемеси):

1 x Raspberry Pi 4 модели В

Бул жерде жеткиликтүү (өнөктөштүк шилтемеси):

1 x 8.9 "1920x1200 IPS сенсордук дисплей

Бул жерде жеткиликтүү (өнөктөштүк шилтемеси):

1 x WS2812b LED-Strip, 30LED/м

Ebayде жеткиликтүү

Бул долбоордун бардык файлдарын менин GitHub-дан тапса болот:

1 -кадам: Идея

Ой!
Ой!

Фон

Мен дайыма тетиктеримди уюштурууда жана сактоодо кыйынчылыктарга туш болчумун. Жогорудагы сүрөт менин учурдагы компоненттерди сактоочу чечимимдин абалын көрсөтөт. Семинардын бардык бөлүктөрүндө бир нече кутучаларда компоненттер болушу кээ бирөөлөр үчүн иштеши мүмкүн, бирок бул менин жеке иш процессимдеги натыйжасыздык. Ошентип, мен бул маселени чечүү үчүн долбоор менен келдим.

Ой

Идея бардык компоненттерди бир сактоо тутумунда сактоо болчу. Сактоо тутуму көптөгөн тартмалардан турмак жана ар бир суурмада анын үстүнө LED орнотулган болмок.

Колдонуучу сактоо тутуму менен иштөө үчүн атайын программаны колдонмок. Колдонуучу компонент издөөнү жүргүзгөндө, система экранда эң жогорку издөө жыйынтыктарын көрсөтөт. Ошол эле учурда, издөө тутумуна тиешелүү светодиоддор күйөт, ошону менен компоненттин сактоо тутумунун ичиндеги ордун көрсөтөт.

Жайгашкан жерди көрсөтүүдөн тышкары, LEDдин түсү ар бир компоненттин абалын (б.а. саны) көрсөтөт.

Талаптар

Идея бул долбоор канааттандырууну көздөгөн төмөнкү талаптарга бөлүнгөн:

Чакан жана орто компоненттер үчүн жөнөкөй сактоо жана алуу тутумун түзүңүз

Каталогдоо жана компоненттер аркылуу издөө үчүн программалык интерфейсти түзүңүз

Ар бир компоненттин жайгашуусун жана статусун көрсөтүү үчүн RGB LEDди колдонуңуз

2 -кадам: Дизайн - Сактоо системасы

Дизайн - Сактоо системасы
Дизайн - Сактоо системасы
Дизайн - Сактоо системасы
Дизайн - Сактоо системасы
Дизайн - Сактоо системасы
Дизайн - Сактоо системасы

Мен 3D тутумун моделдөө менен баштадым.

Мен сактоо системасын ар кандай өлчөмдөгү 3D басып чыгарылган суурмалар матрицасы түрүндө иштеп чыккам. Тартпалар 35 × 12 сеткага жайгаштырылган, бардыгы 310 тартма. Бул менин учурдагы бардык компоненттеримди сактоо жана келечекте кеңейтүү үчүн орун калтыруу үчүн жетиштүү орун.

Тик багытта тартмалар ортосундагы аралык тартмалардын ар бир катмарынын үстүндө 10 мм кеңдиктеги LED тилкесин жайгаштыруу үчүн иштелип чыккан. Горизонталдык багытта жайгашкан диапазон LED тилкесиндеги LED аралыгына барабар. Мен 30LED/метрлик LED-тилкесин колдонуу ар бир суурманын шайкеш өлчөмүн түзөт деп ойлодум.

Бардык тартмалар жана суурма кармагычтар өзүнчө басып чыгарылып, керектүү конфигурацияга чогултулган. Тартпалар ар кандай өлчөмдө болот жана кандайдыр бир тартма конфигурациясы код өзгөргөндөн кийин программалык камсыздоо менен иштейт.

Жипти керектөөнү жана басып чыгаруу убактысын азайтуу үчүн, 3D басып чыгарылган бардык бөлүктөрдүн дубалынын калыңдыгы минимумга чейин сакталган. Чогулгандан кийин, жалпы сактоо бирдиги эң жеңил жана орто салмактагы компоненттерди сактоо үчүн жетиштүү бышык.

3 -кадам: Дизайн - Дисплей Колу

Дизайн - Дисплей Колу
Дизайн - Дисплей Колу
Дизайн - дисплей колу
Дизайн - дисплей колу
Дизайн - дисплей колу
Дизайн - дисплей колу

Сактоо тутуму колдонуучу интерфейси үчүн HDMI дисплейин талап кылгандыктан, мен дисплейди жана электрониканы орнотуу үчүн жөнгө салынуучу колду иштеп чыгууну чечтим.

Дисплейдин бардык бөлүктөрү 3D-принтерде иштелип чыккан жана M8 болттор жана гайкалар менен чогулган. Дисплейдин колу HDMI дисплейин, Raspberry Pi жана бардык зымдарды кармап туруу үчүн иштелип чыккан.

Көргөзмө колунун бөлүктөрү Thingiverseден алынган бул долбоорго негизделген.

4-кадам: 3D-Басып чыгаруу жана Сүрөт

3D-басып чыгаруу жана сүрөт тартуу
3D-басып чыгаруу жана сүрөт тартуу
3D-басып чыгаруу жана сүрөт тартуу
3D-басып чыгаруу жана сүрөт тартуу
3D-басып чыгаруу жана сүрөт тартуу
3D-басып чыгаруу жана сүрөт тартуу

Бардык бөлүктөрдү 3D моделдөөдөн кийин, жүздөгөн суурмаларды басып чыгара турган мезгил келди.

Мен бул долбоордун бардык 3D басылган бөлүктөрү үчүн Prusa MK2Sти колдондум. Мен 0,2 мм катмар бийиктиги жана 0% толтуруу менен PLA жипчесин колдондум.

Колдоо материалы орточо тартма кармагычы менен чоң өлчөмдөгү суурма кармагычта гана керек болчу. Мен тартмалар менен тартма кармагычтардын ортосундагы эң сонун толеранттуулукту 0.2мм деп аныктадым. Сиздин километражыңыз 3D принтериңизге жараша болот.

Бардык бөлүктөрдү басып чыгаргандан кийин, мен 35 × 12 сеткага бардык тартма кармагычтарды чогултуу үчүн superglue колдондум.

Менде бир түстөгү жип жетишсиз болгондуктан, сактоо системасына бирдей көрүнүш берүү үчүн кара боек кошууну чечтим.

Маалымат үчүн, 310 суурмалуу 35 × 12 сактоо тутумумду басып чыгаруу үчүн болжол менен 5 кг жип талап кылынат.

5 -кадам: Электроника

Электроника
Электроника
Электроника
Электроника

Ал эми электроникага келсек, жабдууларды тандоо абдан жөнөкөй болгон.

Мен колдонуучу интерфейси катары HDMI дисплейине туташкан Raspberry Pi 4 Model B тандадым. Сиз ошондой эле SSH аркылуу системасы менен башы жок Raspberry Pi жана интерфейсти колдоно аласыз. Raspberry Piнин эски версиялары, эгер алар Python 3ту иштете алса, иштеши мүмкүн. Бул долбоордо колдонулган Neopixel китепканасы Python 2де колдоого алынбайт.

Светодиоддор үчүн мен эч кандай себепсиз 30LED/m, WS2812b, LED-тилкесин тандадым. Башка LED-тилкелери дагы Neopixel китепканасы тарабынан колдоого алынса иштейт.

Электр өткөргүчтөрүнө келсек, Raspberry Pi, дисплей жана светодиоддорду камсыздоо үчүн үч USB-C кабели колдонулат. HDMI кабели дисплей менен Raspberry Pi'ди туташтыруу үчүн колдонулат.

Сүрөттө көрсөтүлгөн Arduino Uno жана USB кабели милдеттүү эмес. Сиз маалыматтарды Arduinoго Serial аркылуу жөнөтүп, аны LED контроллери катары колдоно аласыз. Жөнөкөйлүк үчүн, мен бул долбоордо Arduino колдонбоону чечтим.

Жакшы дизайн тажрыйбасы Raspberry Pi GPIO болгону 3V3 болгондуктан, светодиоддор үчүн маалымат линиясына деңгээлди алмаштырууну кошуу болмок. Азырынча менде эч кандай көйгөй болгон жок, бирок эгерде андай кылсам, "74AHCT125 Quad Level-Shifter" сыяктуу нерсени ишке ашырам.

Бул жерде Neopixelди Python жана Raspberry Pi менен колдонуу боюнча көрсөтмө бар.

6 -кадам: Программаны карап чыгуу

Программалык камсыздоого сереп
Программалык камсыздоого сереп

Бардык бөлүктөр 3D басып чыгарылып жатканда, мен бүт системаны башкаруучу программалык камсыздоодо иштедим.

Программа Python 3те жазылган жана Raspberry Piде консоль тиркемеси катары иштөөгө арналган. Программалык камсыздоонун функционалдуулугун төмөнкү бөлүктөргө бөлүүгө болот:

  • Колдонуучунун киргизгенин окуу
  • Файлдан окуу / файлга жазуу
  • Жыйынтыктарды консолго жана светодиоддорго чыгарыңыз

Мен төмөндө ар бир кадамдын жөнөкөйлөтүлгөн сүрөттөмөсүн берем.

Колдонуучунун киргизгенин окуу

Колдонуучу киргизилгенде, колдонуучулардын суранычын аныктоо үчүн Regex сөздөрүнүн сериясы колдонулат. Колдонуучунун тандоо үчүн төмөнкү функциялары бар:

Функция Чалуунун мисалы
Бардык компоненттердин тизмеси: баары
ID боюнча компонентти издөө: ID22
Параметрлер боюнча компонентти издөө: R, 22, SMD
Компоненттин санын өзгөртүү: ID35+10
Жаңы компонент кошуу: PI89: PI90, 100pcs, C, 470u, SMD: кошуу
Учурдагы компонентти алып салуу: ID10: rm
Синтаксистик жардам: жардам

Файлдан окуу / файлга жазуу

Компоненттин маалыматы.txt файлында сакталат. Киргизүүгө жараша программалык камсыздоо файлдагы маалыматтарды издейт же файлга жаңы маалыматтарды жазат. Жаңы маалыматтар компоненттерди алып салуу, кошуу же өзгөртүү учурунда жазылат.

Жыйынтыктарды чыгаруу

Программа операциядан консолго чейин жыйынтыктарды чыгарат. Эгерде издөө жүргүзүлгөн болсо, анда ал бир эле учурда LED маалыматын чыгарат жана чыгарат.

7 -кадам: Маалымат структурасы

Маалымат структурасы
Маалымат структурасы

. Txt файлындагы компоненттин маалыматтары белгилүү бир структурага ылайык келет. Файлдын ар бир сабы тутумдун ичинде сакталган бир компонент жөнүндө маалыматты камтыйт. Ар бир компонент үтүр менен ажыратылган бир нече параметрлерден турат.

Кээ бир параметрлер милдеттүү жана компоненттердин жайгашуусун жана LED түстөрүн көзөмөлдөө үчүн программалык камсыздоо тарабынан колдонулат. Андыктан алар белгилүү бир форматты карманышы керек.

Милдеттүү параметрлер жана алардын форматтары:

  • ID (IDX форматында, бул жерде X бир же бир нече сан)

    ID ар бир компонент үчүн уникалдуу идентификатор катары иштейт. Бул компоненттерди издөөдө жана жок кылууда колдонулат

  • PI (PIX: X форматында, бул жерде X бир же бир нече сан)

    PI кайсы LED кайсы компонентке туура келерин сүрөттөйт

  • Саны (Xpcs форматында, X бир же бир нече цифрадан турат)

    Саны ар бир компонент үчүн LED түсүн аныктоо үчүн колдонулат

Башка параметрлер жөн гана колдонуучу үчүн арналган. Программалык камсыздоо алар менен иштешүүнүн кажети жок жана алардын форматы милдеттүү эмес.

8 -кадам: Ассамблея - Электроника

Ассамблея - Электроника
Ассамблея - Электроника
Ассамблея - Электроника
Ассамблея - Электроника

Жыйынды эки бөлүккө бөлүүгө болот, биринчи бөлүгү дисплей колу жана электроника.

Мен 3D басылган бөлүктөрдү керектүү болт жана гайкалар менен чогулттум. Мен 3D басылган колду 4мм бурамалар менен HDMI-дисплейге бекиттим. Raspberry Pi ыңгайлуу жерге бекитилген жана зым "5 -кадам: Электроника" схемасына ылайык туташтырылган.

Кабелди дисплей кронштейнинин айланасына ороп, кабелди башкарууга аракет кылынды. Мен башка тутум тутумуна туташуу үчүн дисплейдин колундагы электр жана маалымат кабелдерин жетектөө үчүн кабелдик байланыштарды колдондум.

9 -кадам: Ассамблея - Сактоо системасы

Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы
Монтаж - сактоо системасы

Жыйындын экинчи бөлүгү - сактоо системасынын өзү.

Камтылган бурама тешиктерди колдонуп, мен бардык тартма кураштырмаларын арткы такта катары кызмат кылган боёлгон фанеранын бир бөлүгүнө бекиттим.

Андан кийин, мен ар бир катарда LED-тилкелерин тиркеп, бардык катарларды бир LED-тилкесине бириктирдим. LED тилкесинин ар бир катарынын жана багытынын конфигурациясынын мааниси жок, анткени ал программада кайра конфигурацияланат.

Жыйынды бүтүрүү үчүн, мен фанеранын тактайынын капталына электроника менен дисплейдин колун бекиттим.

Мен бардык компоненттерди жаңы үйүнө иреттеп,.txt файл базасына коштум.

10 -кадам: Корутунду

Консультация
Консультация
Консультация
Консультация
Консультация
Консультация

Долбоор эми аяктады жана мен анын кандайча болгонуна абдан кубанычтамын!

Менин жаңы сактоо тутумумду бир нече күн колдонууга гана убактым бар болчу жана ал жакшы иштеп жатат. Мен бул системанын келечекте менин иш процессимди кандайча өзгөрткөнүн көрүп кубанып жатам, анткени бул бүтүндөй долбоордун максаты болгон.

Бул долбоор сизге жакты деп үмүттөнөм жана эгер сизде кандайдыр бир ойлор, комментарийлер же суроолор болсо, аларды төмөндө калтырыңыз.

Сунушталууда: