Spisu treści:

System przechowywania komponentów: 10 kroków (ze zdjęciami)
System przechowywania komponentów: 10 kroków (ze zdjęciami)

Wideo: System przechowywania komponentów: 10 kroków (ze zdjęciami)

Wideo: System przechowywania komponentów: 10 kroków (ze zdjęciami)
Wideo: Zamiana liczb - system dwójkowy, szesnastkowy, ósemkowy, dziesiętny 2024, Listopad
Anonim
System przechowywania komponentów
System przechowywania komponentów

Ultimate Component Storage System to unikalne rozwiązanie do organizowania i przechowywania komponentów elektronicznych. Niestandardowe oprogramowanie pozwala na katalogowanie komponentów z wbudowaną funkcją wyszukiwania w celu uzyskania szybkiego dostępu do określonych komponentów. Diody LED nad każdą szufladą służą do wskazywania lokalizacji i stanu pojedynczego lub grupy komponentów.

Kieszonkowe dzieci

Dziękujemy firmie DFRobot za dostarczenie następujących części do tego projektu!

Zasilanie USB 2x5V @ 3A

Dostępne tutaj (link partnerski):

1 x Raspberry Pi 4 Model B

Dostępne tutaj (link partnerski):

1x8,9" wyświetlacz dotykowy IPS 1920x1200

Dostępne tutaj (link partnerski):

1 x taśma LED WS2812b, 30 LED/m

Dostępne w serwisie eBay

Wszystkie pliki dla tego projektu można znaleźć na moim GitHub:

Krok 1: Pomysł

Pomysł!
Pomysł!

Tło

Zawsze miałem problemy z porządkowaniem i przechowywaniem moich komponentów. Zdjęcie powyżej pokazuje stan mojego obecnego rozwiązania do przechowywania komponentów. Chociaż posiadanie komponentów w wielu pudełkach w całym warsztacie może działać dla niektórych, zawsze było to nieefektywne w moim własnym przepływie pracy. Wymyśliłem więc projekt rozwiązania tego problemu.

Pomysł

Pomysł polegał na przechowywaniu wszystkich komponentów w tym samym systemie magazynowym. System przechowywania składałby się z wielu szuflad, a każda szuflada miałaby zamontowaną nad nią diodę LED.

Użytkownik korzystałby z niestandardowego oprogramowania do interakcji z systemem pamięci masowej. Gdy użytkownik przeprowadza wyszukiwanie komponentów, system wyświetla na ekranie najlepsze wyniki wyszukiwania. Jednocześnie zapalają się diody LED odpowiadające wyszukiwaniu, wskazując w ten sposób lokalizację komponentu w systemie pamięci masowej.

Oprócz wyświetlania lokalizacji, kolor diod LED wskazywałby również stan (tj. Ilość) każdego komponentu.

Wymagania

Pomysł został podzielony na następujące wymagania, które ma spełnić ten projekt:

Stwórz prosty system przechowywania i wyszukiwania dla małych i średnich komponentów

Utwórz interfejs oprogramowania do katalogowania i przeszukiwania komponentów

Użyj diod LED RGB, aby wskazać lokalizację i stan każdego elementu

Krok 2: Projekt - system pamięci masowej

Projekt - system przechowywania
Projekt - system przechowywania
Projekt - system przechowywania
Projekt - system przechowywania
Projekt - system przechowywania
Projekt - system przechowywania

Zacząłem od modelowania 3D samego systemu przechowywania.

Zaprojektowałem system przechowywania w postaci matrycy wydrukowanych w 3D szuflad w różnych rozmiarach. Szuflady są rozmieszczone w siatce 35×12, co daje łącznie 310 szuflad. To wystarczająco dużo miejsca, aby pomieścić wszystkie moje obecne komponenty i zostawić miejsce na przyszłą rozbudowę.

Odstęp między szufladami w pionie został zaprojektowany tak, aby pomieścić pasek LED o szerokości 10 mm nad każdym rzędem szuflad. Rozstaw w kierunku poziomym jest zaprojektowany tak, aby był równy rozstawowi diod LED na taśmie LED. Pomyślałem, że użycie paska LED 30 LED/metr zapewni odpowiednią wielkość każdej szuflady.

Wszystkie szuflady i uchwyty szuflad są przeznaczone do oddzielnego drukowania i montażu w żądanej konfiguracji. Szuflady są dostępne w różnych rozmiarach, a dowolna konfiguracja szuflad będzie działać z oprogramowaniem po zmianie kodu.

Aby zminimalizować zużycie filamentu i czas drukowania, grubość ścianek wszystkich części drukowanych w 3D została ograniczona do minimum. Po złożeniu całość jest wystarczająco wytrzymała, aby pomieścić większość lekkich i średnich elementów.

Krok 3: Projekt - ramię wyświetlacza

Konstrukcja - ramię wyświetlacza
Konstrukcja - ramię wyświetlacza
Konstrukcja - ramię wyświetlacza
Konstrukcja - ramię wyświetlacza
Konstrukcja - ramię wyświetlacza
Konstrukcja - ramię wyświetlacza

Ponieważ system przechowywania wymaga wyświetlacza HDMI do interfejsu użytkownika, postanowiłem zaprojektować regulowane ramię, na którym można zamontować wyświetlacz i elektronikę.

Wszystkie części ramienia wyświetlacza zostały zaprojektowane do drukowania 3D i zmontowane za pomocą śrub i nakrętek M8. Ramię wyświetlacza jest przeznaczone do podtrzymywania wyświetlacza HDMI, Raspberry Pi i całego okablowania.

Części ramienia wyświetlacza zostały oparte na tym projekcie firmy Thingiverse.

Krok 4: Drukowanie i malowanie 3D

Drukowanie i malowanie 3D
Drukowanie i malowanie 3D
Drukowanie i malowanie 3D
Drukowanie i malowanie 3D
Drukowanie i malowanie 3D
Drukowanie i malowanie 3D

Po modelowaniu 3D wszystkich części przyszedł czas na wydrukowanie setek szuflad.

Użyłem mojego Prusa MK2S do wszystkich wydrukowanych w 3D części tego projektu. Użyłem filamentu PLA o wysokości warstwy 0,2 mm i wypełnieniu 0%.

Materiał podporowy był potrzebny tylko w przypadku średniej wielkości uchwytu szuflady i dużego uchwytu szuflady. Ustaliłem, że idealna tolerancja między szufladami a uchwytami szuflad wynosi 0,2 mm. Twój przebieg może bardzo zależeć od Twojej drukarki 3D.

Po wydrukowaniu wszystkich oddzielnych części, użyłem kleju superglue do złożenia razem wszystkich uchwytów szuflad w siatkę 35×12.

Nie miałem wystarczającej ilości filamentu w tym samym kolorze, więc postanowiłem dodać warstwę czarnej farby, aby system przechowywania wyglądał równomiernie.

Dla porównania, cały mój system przechowywania 35×12 z 310 szufladami wymagał do wydrukowania około 5 kg filamentu.

Krok 5: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Jeśli chodzi o elektronikę, wybór sprzętu był dość prosty.

Jako interfejs użytkownika wybrałem Raspberry Pi 4 Model B podłączony do wyświetlacza HDMI. Możesz także użyć bezgłowego Raspberry Pi i połączyć się z systemem przez SSH. Starsze wersje Raspberry Pi mogą również działać, jeśli są w stanie uruchomić Python 3. Biblioteka Neopixel używana w tym projekcie nie jest obsługiwana przez Python 2.

W przypadku diod LED wybrałem taśmę LED 30LED/m, WS2812b bez szczególnego powodu. Inne paski LED również będą działać, jeśli są obsługiwane przez bibliotekę Neopixel.

Jeśli chodzi o okablowanie, do zasilania Raspberry Pi, wyświetlacza i diod LED służą trzy kable USB-C. Do połączenia wyświetlacza i Raspberry Pi służy kabel HDMI.

Kabel Arduino Uno i USB pokazany na zdjęciu jest opcjonalny. Możesz wysyłać dane do Arduino przez port szeregowy i używać go jako kontrolera LED. Dla uproszczenia postanowiłem nie używać Arduino w tym projekcie.

Dobrą praktyką projektową byłoby włączenie przełącznika poziomu na linii danych dla diod LED, ponieważ GPIO Raspberry Pi ma tylko 3V3. Do tej pory nie miałem żadnych problemów, ale jeśli to zrobię, zaimplementuję coś w rodzaju "74AHCT125 Quad Level-Shifter".

Przewodnik dotyczący korzystania z Neopixel z Pythonem i Raspberry Pi znajduje się tutaj.

Krok 6: Przegląd oprogramowania

Przegląd oprogramowania
Przegląd oprogramowania

Podczas gdy wszystkie części były drukowane w 3D, pracowałem nad oprogramowaniem kontrolującym cały system.

Oprogramowanie jest napisane w Pythonie 3 i ma działać jako aplikacja konsolowa na Raspberry Pi. Funkcjonalność oprogramowania można podzielić na następujące części:

  • Przeczytaj dane wprowadzone przez użytkownika
  • Odczyt z pliku / zapis do pliku
  • Prześlij wyniki do konsoli i diod LED

Poniżej podam uproszczony opis każdego kroku.

Przeczytaj dane wprowadzone przez użytkownika

Po odebraniu danych wejściowych użytkownika do określenia żądania użytkownika używana jest seria wyrażeń Regex. Użytkownik ma do wyboru następujące funkcje:

Funkcjonować Przykład połączenia
Wymień wszystkie komponenty: wszystko
Wyszukaj komponent według identyfikatora: ID22
Wyszukaj komponent według parametrów: R, 22, SMD
Zmień ilość składnika: ID35+10
Dodaj nowy komponent: PI89:PI90, 100szt, C, 470u, SMD: dodaj
Usuń istniejący komponent: ID10: rm
Pomoc dotycząca składni: Wsparcie

Odczyt z pliku / zapis do pliku

Dane komponentów są przechowywane w pliku.txt. W zależności od danych wejściowych oprogramowanie albo wyszukuje dane w pliku, albo zapisuje nowe dane do pliku. Nowe dane są zapisywane podczas usuwania, dodawania lub modyfikowania komponentów.

Prześlij wyniki

Oprogramowanie wyprowadza wyniki operacji do konsoli. Jeśli przeprowadzono wyszukiwanie, jednocześnie generuje i wysyła dane LED.

Krok 7: Struktura danych

Struktura danych
Struktura danych

Dane komponentów w pliku.txt mają określoną strukturę. Każdy wiersz pliku zawiera informacje o pojedynczym komponencie, który jest przechowywany w systemie. Każdy składnik składa się z kilku parametrów oddzielonych przecinkiem.

Niektóre parametry są obowiązkowe i są używane przez oprogramowanie do śledzenia lokalizacji komponentów i kolorów diod LED. Muszą zatem mieć określony format.

Obowiązkowe parametry i ich formaty to:

  • ID (w formacie IDX, gdzie X to jedna lub więcej cyfr)

    Identyfikator działa jako unikalny identyfikator dla każdego komponentu. Jest używany podczas wyszukiwania i usuwania komponentów

  • PI (w formacie PIX:X, gdzie X to jedna lub więcej cyfr)

    PI opisuje, które diody LED odpowiadają któremu komponentowi

  • Ilość (w formacie Xszt gdzie X to jedna lub więcej cyfr)

    Ilość służy do określenia koloru LED dla każdego komponentu

Inne parametry są po prostu przeznaczone dla użytkownika. Oprogramowanie nie musi z nimi współdziałać, dlatego ich format jest opcjonalny.

Krok 8: Montaż - Elektronika

Montaż - Elektronika
Montaż - Elektronika
Montaż - Elektronika
Montaż - Elektronika

Całość można podzielić na dwie części, z których pierwsza to ramię wyświetlacza i elektronika.

Zmontowałem części wydrukowane w 3D za pomocą wymaganych śrub i nakrętek. Następnie przymocowałem ramię wydrukowane w 3D do wyświetlacza HDMI za pomocą śrub 4 mm. Raspberry Pi zamontowano w dogodnym miejscu, a okablowanie poprowadzono zgodnie ze schematem w "Kroku 5: Elektronika".

Podjęto próbę uporządkowania kabli poprzez zwijanie ich wokół wspornika wyświetlacza. Użyłem opasek kablowych, aby poprowadzić kable zasilania i danych wzdłuż ramienia wyświetlacza w celu połączenia z resztą systemu pamięci masowej.

Krok 9: Montaż - system przechowywania

Montaż - System przechowywania
Montaż - System przechowywania
Montaż - system przechowywania
Montaż - system przechowywania
Montaż - System przechowywania
Montaż - System przechowywania
Montaż - system przechowywania
Montaż - system przechowywania

Druga część zestawu to sam system przechowywania.

Korzystając z dołączonych otworów na śruby, przymocowałem wszystkie oddzielne zespoły szuflad do kawałka pomalowanej sklejki, która działa jak tablica.

Następnie przymocowałem paski LED w każdym rzędzie i połączyłem wszystkie rzędy w jeden pasek LED. Konfiguracja każdego rzędu i kierunku taśmy LED nie ma znaczenia, ponieważ można ją przekonfigurować w oprogramowaniu.

Na koniec montażu przymocowałem ramię wyświetlacza z elektroniką z boku tablicy ze sklejki.

Posortowałem wszystkie komponenty do ich nowego domu i dodałem je do bazy danych pliku.txt.

Krok 10: Wnioski

Wniosek
Wniosek
Wniosek
Wniosek
Wniosek
Wniosek

Projekt jest już skończony i jestem bardzo zadowolona z tego, jak się udało!

Miałem czas na korzystanie z mojego nowego systemu pamięci masowej tylko przez kilka dni i działa on świetnie. Jestem podekscytowany, widząc, jak ten system zmieni mój przepływ pracy w przyszłości, ponieważ taki był cel całego projektu.

Mam nadzieję, że podobał Ci się ten projekt i jeśli masz jakieś przemyślenia, komentarze lub pytania, zostaw je poniżej.

Zalecana: