Агуулгын хүснэгт:

Бүрэлдэхүүн хэсгийн хадгалах систем: 10 алхам (зурагтай)
Бүрэлдэхүүн хэсгийн хадгалах систем: 10 алхам (зурагтай)

Видео: Бүрэлдэхүүн хэсгийн хадгалах систем: 10 алхам (зурагтай)

Видео: Бүрэлдэхүүн хэсгийн хадгалах систем: 10 алхам (зурагтай)
Видео: 10 мифов о вреде сахара в крови, в которые до сих пор верит ваш врач 2024, Долдугаар сарын
Anonim
Бүрэлдэхүүн хэсгүүдийг хадгалах систем
Бүрэлдэхүүн хэсгүүдийг хадгалах систем

Ultimate Component Storage System нь электрон эд ангиудыг зохион байгуулах, хадгалах өвөрмөц шийдэл юм. Тусгай програм хангамж нь тодорхой бүрэлдэхүүн хэсгүүдэд хурдан нэвтрэхийн тулд хайлтын функц бүхий бүрэлдэхүүн хэсгүүдийг каталоглох боломжийг олгодог. Шүүгээ тус бүрийн дээр байрлах LED нь хувь хүний эсвэл бүлгийн бүрэлдэхүүн хэсгүүдийн байршил, статусыг харуулахад ашиглагддаг.

Хангамж

Энэхүү төслийн дараах хэсгүүдийг өгсөн DFRobot компанид баярлалаа!

2 x 5V @ 3A USB тэжээлийн хангамж

Энд байгаа (түншлэлийн линк):

1 х Raspberry Pi 4 загвар Б

Эндээс авах боломжтой (түншлэлийн линк):

1 x 8.9 "1920x1200 IPS мэдрэгчтэй дэлгэц

Энд байгаа (түншлэлийн линк):

1 x WS2812b LED зурвас, 30 LED/м

Ebay дээр ашиглах боломжтой

Энэ төслийн бүх файлыг миний GitHub дээрээс олж болно:

Алхам 1: Санаа

Санаа!
Санаа!

Арын дэвсгэр

Би бүрэлдэхүүн хэсгүүдийг зохион байгуулах, хадгалахад үргэлж бэрхшээлтэй байдаг. Дээрх зураг нь миний одоогийн бүрэлдэхүүн хэсгүүдийг хадгалах шийдлийн байдлыг харуулж байна. Семинарын бүх хэсэгт хэд хэдэн хайрцагт бүрэлдэхүүн хэсгүүд байгаа нь зарим хүмүүсийн хувьд үр дүнтэй байж болох ч энэ нь миний хувийн ажлын урсгалын үр ашиггүй байдал байсаар ирсэн. Тиймээс би энэ асуудлыг шийдэх төсөл боловсруулсан.

Санаа

Бүх бүрэлдэхүүн хэсгүүдийг нэг хадгалах системд хадгалах санаа байсан. Хадгалах систем нь олон шүүгээнээс бүрдэх бөгөөд шүүгээ тус бүр дээр нь LED суурилуулсан байх ёстой.

Хэрэглэгч хадгалах системтэй харилцахын тулд тусгай програм хангамжийг ашиглах болно. Хэрэглэгч бүрэлдэхүүн хайлт хийх үед систем нь хайлтын дээд үр дүнг дэлгэц дээр харуулдаг. Үүний зэрэгцээ хайлтанд тохирох 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 хэмжээтэй сүлжээнд нэгтгэв.

Надад ижил өнгөтэй утас байхгүй байсан тул хадгалах системийг жигд харагдуулахын тулд хар будаг нэмж өгөхөөр шийдлээ.

Лавлахын тулд 310 шүүгээтэй миний бүх 35 × 12 хэмжээтэй хадгалах системд 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 номын сан дэмждэг бол ажиллах болно.

Утасны хувьд Raspberry Pi, дэлгэц, LED-ийг тэжээхэд гурван USB-C кабелийг ашигладаг. HDMI кабель нь дэлгэц болон Raspberry Pi -ийг холбоход хэрэглэгддэг.

Зураг дээр үзүүлсэн Arduino Uno болон USB кабель нь заавал биш юм. Та өгөгдлийг Arduino руу Serial -ээр илгээж, LED хянагч болгон ашиглаж болно. Энгийнээр хэлэхэд энэ төсөлд Arduino -ийг ашиглахгүй байхыг сонгосон.

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

Python болон Raspberry Pi -тай Neopixel ашиглах гарын авлага энд байна.

Алхам 6: Програм хангамжийн тойм

Програм хангамжийн тойм
Програм хангамжийн тойм

Бүх эд ангиудыг 3D хэвлэж байхад би бүхэл системийг хянадаг програм хангамж дээр ажиллаж байсан.

Програм хангамж нь Python 3 дээр бичигдсэн бөгөөд Raspberry Pi дээр консол програм болгон ажиллуулах зориулалттай. Програм хангамжийн функцийг дараах хэсгүүдэд хувааж болно.

  • Хэрэглэгчийн оруулсан мэдээллийг уншина уу
  • Файлаас унших / файл руу бичих
  • Үр дүнг консол болон LED дээр гаргана

Би доорх алхам бүрийн хялбарчилсан тайлбарыг өгөх болно.

Хэрэглэгчийн оруулсан мэдээллийг уншина уу

Хэрэглэгчийн оролтыг хүлээн авах үед хэрэглэгчийн хүсэлтийг тодорхойлохын тулд Regex -ийн цуврал илэрхийллийг ашигладаг. Хэрэглэгч дараахь функцуудаас сонгох боломжтой.

Чиг үүрэг Дуудлагын жишээ
Бүх бүрэлдэхүүн хэсгүүдийг жагсаах: бүгд
ID -аар бүрэлдэхүүн хэсгийг хайх: ID22
Бүрэлдэхүүн хэсгүүдийг параметрүүдээр хайх: R, 22, SMD
Бүрэлдэхүүн хэсгийн хэмжээг өөрчлөх: ID35+10
Шинэ бүрэлдэхүүн хэсэг нэмэх: PI89: PI90, 100pcs, C, 470u, SMD: нэмэх
Одоо байгаа бүрэлдэхүүн хэсгийг устгах: ID10: rm
Синтаксийн тусламж: Туслаач

Файлаас унших / файл руу бичих

Бүрэлдэхүүн хэсгүүдийн өгөгдлийг.txt файлд хадгалдаг. Оролтоос хамааран програм хангамж нь файл доторх өгөгдлийг хайх эсвэл шинэ өгөгдлийг файлд бичдэг. Бүрэлдэхүүн хэсгүүдийг устгах, нэмэх, өөрчлөх үед шинэ өгөгдлийг бичдэг.

Үр дүнг гарга

Програм хангамж нь үйл ажиллагааны үр дүнг консол руу гаргадаг. Хэрэв хайлт хийсэн бол LED өгөгдлийг нэгэн зэрэг гаргаж, гаргадаг.

Алхам 7: Өгөгдлийн бүтэц

Өгөгдлийн бүтэц
Өгөгдлийн бүтэц

. Txt файл дахь бүрэлдэхүүн хэсгийн өгөгдөл нь тодорхой бүтэцтэй байдаг. Файлын мөр бүр нь системд хадгалагдсан нэг бүрэлдэхүүн хэсгийн тухай мэдээллийг агуулдаг. Бүр бүрэлдэхүүн хэсэг нь таслалаар тусгаарлагдсан хэд хэдэн параметрээс бүрдэнэ.

Зарим параметрүүд нь заавал байх ёстой бөгөөд бүрэлдэхүүн хэсгүүдийн байршил, LED өнгийг хянахад програм хангамж ашигладаг. Тиймээс тэд тодорхой форматыг дагаж мөрдөх ёстой.

Шаардлагатай параметрүүд ба тэдгээрийн форматууд нь:

  • ID (X нь нэг буюу хэд хэдэн оронтой IDX форматтай)

    ID нь бүрэлдэхүүн хэсэг бүрийн өвөрмөц танигчийн үүрэг гүйцэтгэдэг. Энэ нь бүрэлдэхүүн хэсгүүдийг хайх, устгахад ашиглагддаг

  • PI (PIX: X форматаар, X бол нэг буюу хэд хэдэн оронтой тоо)

    PI нь аль LED нь аль бүрэлдэхүүн хэсэгтэй тохирч байгааг тодорхойлдог

  • Тоо хэмжээ (Xpcs форматаар, X нь нэг буюу хэд хэдэн оронтой)

    Хэмжигдэхүүн нь бүрэлдэхүүн хэсэг бүрийн LED өнгийг тодорхойлоход хэрэглэгддэг

Бусад параметрүүд нь зөвхөн хэрэглэгчдэд зориулагдсан болно. Програм хангамж нь тэдгээртэй харьцах шаардлагагүй бөгөөд тэдгээрийн формат нь заавал биш юм.

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

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

Угсрах хэсгийг хоёр хэсэгт хувааж болох бөгөөд эхний хэсэг нь дэлгэцийн гар ба цахилгаан хэрэгсэл юм.

Би 3D хэвлэсэн эд ангиудыг шаардлагатай боолт, самар ашиглан угсарсан. Дараа нь би 4 мм-ийн эрэг ашиглан 3D хэвлэсэн гарыг HDMI дэлгэц дээр холбосон. Raspberry Pi -ийг тохиромжтой газарт хавсаргасан бөгөөд утсыг "Алхам 5: Электроникс" диаграмын дагуу холбосон.

Цахилгааны утсыг дэлгэцийн хаалтанд ороож кабелиар удирдахыг оролдсон. Би кабелийн холболтыг ашиглан хадгалалтын системийн үлдсэн хэсэгт холбогдохын тулд дэлгэцийн гар дагуу цахилгаан болон өгөгдлийн кабелийг чиглүүлэв.

Алхам 9: Угсрах - Хадгалах систем

Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем
Ассемблер - Хадгалах систем

Угсралтын хоёр дахь хэсэг нь хадгалах систем өөрөө юм.

Оруулсан шураг нүхийг ашиглан би тусдаа шүүгээний угсралтыг будагдсан фанер дээр бэхлэв.

Үүний дараа би LED зурвасыг эгнээ тус бүрт холбож, бүх мөрүүдийг нэг LED тууз болгон холбосон. LED зурвасын мөр, чиглэл бүрийн тохиргоо нь хамаагүй бөгөөд үүнийг програм хангамжид дахин тохируулж болно.

Угсарч дуусгахын тулд би фанерын самбарын хажуу талд электрон төхөөрөмж бүхий дэлгэцийн гарыг холбосон.

Би бүх бүрэлдэхүүн хэсгүүдийг шинэ байшинд нь ангилж,.txt файлын мэдээллийн санд оруулсан.

Алхам 10: Дүгнэлт

Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт

Төсөл одоо дууссан бөгөөд энэ нь хэрхэн болж байгаад үнэхээр баяртай байна!

Надад шинэ хадгалах системээ ашиглахад хэдхэн хоног л байсан бөгөөд маш сайн ажиллаж байна. Энэхүү төслийн зорилго байсан тул энэ систем нь миний ажлын урсгалыг ирээдүйд хэрхэн өөрчилж байгааг харахдаа баяртай байна.

Энэхүү төсөл танд таалагдсан гэж найдаж байна, хэрэв танд ямар нэгэн бодол, санал, асуулт байвал доор үлдээгээрэй.

Зөвлөмж болгож буй: