İçindekiler:

Bileşen Depolama Sistemi: 10 Adım (Resimlerle)
Bileşen Depolama Sistemi: 10 Adım (Resimlerle)

Video: Bileşen Depolama Sistemi: 10 Adım (Resimlerle)

Video: Bileşen Depolama Sistemi: 10 Adım (Resimlerle)
Video: Bilgisayar Bileşenlerini Tanıyalım 2024, Temmuz
Anonim
Bileşen Depolama Sistemi
Bileşen Depolama Sistemi

Ultimate Bileşen Depolama Sistemi, elektronik bileşenleri düzenlemek ve depolamak için benzersiz bir çözümdür. Özel yazılım, belirli bileşenlere hızlı erişim sağlamak için yerleşik bir arama işleviyle bileşenlerin kataloglanmasına olanak tanır. Her çekmecenin üzerindeki LED'ler, tek tek veya bir bileşen grubunun konumunu ve durumunu belirtmek için kullanılır.

Gereçler

Bu proje için aşağıdaki parçaları sağladığı için DFRobot'a teşekkür ederiz!

2 x 5V @ 3A USB Güç Kaynağı

Burada mevcut (bağlı kuruluş bağlantısı):

1 x Ahududu Pi 4 Model B

Burada mevcut (bağlı kuruluş bağlantısı):

1 x 8,9" 1920x1200 IPS Dokunmatik Ekran

Burada mevcut (bağlı kuruluş bağlantısı):

1 x WS2812b LED Şerit, 30LED/m

Ebay'de mevcut

Bu proje için tüm dosyalar GitHub'ımda bulunabilir:

Adım 1: Fikir

Fikir!
Fikir!

Arka plan

Bileşenlerimi organize etme ve saklama konusunda her zaman sorun yaşadım. Yukarıdaki fotoğraf, mevcut bileşen depolama çözümümün durumunu gösteriyor. Parçaları atölyenin her yerinde birden fazla kutuda bulundurmak bazıları için işe yarayabilirken, kendi iş akışımda her zaman verimsizlik olmuştur. Bu yüzden, bu sorunu çözmek için bir proje buldum.

Fikir

Fikir, tüm bileşenleri aynı depolama sisteminde depolamaktı. Depolama sistemi birçok çekmeceden oluşacak ve her çekmecenin üzerine bir LED monte edilecekti.

Kullanıcı, depolama sistemiyle etkileşim kurmak için özel bir yazılım kullanır. Kullanıcı bir bileşen araması yaptığında, sistem ekranda en iyi arama sonuçlarını görüntüler. Aynı zamanda, aramaya karşılık gelen LED'ler yanarak bileşenin depolama sistemi içindeki yerini gösterir.

LED'lerin rengi, konumu göstermenin yanı sıra, her bir bileşenin durumunu (yani miktarını) da gösterir.

gereksinimler

Fikir, bu projenin karşılamayı amaçladığı aşağıdaki gereksinimlere bölündü:

Küçük ve orta ölçekli bileşenler için basit bir depolama ve geri alınabilirlik sistemi oluşturun

Bileşenleri kataloglamak ve aramak için bir yazılım arayüzü oluşturun

Her bileşenin konumunu ve durumunu belirtmek için RGB LED'leri kullanın

Adım 2: Tasarım - Depolama Sistemi

Tasarım - Depolama Sistemi
Tasarım - Depolama Sistemi
Tasarım - Depolama Sistemi
Tasarım - Depolama Sistemi
Tasarım - Depolama Sistemi
Tasarım - Depolama Sistemi

Depolama sisteminin kendisini 3B modelleme ile başladım.

Depolama sistemini farklı boyutlarda 3D baskılı çekmeceler matrisi şeklinde tasarladım. Çekmeceler, toplam 310 çekmece için 35×12 ızgara şeklinde konumlandırılmıştır. Bu, tüm mevcut bileşenlerimi depolamak ve gelecekteki genişleme için yer bırakmak için yeterli alan.

Dikey yönde çekmeceler arasındaki boşluk, her çekmece sırasının üzerinde 10 mm genişliğinde bir LED şeridi barındıracak şekilde tasarlanmıştır. Yatay yöndeki boşluk, LED şeridindeki LED aralığına eşit olacak şekilde tasarlanmıştır. 30LED/metre LED şerit kullanmanın her çekmece için yeterli büyüklükte olacağını düşündüm.

Tüm çekmeceler ve çekmece tutucular ayrı ayrı basılmak ve istenilen konfigürasyona monte edilmek üzere tasarlanmıştır. Çekmeceler farklı boyutlarda mevcuttur ve herhangi bir çekmece konfigürasyonu bazı kod değişikliklerinden sonra yazılımla çalışacaktır.

Filament tüketimini ve baskı süresini en aza indirmek için, tüm 3D baskılı parçalardaki duvar kalınlığı minimumda tutulmuştur. Bir kez monte edildiğinde, genel depolama birimi, çoğu hafif ve orta ağırlıktaki bileşeni barındıracak kadar sağlamdır.

Adım 3: Tasarım - Ekran Kolu

Tasarım - Ekran Kolu
Tasarım - Ekran Kolu
Tasarım - Ekran Kolu
Tasarım - Ekran Kolu
Tasarım - Ekran Kolu
Tasarım - Ekran Kolu

Depolama sistemi, kullanıcı arayüzü için bir HDMI ekran gerektirdiğinden, ekranı ve elektroniği monte etmek için ayarlanabilir bir kol tasarlamaya karar verdim.

Ekran kolunun tüm parçaları 3D olarak basılmak üzere tasarlandı ve M8 cıvata ve somunlarla birleştirildi. Ekran kolu, HDMI ekranını, Raspberry Pi'yi ve tüm kabloları tutacak şekilde tasarlanmıştır.

Ekran kolunun parçaları, Thingiverse'in bu tasarımına dayanıyordu.

Adım 4: 3D Baskı ve Boyama

3D-Baskı ve Boyama
3D-Baskı ve Boyama
3D-Baskı ve Boyama
3D-Baskı ve Boyama
3D-Baskı ve Boyama
3D-Baskı ve Boyama

Tüm parçaların 3 boyutlu modellenmesinden sonra sıra yüzlerce çekmeceyi basmaya gelmişti.

Bu projenin tüm 3D baskılı kısımları için Prusa MK2S'imi kullandım. 0,2 mm katman yüksekliğinde ve %0 dolgulu PLA filament kullandım.

Destek malzemesine sadece orta boy çekmece tutucu ve büyük boy çekmece tutucu için ihtiyaç duyulmuştur. Çekmeceler ve çekmece tutucular arasındaki mükemmel toleransı 0,2 mm olarak belirledim. Kilometreniz 3D yazıcınıza çok bağlı olabilir.

Tüm ayrı parçaları yazdırdıktan sonra, tüm çekmece tutucuları 35×12 ızgarada bir araya getirmek için süper yapıştırıcı kullandım.

Aynı renkte yeterli filamanım yoktu, bu yüzden depolama sistemine eşit bir görünüm vermek için bir kat siyah boya eklemeye karar verdim.

Referans olarak, 310 çekmeceli tüm 35×12 depolama sistemimin yazdırılması için yaklaşık 5 kg filament gerekiyordu.

Adım 5: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik

Elektroniklere gelince, donanım seçimi oldukça basitti.

Kullanıcı arayüzü olarak bir HDMI ekrana bağlı Raspberry Pi 4 Model B'yi seçtim. Ayrıca başsız bir Raspberry Pi kullanabilir ve sistemle SSH üzerinden arayüz oluşturabilirsiniz. Raspberry Pi'nin eski sürümleri Python 3'ü çalıştırabiliyorlarsa da çalışabilir. Bu projede kullanılan Neopixel kitaplığı Python 2'de desteklenmemektedir.

LED'ler için özel bir neden olmaksızın 30LED/m, WS2812b, LED şeridi seçtim. Neopixel kitaplığı tarafından destekleniyorlarsa diğer LED şeritler de çalışacaktır.

Kablolamaya gelince, Raspberry Pi'ye, ekrana ve LED'lere güç sağlamak için üç adet USB-C kablosu kullanılır. Ekranı ve Raspberry Pi'yi bağlamak için bir HDMI kablosu kullanılır.

Fotoğrafta gösterilen Arduino Uno ve USB kablosu isteğe bağlıdır. Arduino'ya Seri üzerinden veri gönderebilir ve LED denetleyici olarak kullanabilirsiniz. Basit olması için bu projede Arduino kullanmamayı tercih ettim.

Raspberry Pi GPIO sadece 3V3 olduğundan LED'ler için veri hattına bir seviye değiştirici eklemek iyi bir tasarım uygulaması olacaktır. Şu ana kadar herhangi bir sorun yaşamadım ama olursa "74AHCT125 Quad Level-Shifter" gibi bir uygulama yapacağım.

Neopixel'i Python ve Raspberry Pi ile kullanma kılavuzu burada bulunmaktadır.

6. Adım: Yazılıma Genel Bakış

Yazılıma Genel Bakış
Yazılıma Genel Bakış

Tüm parçalar 3D olarak yazdırılırken, tüm sistemi kontrol eden yazılım üzerinde çalıştım.

Yazılım Python 3'te yazılmıştır ve Raspberry Pi'de bir konsol uygulaması olarak çalışması amaçlanmıştır. Yazılımın işlevselliği aşağıdaki bölümlere ayrılabilir:

  • Kullanıcı girişini oku
  • Dosyadan oku / dosyaya yaz
  • Sonuçları konsola ve LED'lere gönderin

Aşağıda her adımın basitleştirilmiş bir açıklamasını vereceğim.

Kullanıcı girişini oku

Bir kullanıcı girişi alındığında, kullanıcıların isteğini belirlemek için bir dizi Regex ifadesi kullanılır. Kullanıcının seçebileceği aşağıdaki işlevler vardır:

İşlev Çağrı Örneği
Tüm bileşenleri listele: herşey
Kimliğe göre bir bileşen arayın: ID22
Bir bileşeni parametrelere göre arayın: Sağ, 22, SMD
Bir bileşenin miktarını değiştirin: ID35+10
Yeni bir bileşen ekleyin: PI89:PI90, 100 adet, C, 470u, SMD:ekle
Mevcut bir bileşeni kaldırın: ID10:dm
Sözdizimi yardımı: Yardım

Dosyadan oku / dosyaya yaz

Bileşen verileri bir.txt dosyasında saklanır. Girdiye bağlı olarak yazılım ya dosyada veri arar ya da dosyaya yeni veri yazar. Bileşenleri kaldırırken, eklerken veya değiştirirken yeni veriler yazılır.

Sonuçları çıkar

Yazılım, işlemin sonuçlarını konsola verir. Bir arama yapılmışsa, aynı zamanda LED verilerini de üretir ve verir.

7. Adım: Veri Yapısı

Veri Yapısı
Veri Yapısı

.txt dosyasındaki bileşen verileri belirli bir yapıyı takip eder. Dosyanın her satırı, sistemde depolanan tek bir bileşen hakkında bilgi içerir. Her bileşen, virgülle ayrılmış birkaç parametreden oluşur.

Bazı parametreler zorunludur ve yazılım tarafından bileşen konumunu ve LED renklerini takip etmek için kullanılır. Bu nedenle belirli bir formatı takip etmeleri gerekir.

Zorunlu parametreler ve biçimleri şunlardır:

  • Kimlik (X'in bir veya daha fazla basamak olduğu IDX biçiminde)

    Kimlik, her bileşen için benzersiz bir tanımlayıcı görevi görür. Bileşenleri ararken ve silerken kullanılır

  • PI (X'in bir veya daha fazla basamak olduğu PIX:X biçiminde)

    PI, hangi LED'lerin hangi bileşene karşılık geldiğini açıklar

  • Miktar (X'in bir veya daha fazla basamak olduğu Xpcs biçiminde)

    Miktar, her bileşen için LED rengini belirlemek için kullanılır

Diğer parametreler sadece kullanıcı içindir. Yazılımın bunlarla etkileşime girmesi gerekmez ve bu nedenle biçimleri isteğe bağlıdır.

Adım 8: Montaj - Elektronik

Montaj - Elektronik
Montaj - Elektronik
Montaj - Elektronik
Montaj - Elektronik

Montaj iki parçaya bölünebilir, ilk kısım gösterge kolu ve elektronik aksamdır.

3D baskılı parçaları gerekli cıvata ve somunları kullanarak birleştirdim. Daha sonra 3D baskılı kolu 4 mm vidalar kullanarak HDMI ekrana bağladım. Raspberry Pi uygun bir yere takıldı ve kablolama "Adım 5: Elektronik" bölümündeki şemaya göre bağlandı.

Ekran braketinin etrafına sarılarak kablolamayı yönetmek için bir girişimde bulunuldu. Depolama sisteminin geri kalanına bağlanmak için güç ve veri kablolarını ekran kolu boyunca yönlendirmek için kablo bağları kullandım.

Adım 9: Montaj - Depolama Sistemi

Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi
Montaj - Depolama Sistemi

Montajın ikinci kısmı, depolama sisteminin kendisidir.

Birlikte verilen vida deliklerini kullanarak, tüm ayrı çekmece düzeneklerini arkalık görevi gören bir parça boyalı kontrplak üzerine tuttum.

Daha sonra LED şeritlerini her sıraya bağladım ve tüm sıraları tek bir LED şeridine bağladım. Her sıranın konfigürasyonu ve LED şeridinin yönü, yazılımda yeniden konfigüre edilebildiğinden önemli değildir.

Montajı bitirmek için elektronik aksamlı ekran kolunu kontrplak arkalığın yan tarafına bağladım.

Tüm bileşenleri yeni evlerine yerleştirdim ve onları.txt dosya veritabanına ekledim.

Adım 10: Sonuç

sonuç
sonuç
sonuç
sonuç
sonuç
sonuç

Proje şimdi bitti ve ortaya çıkmasından gerçekten çok memnunum!

Yeni depolama sistemimi sadece birkaç gündür kullanmak için zamanım oldu ve harika çalışıyor. Tüm projenin amacı bu olduğundan, bu sistemin gelecekte iş akışımı nasıl değiştirdiğini görmek beni heyecanlandırıyor.

Umarım bu projeyi beğenmişsinizdir ve herhangi bir düşünceniz, yorumunuz veya sorunuz varsa lütfen aşağıda bırakın.

Önerilen: