Πίνακας περιεχομένων:

Το σύστημα αποθήκευσης εξαρτημάτων: 10 βήματα (με εικόνες)
Το σύστημα αποθήκευσης εξαρτημάτων: 10 βήματα (με εικόνες)

Βίντεο: Το σύστημα αποθήκευσης εξαρτημάτων: 10 βήματα (με εικόνες)

Βίντεο: Το σύστημα αποθήκευσης εξαρτημάτων: 10 βήματα (με εικόνες)
Βίντεο: Ο υπολογιστής δεν αναγνωρίζει τον σκληρό δίσκο - Οδηγός και Λύσεις 2024, Ιούλιος
Anonim
Το σύστημα αποθήκευσης εξαρτημάτων
Το σύστημα αποθήκευσης εξαρτημάτων

Το Ultimate Component Storage System είναι μια μοναδική λύση για την οργάνωση και αποθήκευση ηλεκτρονικών εξαρτημάτων. Το προσαρμοσμένο λογισμικό επιτρέπει την καταλογογράφηση στοιχείων με ενσωματωμένη λειτουργία αναζήτησης για γρήγορη πρόσβαση σε συγκεκριμένα στοιχεία. Οι λυχνίες LED πάνω από κάθε συρτάρι χρησιμοποιούνται για να υποδείξουν τη θέση και την κατάσταση μεμονωμένων ή μιας ομάδας εξαρτημάτων.

Προμήθειες

Ευχαριστούμε την DFRobot για την παροχή των παρακάτω μερών για αυτό το έργο!

2 x 5V @ 3A Τροφοδοτικό USB

Διαθέσιμο εδώ (συνδεδεμένος σύνδεσμος):

1 x Raspberry Pi 4 Μοντέλο Β

Διαθέσιμο εδώ (συνδεδεμένος σύνδεσμος):

1 x οθόνη αφής 8,9 "1920x1200 IPS

Διαθέσιμο εδώ (συνδεδεμένος σύνδεσμος):

1 x WS2812b LED-Strip, 30LED/m

Διαθέσιμο στο Ebay

Όλα τα αρχεία για αυτό το έργο μπορείτε να τα βρείτε στο GitHub μου:

Βήμα 1: Η ιδέα

Η ιδέα!
Η ιδέα!

Ιστορικό

Ανέκαθεν είχα πρόβλημα να οργανώσω και να αποθηκεύσω τα εξαρτήματά μου. Η παραπάνω φωτογραφία δείχνει την κατάσταση της τρέχουσας λύσης αποθήκευσης εξαρτημάτων μου. Παρόλο που τα εξαρτήματα σε πολλά κουτιά σε όλο το εργαστήριο μπορεί να λειτουργήσουν για κάποιους, ήταν πάντα μια αναποτελεσματικότητα στη δική μου ροή εργασίας. Έτσι, κατέληξα σε ένα έργο για την επίλυση αυτού του προβλήματος.

Η ιδέα

Η ιδέα ήταν να αποθηκευτούν όλα τα εξαρτήματα στο ίδιο σύστημα αποθήκευσης. Το σύστημα αποθήκευσης θα αποτελείται από πολλά συρτάρια και κάθε συρτάρι θα έχει ένα LED τοποθετημένο πάνω του.

Ο χρήστης θα χρησιμοποιούσε ένα προσαρμοσμένο λογισμικό για να αλληλεπιδράσει με το σύστημα αποθήκευσης. Όταν ο χρήστης πραγματοποιεί αναζήτηση εξαρτημάτων, το σύστημα εμφανίζει τα κορυφαία αποτελέσματα αναζήτησης στην οθόνη. Ταυτόχρονα, ανάβουν τα LED που αντιστοιχούν στην αναζήτηση, υποδεικνύοντας έτσι τη θέση του εξαρτήματος μέσα στο σύστημα αποθήκευσης.

Εκτός από την εμφάνιση της θέσης, το χρώμα των LED θα δείξει επίσης την κατάσταση (δηλαδή την ποσότητα) κάθε εξαρτήματος.

Οι απαιτήσεις

Η ιδέα χωρίστηκε στις ακόλουθες απαιτήσεις τις οποίες το έργο αυτό στοχεύει να ικανοποιήσει:

Δημιουργήστε ένα απλό σύστημα αποθήκευσης και ανάκτησης για μικρά και μεσαία εξαρτήματα

Δημιουργήστε μια διεπαφή λογισμικού για καταλογογράφηση και αναζήτηση μέσω των στοιχείων

Χρησιμοποιήστε LED RGB για να υποδείξετε τη θέση και την κατάσταση κάθε εξαρτήματος

Βήμα 2: Σχεδιασμός - Σύστημα αποθήκευσης

Σχεδιασμός - Σύστημα αποθήκευσης
Σχεδιασμός - Σύστημα αποθήκευσης
Σχεδιασμός - Σύστημα αποθήκευσης
Σχεδιασμός - Σύστημα αποθήκευσης
Σχεδιασμός - Σύστημα αποθήκευσης
Σχεδιασμός - Σύστημα αποθήκευσης

Ξεκίνησα με τρισδιάστατη μοντελοποίηση του ίδιου του συστήματος αποθήκευσης.

Σχεδίασα το σύστημα αποθήκευσης με τη μορφή μήτρας συρταριών με 3D εκτύπωση σε διάφορα μεγέθη. Τα συρτάρια τοποθετούνται σε πλέγμα 35 × 12 για συνολικά 310 συρτάρια. Αυτός είναι αρκετός χώρος για να αποθηκεύσω όλα τα τρέχοντα στοιχεία μου και να αφήσω χώρο για μελλοντική επέκταση.

Η απόσταση μεταξύ συρταριών στην κατακόρυφη κατεύθυνση έχει σχεδιαστεί για να φιλοξενεί μια λωρίδα LED πλάτους 10 mm πάνω από κάθε σειρά συρταριών. Η απόσταση στην οριζόντια κατεύθυνση έχει σχεδιαστεί για να ισούται με την απόσταση LED στη λωρίδα LED. Σκέφτηκα ότι η χρήση μιας λωρίδας LED 30LED/μέτρο θα κάνει το κατάλληλο μέγεθος κάθε συρταριού.

Όλα τα συρτάρια και οι θήκες συρταριών έχουν σχεδιαστεί για να εκτυπώνονται ξεχωριστά και να συναρμολογούνται στην επιθυμητή διαμόρφωση. Τα συρτάρια διατίθενται σε διαφορετικά μεγέθη και οποιαδήποτε διαμόρφωση συρταριών θα λειτουργεί με το λογισμικό μετά από κάποιες αλλαγές κώδικα.

Για να ελαχιστοποιηθεί η κατανάλωση νήματος και ο χρόνος εκτύπωσης, το πάχος του τοιχώματος σε όλα τα τρισδιάστατα εξαρτήματα έχει περιοριστεί στο ελάχιστο. Μόλις συναρμολογηθεί, η συνολική μονάδα αποθήκευσης είναι αρκετά ανθεκτική για να φιλοξενήσει τα περισσότερα ελαφριά και μεσαία εξαρτήματα.

Βήμα 3: Σχεδιασμός - Βραχίονας εμφάνισης

Σχεδιασμός - Βραχίονας εμφάνισης
Σχεδιασμός - Βραχίονας εμφάνισης
Σχεδιασμός - Βραχίονας εμφάνισης
Σχεδιασμός - Βραχίονας εμφάνισης
Σχεδιασμός - Βραχίονας εμφάνισης
Σχεδιασμός - Βραχίονας εμφάνισης

Δεδομένου ότι το σύστημα αποθήκευσης απαιτεί οθόνη HDMI για διεπαφή χρήστη, αποφάσισα να σχεδιάσω έναν ρυθμιζόμενο βραχίονα για να τοποθετήσω την οθόνη και τα ηλεκτρονικά.

Όλα τα μέρη του βραχίονα οθόνης σχεδιάστηκαν για εκτύπωση 3D και συναρμολογούνται με μπουλόνια και παξιμάδια M8. Ο βραχίονας οθόνης έχει σχεδιαστεί για να συγκρατεί την οθόνη HDMI, το Raspberry Pi και όλες τις καλωδιώσεις.

Μέρη του βραχίονα της οθόνης βασίστηκαν σε αυτό το σχέδιο της Thingiverse.

Βήμα 4: Τρισδιάστατη εκτύπωση & ζωγραφική

Τρισδιάστατη Εκτύπωση & Ζωγραφική
Τρισδιάστατη Εκτύπωση & Ζωγραφική
Τρισδιάστατη Εκτύπωση & Ζωγραφική
Τρισδιάστατη Εκτύπωση & Ζωγραφική
Τρισδιάστατη Εκτύπωση & Ζωγραφική
Τρισδιάστατη Εκτύπωση & Ζωγραφική

Μετά την τρισδιάστατη μοντελοποίηση όλων των τμημάτων, ήρθε η ώρα να ξεκινήσουμε την εκτύπωση των εκατοντάδων συρταριών.

Χρησιμοποίησα το Prusa MK2S μου για όλα τα τρισδιάστατα τυπωμένα μέρη αυτού του έργου. Χρησιμοποίησα νήμα PLA με ύψος στρώματος 0,2 mm και 0% γέμισμα.

Το υλικό στήριξης χρειάστηκε μόνο για τη μεσαίου μεγέθους θήκη συρταριών και τη μεγάλη συρταριέρα. Προσδιόρισα ότι η τέλεια ανοχή μεταξύ συρταριών και συρταριών είναι 0,2mm. Τα χιλιόμετρα μπορεί να εξαρτώνται πολύ από τον τρισδιάστατο εκτυπωτή σας.

Αφού εκτύπωσα όλα τα ξεχωριστά μέρη, χρησιμοποίησα υπερκολλή για να συγκεντρώσω όλες τις θήκες συρταριών στο πλέγμα 35 × 12.

Δεν είχα αρκετό νήμα του ίδιου χρώματος, οπότε αποφάσισα να προσθέσω ένα στρώμα μαύρου χρώματος για να δώσω στο σύστημα αποθήκευσης μια ομοιόμορφη εμφάνιση.

Για αναφορά, ολόκληρο το σύστημα αποθήκευσης 35 × 12 με 310 συρτάρια χρειάστηκε περίπου 5 κιλά νήματος για εκτύπωση.

Βήμα 5: Τα Ηλεκτρονικά

Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά

Όσον αφορά τα ηλεκτρονικά, η επιλογή υλικού ήταν αρκετά απλή.

Διάλεξα ένα Raspberry Pi 4 Model B συνδεδεμένο σε οθόνη HDMI ως το περιβάλλον εργασίας χρήστη. Θα μπορούσατε επίσης να χρησιμοποιήσετε ένα ακέφαλο Raspberry Pi και διασύνδεση με το σύστημα μέσω SSH. Παλαιότερες εκδόσεις του Raspberry Pi ενδέχεται επίσης να λειτουργούν εάν είναι σε θέση να εκτελέσουν Python 3. Η βιβλιοθήκη Neopixel που χρησιμοποιείται σε αυτό το έργο δεν υποστηρίζεται στο Python 2.

Για τα LED, επέλεξα τη λωρίδα LED 30LED/m, WS2812b χωρίς ιδιαίτερο λόγο. Άλλες λωρίδες LED θα λειτουργήσουν επίσης εάν υποστηρίζονται από τη βιβλιοθήκη Neopixel.

Όσον αφορά την καλωδίωση, χρησιμοποιούνται τρία καλώδια USB-C για να παρέχουν ισχύ στο Raspberry Pi, την οθόνη και τα LED. Ένα καλώδιο HDMI χρησιμοποιείται για τη σύνδεση της οθόνης και του Raspberry Pi.

Το Arduino Uno και το καλώδιο USB που εμφανίζονται στη φωτογραφία είναι προαιρετικά. Μπορείτε να στείλετε δεδομένα στο Arduino μέσω Serial και να τα χρησιμοποιήσετε ως ελεγκτή LED. Για λόγους απλότητας, επέλεξα να μην χρησιμοποιήσω το Arduino σε αυτό το έργο.

Μια καλή πρακτική σχεδίασης θα ήταν να συμπεριλάβετε έναν μετατροπέα επιπέδου στη γραμμή δεδομένων για τα LED, καθώς το Raspberry Pi GPIO είναι μόνο 3V3. Δεν είχα κανένα πρόβλημα μέχρι τώρα, αλλά αν το κάνω, θα εφαρμόσω κάτι σαν το "74AHCT125 Quad Level-Shifter".

Ένας οδηγός για τη χρήση του Neopixel με την Python και το Raspberry Pi υπάρχει εδώ.

Βήμα 6: Επισκόπηση λογισμικού

Επισκόπηση λογισμικού
Επισκόπηση λογισμικού

Ενώ όλα τα μέρη εκτυπώνονταν 3D, δούλεψα στο λογισμικό που ελέγχει ολόκληρο το σύστημα.

Το λογισμικό είναι γραμμένο σε Python 3 και προορίζεται να τρέξει ως εφαρμογή κονσόλας στο Raspberry Pi. Η λειτουργικότητα του λογισμικού μπορεί να αναλυθεί στα ακόλουθα μέρη:

  • Διαβάστε την εισαγωγή χρήστη
  • Διαβάστε από αρχείο / γράψτε σε αρχείο
  • Εξάγετε τα αποτελέσματα στην κονσόλα και τις λυχνίες LED

Θα δώσω μια απλοποιημένη περιγραφή για κάθε βήμα παρακάτω.

Διαβάστε την εισαγωγή χρήστη

Όταν λαμβάνεται μια είσοδος χρήστη, χρησιμοποιείται μια σειρά εκφράσεων Regex για τον προσδιορισμό του αιτήματος των χρηστών. Ο χρήστης έχει τις ακόλουθες λειτουργίες για να επιλέξει:

Λειτουργία Παράδειγμα κλήσης
Παραθέστε όλα τα συστατικά: όλα
Αναζήτηση στοιχείου ανά αναγνωριστικό: ID22
Αναζήτηση ενός στοιχείου ανά παράμετρο: R, 22, SMD
Αλλάξτε την ποσότητα ενός συστατικού: ID35+10
Προσθήκη νέου στοιχείου: PI89: PI90, 100τεμ., C, 470u, SMD: προσθήκη
Κατάργηση ενός υπάρχοντος στοιχείου: ID10: rm
Σύνταξη βοήθεια: βοήθεια

Διαβάστε από αρχείο / γράψτε σε αρχείο

Τα στοιχεία στοιχείων αποθηκεύονται σε ένα αρχείο.txt. Ανάλογα με την είσοδο, το λογισμικό είτε αναζητά δεδομένα στο αρχείο είτε γράφει νέα δεδομένα στο αρχείο. Τα νέα δεδομένα γράφονται κατά την αφαίρεση, την προσθήκη ή την τροποποίηση στοιχείων.

Εξάγετε τα αποτελέσματα

Το λογισμικό εξάγει τα αποτελέσματα από τη λειτουργία στην κονσόλα. Εάν έχει πραγματοποιηθεί αναζήτηση, παράγει και εξάγει ταυτόχρονα δεδομένα LED.

Βήμα 7: Η δομή δεδομένων

Η δομή δεδομένων
Η δομή δεδομένων

Τα στοιχεία συστατικών στο αρχείο.txt ακολουθούν μια συγκεκριμένη δομή. Κάθε σειρά του αρχείου περιέχει πληροφορίες σχετικά με ένα μόνο στοιχείο που είναι αποθηκευμένο στο σύστημα. Κάθε στοιχείο αποτελείται από πολλές παραμέτρους που χωρίζονται με κόμμα.

Ορισμένες παράμετροι είναι υποχρεωτικές και χρησιμοποιούνται από το λογισμικό για την παρακολούθηση της θέσης των εξαρτημάτων και των χρωμάτων LED. Πρέπει επομένως να ακολουθούν συγκεκριμένη μορφή.

Οι υποχρεωτικές παράμετροι και οι μορφές τους είναι:

  • Αναγνωριστικό (με τη μορφή IDX όπου το Χ είναι ένα ή περισσότερα ψηφία)

    Το αναγνωριστικό λειτουργεί ως μοναδικό αναγνωριστικό για κάθε στοιχείο. Χρησιμοποιείται κατά την αναζήτηση και τη διαγραφή στοιχείων

  • PI (με τη μορφή PIX: X όπου X είναι ένα ή περισσότερα ψηφία)

    Το PI περιγράφει ποια LED αντιστοιχούν σε ποιο στοιχείο

  • Ποσότητα (σε μορφή Xpcs όπου X είναι ένα ή περισσότερα ψηφία)

    Η ποσότητα χρησιμοποιείται για τον προσδιορισμό του χρώματος LED για κάθε στοιχείο

Άλλες παράμετροι προορίζονται απλώς για τον χρήστη. Το λογισμικό δεν χρειάζεται να αλληλεπιδρά με αυτά και επομένως η μορφή τους είναι προαιρετική.

Βήμα 8: Συναρμολόγηση - Ηλεκτρονικά

Συναρμολόγηση - Ηλεκτρονικά
Συναρμολόγηση - Ηλεκτρονικά
Συναρμολόγηση - Ηλεκτρονικά
Συναρμολόγηση - Ηλεκτρονικά

Το συγκρότημα μπορεί να χωριστεί σε δύο μέρη, το πρώτο μέρος είναι ο βραχίονας οθόνης και τα ηλεκτρονικά.

Συγκέντρωσα τα τρισδιάστατα τυπωμένα μέρη χρησιμοποιώντας τα απαιτούμενα μπουλόνια και παξιμάδια. Στη συνέχεια, επισυνάπτω τον βραχίονα με 3D εκτύπωση στην οθόνη HDMI χρησιμοποιώντας βίδες 4mm. Το Raspberry Pi συνδέθηκε σε βολική τοποθεσία και η καλωδίωση συνδέθηκε σύμφωνα με το διάγραμμα στο "Βήμα 5: Τα Ηλεκτρονικά".

Έγινε μια προσπάθεια να διαχειριστεί η καλωδίωση την καλωδίωση περιελίγοντάς την γύρω από το στήριγμα οθόνης. Χρησιμοποίησα συνδέσμους καλωδίων για να καθοδηγήσω τα καλώδια τροφοδοσίας και δεδομένων κατά μήκος του βραχίονα οθόνης για σύνδεση με το υπόλοιπο σύστημα αποθήκευσης.

Βήμα 9: Συναρμολόγηση - Σύστημα αποθήκευσης

Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης
Συναρμολόγηση - Σύστημα αποθήκευσης

Το δεύτερο μέρος της διάταξης είναι το ίδιο το σύστημα αποθήκευσης.

Χρησιμοποιώντας τις συμπεριλαμβανόμενες οπές βιδών, στερέωσα όλα τα ξεχωριστά συγκροτήματα συρταριών σε ένα κομμάτι βαμμένου κόντρα πλακέ το οποίο λειτουργεί ως σανίδα.

Μετά από αυτό, στερέωσα τις λωρίδες LED σε κάθε σειρά και ένωσα όλες τις σειρές μαζί σε μία μόνο λωρίδα LED. Η διαμόρφωση κάθε σειράς και κατεύθυνσης της λωρίδας LED δεν έχει σημασία, καθώς μπορεί να αναδιαμορφωθεί στο λογισμικό.

Για να τελειώσω τη συναρμολόγηση, στερέωσα τον βραχίονα οθόνης με τα ηλεκτρονικά στο πλάι της πλάκας από κόντρα πλακέ.

Τακτοποίησα όλα τα στοιχεία στο νέο τους σπίτι και τα πρόσθεσα στη βάση δεδομένων αρχείων.txt.

Βήμα 10: Συμπέρασμα

Συμπέρασμα
Συμπέρασμα
Συμπέρασμα
Συμπέρασμα
Συμπέρασμα
Συμπέρασμα

Το έργο έχει πλέον ολοκληρωθεί και είμαι πολύ ευχαριστημένος με το πώς εξελίχθηκε!

Είχα μόνο χρόνο να χρησιμοποιήσω το νέο μου σύστημα αποθήκευσης για μερικές ημέρες και λειτούργησε τέλεια. Είμαι ενθουσιασμένος που βλέπω πώς αυτό το σύστημα αλλάζει τη ροή εργασίας μου στο μέλλον, αφού αυτός ήταν ο σκοπός όλου αυτού του έργου.

Ελπίζω να σας άρεσε αυτό το έργο και εάν έχετε οποιεσδήποτε σκέψεις, σχόλια ή ερωτήσεις, αφήστε τα παρακάτω.

Συνιστάται: