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

Πολλαπλό χρονοδιακόπτη W/ Εξωτερικός έλεγχος: 13 βήματα
Πολλαπλό χρονοδιακόπτη W/ Εξωτερικός έλεγχος: 13 βήματα

Βίντεο: Πολλαπλό χρονοδιακόπτη W/ Εξωτερικός έλεγχος: 13 βήματα

Βίντεο: Πολλαπλό χρονοδιακόπτη W/ Εξωτερικός έλεγχος: 13 βήματα
Βίντεο: Προετοιμασία & Αναπαραγωγή Καναρινιών ΜΕΡΟΣ Α' - 6-3-2016 ΕΛΙΤ & ΕΛΚΕ 2024, Ιούλιος
Anonim
Multi-Timer W/ Εξωτερικός έλεγχος
Multi-Timer W/ Εξωτερικός έλεγχος

Αυτό το έργο Instructable είναι μια κατασκευή χρονοδιακόπτη πολλαπλών λειτουργιών

Αυτός ο χρονοδιακόπτης μπορεί να λειτουργήσει ως:

  1. Ένας συναγερμός γενικής χρήσης με επιλεγόμενους χρόνους από 1 δευτερόλεπτο έως +90 ώρες. Έχοντας αντίστροφη μέτρηση με ηχητικό συναγερμό ή/και έλεγχο εξωτερικής συσκευής μέχρι να ολοκληρωθεί και έπειτα μια ένδειξη αντίστροφης μέτρησης του χρόνου από τον συναγερμό.
  2. Ένα χρονόμετρο για ύπνο με 7 επιλεγόμενους χρόνους, αντίστροφη μέτρηση και συναγερμό μετά την ολοκλήρωση.
  3. Ένα χρονόμετρο διαλογισμού με 4 επιλεγόμενους χρόνους, με αντίστροφη μέτρηση και ένα σύντομο κελάηδημα στην ολοκλήρωση, αντίστροφη μέτρηση με ένα άλλο κελάηδημα 5 λεπτά μετά από αυτό.

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

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

Κάθε φορά που δημιουργώ μια πλακέτα κυκλώματος διαπιστώνω συχνά ότι υπάρχουν ελαττώματα στο σχεδιασμό ή την τοποθέτηση εξαρτημάτων. Οι σανίδες που κατασκευάζω είναι επίσης ένα από τα δύο offs. Επιπλέον, μου αρέσει να συμμετέχω σε όλες τις πτυχές ενός έργου από την αρχή μέχρι το τέλος. Αυτοί είναι μερικοί από τους λόγους που φτιάχνω τις δικές μου πλακέτες αντί να στέλνω τα αρχεία Gerber στο εξωτερικό για κατασκευή. Σως είμαι απλά μεγάλος και κολλημένος στους τρόπους μου. Αυτό το έργο αντικατοπτρίζει αυτήν την προκατάληψη. Δεδομένου ότι φτιάχνω τους δικούς μου πίνακες κυκλωμάτων, τα σχέδιά μου και τα αρχεία Gerber μου δεν πληρούν τα πρότυπα κατασκευής, δεν τα έχω συμπεριλάβει αυτά. Όσοι δεν επιθυμούν να χαράξουν και να τελειώσουν τους πίνακες είναι ευπρόσδεκτοι να ετοιμάσουν τα δικά τους σχέδια και να δημοσιεύσουν τα αρχεία Gerber στην ενότητα σχολίων. Παρακαλούμε κατασκευάστε και δοκιμάστε τις σανίδες σας πριν δημοσιεύσετε.

Βήμα 1: Επισκόπηση στοιχείων υλικού

Η συσκευή τροφοδοτείται από 4 μπαταρίες AAA και ελέγχεται από ένα Arduino Pro Mini 5V.

Ένας μικρός βομβητής/ηχείο παρέχει ηχητικό συναγερμό.

Ένα μικροσκοπικό ρελέ 5v παρέχει τάσεις ελέγχου σε εξωτερικές συσκευές. Παρέχεται ευελιξία στην πηγή αυτής της εξόδου τάσης ελέγχου.

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

Μια οθόνη OLED και ένας στιγμιαίος διακόπτης εκκίνησης/διακοπής ολοκληρώνουν τη διεπαφή χρήστη.

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

Επιπλέον, παρέχονται αρχεία για να σας βοηθήσουν σε αυτό το έργο:

Αρχεία STL για θήκη έργου με 3D εκτύπωση.

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

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

Youσως θελήσετε να αναθεωρήσετε το Instructable μου σχετικά με τη δημιουργία πλακών κυκλωμάτων διπλής όψης ως παράδειγμα του πώς να κάνετε.

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

Μαζί με τα αρχεία προέλευσης Arduino, μερικές πρόσθετες πληροφορίες που μπορεί να είναι χρήσιμες.

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

Το πρόγραμμα υλοποιεί μια απλή μηχανή πεπερασμένης κατάστασης (FSM) για τον έλεγχο της εκτέλεσης κώδικα ως εντολή διακόπτη στη λειτουργία βρόχου.

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

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

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

Διάφοροι τύποι στοιχείων δομής προγράμματος, συμπεριλαμβανομένων:

  • Πολλαπλές καρτέλες κώδικα για να απομονώσετε μερικές από τις λειτουργίες και τις μεταβλητές ελέγχου υλικού.
  • Εναλλαγή δηλώσεων για να ορίσετε την τιμή κατάστασης (FSM) και τις μεταβλητές ελέγχου.
  • Ορισμός δομής
  • Απαριθμήσεις που επιτρέπουν την εκχώρηση τιμών κατάστασης ως κειμένου.
  • #καθορίστε τους ορισμούς προεπεξεργαστή για το pin του υλικού και τις τυπικές τιμές.

Βήμα 3: Λίστα μερών

Δημιουργήστε το περίβλημα
Δημιουργήστε το περίβλημα

Δεν ήμουν σίγουρος πού να βάλω αυτό το βήμα αφού μπορεί να γίνει σχεδόν σε οποιοδήποτε σημείο. Χρησιμοποίησα ένα τρισδιάστατο τυπωμένο κουτί περιβλήματος. Ενδέχεται να μην έχετε πρόσβαση σε τρισδιάστατο εκτυπωτή ή να προτιμάτε άλλο τύπο περιβλήματος, όπως κουτί αλουμινίου, πλαστικό κομμένο με λέιζερ, ξύλινο σκαλιστό ξύλο ή άλλο τύπο που χρησιμοποιείτε για τα ηλεκτρονικά σας έργα. Έχω συμπεριλάβει τα αρχεία STL για το επάνω, κάτω, περιστροφικό κουμπί κωδικοποιητή και στεφάνη OLED. Χρησιμοποιήστε αυτά τα αρχεία και τον τεμαχιστή της επιλογής σας για να δημιουργήσετε αρχεία gcode για τον εκτυπωτή σας.

Εκτυπώνω όλα τα μέρη χρησιμοποιώντας νήμα PLA, ένα χρώμα για το επάνω και το κάτω μέρος του περιβλήματος, ένα άλλο αντίθετο για το πόμολο και το πλαίσιο (το οποίο είναι κολλημένο στην κορυφή.) Δεν πρόκειται να καθορίσω όλες τις ρυθμίσεις του τεμαχισμού μου, αλλά, χρησιμοποιήστε ένα Tri -Το εξάγωνο γεμίζει τουλάχιστον 35% για να επιτρέπεται το χτύπημα των γωνιακών βιδών και η ρύθμιση "χωρίς υποστήριξη" για ανάγνωση της χαραγμένης επιστολής. Εκτύπωσα το κουτί χρησιμοποιώντας τους εκτυπωτές μου "κανονικό" ύψος στρώματος.

Βήμα 9: Σχεδιασμός και σύνταξη κώδικα

Αυτό το βήμα είναι προαιρετικό αλλά προτείνεται για καλύτερη κατανόηση.

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

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

  • Σχόλια- Σχολιάστε εκτενώς καθώς πηγαίνετε - συχνά γράφω τα σχόλια πριν γράψω τον κωδικό.
  • Διαίρεση και κατάκτηση - χρήση λειτουργιών, κλάσεων και ενοτήτων (καρτέλες.) Χρησιμοποιήστε συχνές μεταγλωττίσεις (Επαλήθευση) για έλεγχο σύνταξης. Εντοπισμός σφαλμάτων - Χρησιμοποιήστε δηλώσεις εκτύπωσης για να επαληθεύσετε τιμές ροής και δοκιμές και διεπαφές υλικού. Μην φοβάστε να αντιμετωπίσετε τα προβλήματα καθώς προχωράτε, κανείς δεν γράφει κώδικα χωρίς σφάλματα!
  • Σταθερές - #καθορίστε τις οδηγίες προ -μεταγλωττιστή ορίστε ονόματα σε αριθμούς καρφιτσών. Ορίστε μεταβλητούς ορισμούς με σχόλια μειώνουν ή εξαλείφουν τους αριθμούς "Magic". Η χρήση σταθερών που βρίσκονται στην αρχή ενός προγράμματος ή συνάρτησης επιτρέπουν την αλλαγή των παραμέτρων χωρίς επανεγγραφή κώδικα
  • Προκαθορισμένες βιβλιοθήκες - Η χρήση προκαθορισμένων βιβλιοθηκών μειώνει τον φόρτο προγραμματισμού και το χρόνο εντοπισμού σφαλμάτων.
  • Μπλοκ σχεδίασης - Δημιουργήθηκε με τη χρήση λειτουργιών, Απομόνωση κώδικα σε ξεχωριστές καρτέλες (σχετικά προγράμματα &. Αρχεία), απαριθμήσεις, κλάσεις και δομές. Εστιάστε την προσοχή σας στο καθένα για να καταλάβετε πώς λειτουργούν σε σχέση με τον υπόλοιπο κώδικα.
  • State Machine (s) - Αυτό είναι ένα μοτίβο προγραμματισμού που λειτουργεί τέλεια με το Arduinos ή με οποιοδήποτε πρόγραμμα που χρησιμοποιείται για τον έλεγχο εξόδων ή αντίδρασης εισόδων. Υπάρχουν αρκετές γεύσεις κρατικών μηχανών. Αυτός ο κώδικας χρησιμοποιεί ένα μηχάνημα κατάστασης βασισμένο στη δήλωση διακόπτη στη λειτουργία βρόχου. Αυτή η φόρμα είναι εύκολο να κατανοηθεί και να διορθωθεί.
  • Οθόνη & Μενού - Η έξοδος OLED είναι περιορισμένη αλλά παρέχει αρκετά σχόλια για απλούς χρήστες και υποστηρίζει την επιλογή επιλογών. Ενσωματώνεται καλά με το μηχάνημα κατάστασης (σχεδόν όλες οι καταστάσεις έχουν σχετική οθόνη OLED). Η τάξη Μενού ήταν χρήσιμη στην απομόνωση του κώδικα για την εμφάνιση και την επιλογή επιλογών μενού

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

Βήμα 10: Εγκαταστήστε το πρόγραμμα

Αντιγράψτε το συνημμένο αρχείο στον υπολογιστή σας και αποσυμπιέστε το στον κατάλογο Sketches

Συνδέστε το Arduino στον υπολογιστή σας και κατεβάστε τον κωδικό προγράμματος με τον κανονικό τρόπο. Ανοίξτε τη σειριακή οθόνη Arduino IDE για να επαληθεύσετε ότι το πρόγραμμα εκτελείται και βοηθάει στον εντοπισμό σφαλμάτων.

Βήμα 11: Συναρμολογήστε το χρονόμετρο

Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο
Συναρμολογήστε το χρονόμετρο

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

  1. OLED και καλώδιο
  2. Διακόπτης έναρξης/διακοπής & καλωδίωση
  3. Περιστροφικός κωδικοποιητής και καλώδιο
  4. Ηχείο / βομβητής & καλωδίωση
  5. Εξωτερική υποδοχή ελέγχου και καλωδίωση
  6. Διακόπτης ενεργοποίησης/απενεργοποίησης και καλωδίωση (διπλός έλεγχος προσανατολισμού ώστε να είναι ενεργοποιημένος στην κατεύθυνση που θέλετε

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

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

Το κάτω μέρος του περιβλήματος συνδέεται με το επάνω μέρος χρησιμοποιώντας 4-40 στρογγυλές βίδες μηχανής, μία σε κάθε γωνία. Οι τέσσερις τρύπες στο επάνω μέρος πρέπει είτε να χτυπηθούν με βρύση 4/40 είτε εάν χρησιμοποιείτε ένθετα με σπείρωμα 4-40, θα πρέπει να ανοίξετε τις τρύπες για να τις αποδεχτείτε. Οι 4 οπές για την τοποθέτηση της κεντρικής πλακέτας κυκλώματος στο κάτω μέρος πρέπει επίσης να τρυπηθούν. Στερεώστε αυτήν την πλακέτα στη βάση τοποθέτησης της μπαταρίας και σημειώστε τις θέσεις των οπών. Τρυπήστε ανάλογα με τις βίδες στερέωσης.

Βήμα 12: Δοκιμή ενσωμάτωσης

Έλεγχος ενσωμάτωσης
Έλεγχος ενσωμάτωσης
Έλεγχος ενσωμάτωσης
Έλεγχος ενσωμάτωσης
Έλεγχος ενσωμάτωσης
Έλεγχος ενσωμάτωσης

Ο τελικός έλεγχος (ολοκλήρωσης) επιτυγχάνεται δοκιμάζοντας όλες τις επιλογές μενού και επαληθεύοντας ότι λειτουργούν με το υλικό όπως έχει σχεδιαστεί. Για τον κωδικό που παρείχα, αυτό θα ήταν αρκετό. Εάν γράψατε τον δικό σας κωδικό ή τροποποιήσατε τον δικό μου, οι δοκιμές σας θα πρέπει να είναι πιο εκτεταμένες. Δεν πιστεύω ότι πρέπει να ασκηθούν όλες οι επιλογές χρονισμού, αλλά πρέπει να δοκιμάσετε όλες τις τυπικές επιλογές συναγερμού και να επικυρώσετε τη λειτουργία των συναγερμών Nap και Meditation όπως έχουν σχεδιαστεί.

Βήμα 13: Τελικές σκέψεις

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

Ευχαριστούμε για τον χρόνο που παρακολουθήσατε ή/και χτίσατε αυτό το έργο.

Συνιστάται: