Πίνακας περιεχομένων:
- Βήμα 1:
- Βήμα 2:
- Βήμα 3: Ξεκινώντας - Υλικό
- Βήμα 4: Ξεκινώντας - Λογισμικό
- Βήμα 5: Τα LED με δύο χρώματα
- Βήμα 6: Η οθόνη 7 τμημάτων
- Βήμα 7:
- Βήμα 8:
- Βήμα 9:
- Βήμα 10: Τα κουμπιά
Βίντεο: Μονάδες οθόνης Arduino και TM1638 LED: 11 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Εάν χρειάζεστε έναν γρήγορο και εύκολο τρόπο για να προσθέσετε κάποια είσοδο και έξοδο χρήστη σε ένα έργο, αυτές οι ενότητες οθόνης είναι ενδιαφέρουσες και διασκεδαστικές.
Περιέχουν οκτώ κόκκινα ψηφία LED 7 τμημάτων, οκτώ κόκκινα/πράσινα LED και επίσης οκτώ κουμπιά για την είσοδο του χρήστη. Οι μονάδες μπορούν επίσης να είναι αλυσοδεμένες, επιτρέποντας έως και πέντε ταυτόχρονα, και ένα κοντό καλώδιο περιλαμβάνεται σε κάθε μονάδα, καθώς και μερικά κοντινά διαχωριστικά και μπουλόνια, όπως φαίνεται στην εικόνα.
Βήμα 1:
Τα διαχωριστικά είναι αρκετά μεγάλα για να ανυψώσουν το PCB πάνω από μια επιφάνεια, ωστόσο για να τοποθετήσετε τις σανίδες οπουδήποτε χρήσιμα θα χρειαστείτε μεγαλύτερα. Μπορεί επίσης να θέλετε να αφαιρέσετε τις υποδοχές IDC εάν θέλετε να τοποθετήσετε τη μονάδα κοντά στην επιφάνεια ενός πίνακα. Αυτό θα ήταν ένα απλό έργο αποκόλλησης, καθώς είναι πρίζες μέσω οπών.
Βήμα 2:
Ο πίνακας ελέγχεται από ένα TM1638 IC.
Αυτό είναι ένα IC οδήγησης LED και διεπαφής από την "Titan Micro Electronics". Μπορείτε επίσης να αγοράσετε αυτά τα IC από το PMD Way. Μπορείτε επίσης να κατεβάσετε το φύλλο δεδομένων για περισσότερες λεπτομέρειες.
Βήμα 3: Ξεκινώντας - Υλικό
Υλικό-Η σύνδεση σε έναν συμβατό με Arduino πίνακα (ή άλλο MCU) είναι αρκετά απλή. Τα pinouts εμφανίζονται στο πίσω μέρος του PCB και ταιριάζουν με το εξάρτημα στο καλώδιο της κορδέλας. Αν κοιτάξετε το τέλος του καλωδίου ως τέτοιο.
Η επάνω-δεξιά τρύπα είναι η καρφίτσα ένα, με την επάνω αριστερή να είναι η ακίδα δύο, η κάτω δεξιά ακίδα εννέα και η κάτω αριστερή ακίδα δέκα. Επομένως, τα pinouts είναι:
- Vcc (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- μη συνδεδεμένο.
Για χρήση με Arduino, οι ακίδες 1 ~ 4 είναι οι ελάχιστες απαραίτητες για τη χρήση μιας μονάδας. Κάθε πρόσθετη μονάδα θα απαιτήσει άλλο ψηφιακό pin συνδεδεμένο με STB2, STB3, κ.λπ. Περισσότερα σχετικά αργότερα. Λάβετε υπόψη ότι κάθε μονάδα έχει ρυθμιστεί σε πλήρη φωτεινότητα με κάθε αναμμένο LED καταναλώνει 127mA, οπότε θα ήταν συνετό να χρησιμοποιείτε εξωτερική ισχύ με περισσότερες από μία μονάδες και άλλες συνδέσεις με πλακέτες Arduino.
Βήμα 4: Ξεκινώντας - Λογισμικό
Λογισμικό - κάντε λήψη και εγκαταστήστε τη βιβλιοθήκη T1638 από εδώ. Ευχαριστώ και μπράβο στον rjbatista στο gmail dot com για τη βιβλιοθήκη. Η εκκίνηση ενοτήτων στο σκίτσο είναι απλή. Συμπεριλάβετε τη βιβλιοθήκη με:
#περιλαμβάνω
στη συνέχεια χρησιμοποιήστε ένα από τα παρακάτω για κάθε ενότητα:
Μονάδα TM1638 (x, y, z);
x είναι ο ψηφιακός ακροδέκτης Arduino που είναι συνδεδεμένος με τον ακροδέκτη καλωδίου μονάδας 4, y είναι ο ψηφιακός ακροδέκτης Arduino που συνδέεται με τον ακροδέκτη καλωδίου μονάδας 3 και z είναι ο ακροδέκτης στροβοσκοπίου. Έτσι, εάν είχατε μια ενότητα με δεδομένα, ρολόι και στροβοσκόπιο συνδεδεμένα στις ακίδες 8, 7 και 6, θα χρησιμοποιούσατε:
Μονάδα TM1638 (8, 7, 6);
Εάν είχατε δύο μονάδες, με το στροβοσκόπιο της μονάδας να είναι συνδεδεμένο στο Arduino digital 6 και το στροβοσκόπιο της ενότητας δύο συνδεδεμένο με το ψηφιακό 5, θα χρησιμοποιούσατε:
Μονάδα TM1638 (8, 7, 6), μονάδα TM1638 (8, 7, 5).
και ούτω καθεξής για περισσότερες ενότητες. Τώρα για να ελέγξετε την οθόνη…
Βήμα 5: Τα LED με δύο χρώματα
Ο έλεγχος των κόκκινων/πράσινων LED είναι εύκολος. Για αναφορά αριθμούνται από μηδέν έως επτά από αριστερά προς τα δεξιά. Για να ενεργοποιήσετε ή να απενεργοποιήσετε ένα LED, χρησιμοποιήστε τα εξής:
module.setLED (TM1638_COLOR_RED, x); // ορίστε τον αριθμό LED x στο redmodule.setLED (TM1638_COLOR_GREEN, x); // ορίστε τον αριθμό LED x σε πράσινο module.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // ορίστε τον αριθμό LED x σε κόκκινο και πράσινο
Η χρήση της παραπάνω μεθόδου μπορεί να είναι απλή, είναι κάπως αναποτελεσματική. Ένας καλύτερος τρόπος είναι να αντιμετωπίσετε όλες τις λυχνίες LED σε μία δήλωση. Για να γίνει αυτό, στέλνουμε δύο byte δεδομένων σε δεκαεξαδικό στην οθόνη. Το MSB (το πιο σημαντικό byte) αποτελείται από οκτώ bits, το καθένα που αντιπροσωπεύει ένα πράσινο LED που είναι ενεργοποιημένο (1) ή σβηστό (0). Το LSB (λιγότερο σημαντικό byte) αντιπροσωπεύει τα κόκκινα LED.
Ένας εύκολος τρόπος για να προσδιορίσετε την δεκαεξαδική τιμή για τον έλεγχο των LED είναι απλός, η εικόνα έχει μία σειρά LED - τα πρώτα οκτώ είναι πράσινα και τα δεύτερα οκτώ είναι κόκκινα. Ορίστε κάθε ψηφίο στο 1 για ενεργοποίηση και 0 για απενεργοποίηση. Μετατρέψτε τους δύο δυαδικούς αριθμούς σε δεκαεξαδικό και χρησιμοποιήστε αυτήν τη συνάρτηση:
module.setLEDs (0xgreenred);
Όπου το πράσινο είναι ο δεκαεξαδικός αριθμός για τα πράσινα LED και το κόκκινο είναι ο δεκαεξαδικός αριθμός για τα κόκκινα LED. Για παράδειγμα, για να ενεργοποιήσετε τις τρεις πρώτες λυχνίες LED ως κόκκινες και τις τρεις τελευταίες ως πράσινες, η δυαδική αναπαράσταση θα είναι:
00000111 11100000 που σε δεκαεξαδικό είναι E007.
Θα χρησιμοποιήσουμε λοιπόν:
module.setLEDs (0xE007);
που παράγει την εικόνα όπως φαίνεται παραπάνω.
Βήμα 6: Η οθόνη 7 τμημάτων
Για να καθαρίσετε την αριθμητική οθόνη (αλλά όχι τις παρακάτω λυχνίες LED), χρησιμοποιήστε απλά:
module.clearDisplay ();
ή για να ενεργοποιήσετε κάθε τμήμα ΚΑΙ όλες τις λυχνίες LED, χρησιμοποιήστε τα παρακάτω
module.setupDisplay (true, 7); // όπου το 7 είναι ένταση (από 0 ~ 7)
Για να εμφανίσετε δεκαδικούς αριθμούς, χρησιμοποιήστε τη συνάρτηση:
module.setDisplayToDecNumber (a, b, false);
όπου a είναι ο ακέραιος, b είναι η θέση για το δεκαδικό σημείο (0 για κανένα, 1 για το ψηφίο 8, 2, για το ψηφίο 7, 4 για το ψηφίο 6, 8 για το ψηφίο 4 κ.λπ.) και η τελευταία παράμετρος (true/ false) ενεργοποιεί ή απενεργοποιεί τα μηδενικά που οδηγούν. Το παρακάτω σκίτσο δείχνει τη χρήση αυτής της συνάρτησης:
#include // καθορίστε μια ενότητα στην καρφίτσα δεδομένων 8, την καρφίτσα ρολογιού 9 και την καρφίτσα στροβοσκοπίου 7 μονάδα TM1638 (8, 9, 7). ανυπόγραφο μακρύ α = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); καθυστέρηση (1)? } για (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); καθυστέρηση (1)? }}
… Με τα αποτελέσματα που εμφανίζονται στο βίντεο.
Βήμα 7:
Ένα από τα πιο ενδιαφέροντα χαρακτηριστικά είναι η δυνατότητα κύλισης κειμένου σε μία ή περισσότερες οθόνες. Για να γίνει αυτό δεν χρειάζεται πραγματικά εξήγηση καθώς το σκίτσο επίδειξης που περιλαμβάνεται:
tm_1638_scrolling_modules_example.pde
Η βιβλιοθήκη TM1638 ακολουθείται εύκολα. Απλώς εισάγετε το κείμενό σας στη συμβολοσειρά const char , βεβαιωθείτε ότι η ενότητα (οι ενότητες) είναι συνδεδεμένες σύμφωνα με τον ορισμό της ενότητας στην αρχή του σκίτσου και ότι είστε έτοιμοι. Για να δείτε τους διαθέσιμους χαρακτήρες, επισκεφθείτε τη σελίδα λειτουργίας. Λάβετε υπόψη ότι η οθόνη είναι μόνο επτά τμημάτων, επομένως ορισμένοι χαρακτήρες μπορεί να μην φαίνονται τέλειοι, αλλά στο πλαίσιο θα σας δώσουν μια καλή ιδέα-δείτε το βίντεο σε αυτό το βήμα.
Βήμα 8:
Τέλος, μπορείτε επίσης να αντιμετωπίσετε ξεχωριστά κάθε τμήμα κάθε ψηφίου. Εξετάστε το περιεχόμενο αυτού του πίνακα:
byte τιμές = {1, 2, 4, 8, 16, 32, 64, 128};
κάθε στοιχείο αντιπροσωπεύει ψηφία 1 ~ 8. Η τιμή κάθε στοιχείου καθορίζει ποιο τμήμα του ψηφίου ενεργοποιείται. Για τα τμήματα a ~ f, dp οι τιμές είναι 1, 2, 4, 6, 16, 32, 64, 128. Άρα τα αποτελέσματα χρήσης του παραπάνω πίνακα στην ακόλουθη συνάρτηση:
module.setDisplay (τιμές);
θα είναι ανά εικόνα.
Βήμα 9:
Φυσικά μπορείτε να συνδυάσετε τιμές για κάθε ψηφίο για να δημιουργήσετε τους δικούς σας χαρακτήρες, σύμβολα κλπ. Για παράδειγμα, χρησιμοποιώντας τις ακόλουθες τιμές:
byte τιμές = {99, 99, 99, 99, 99, 99, 99, 99};
δημιουργήσαμε σύμφωνα με την εικόνα σε αυτό το βήμα.
Βήμα 10: Τα κουμπιά
Οι τιμές των κουμπιών επιστρέφονται ως τιμή byte από τη συνάρτηση:
module.getButtons ();
Καθώς υπάρχουν οκτώ κουμπιά, το καθένα αντιπροσωπεύει ένα bit ενός δυαδικού αριθμού που επιστρέφεται ως byte. Το κουμπί στα αριστερά επιστρέφει δεκαδικό ένα και το δεξί επιστρέφει 128. Μπορεί επίσης να επιστρέψει ταυτόχρονες πιέσεις, οπότε πατώντας τα κουμπιά ένα και οκτώ επιστρέφει 129. Εξετάστε το ακόλουθο σκίτσο, το οποίο επιστρέφει τις τιμές των πιέσεων κουμπιών σε δεκαδική μορφή και, στη συνέχεια, εμφανίζει η αξία:
#include // καθορίστε μια ενότητα στην ακίδα δεδομένων 8, την καρφίτσα ρολογιού 9 και την καρφίτσα στροβοσκοπίου 7 μονάδα TM1638 (8, 9, 7). κουμπιά byte? void setup () {} void loop () {buttons = module.getButtons (); module.setDisplayToDecNumber (κουμπιά, 0, false); }
και τα αποτελέσματα στο βίντεο.
Αυτοί οι πίνακες απεικόνισης είναι χρήσιμοι και ελπίζουμε να βρείτε ένα σπίτι στα έργα σας. Αυτή η ανάρτηση σας έφερε το pmdway.com - προσφέρει τα πάντα για κατασκευαστές και λάτρεις των ηλεκτρονικών, με δωρεάν παράδοση σε όλο τον κόσμο.
Συνιστάται:
Έξυπνο ρολόι DIY Fitness Tracker με οξύμετρο και καρδιακό ρυθμό - Αρθρωτές ηλεκτρονικές μονάδες από TinyCircuits - Το μικρότερο Arcade: 6 βήματα
Έξυπνο ρολόι DIY Fitness Tracker με οξύμετρο και καρδιακό ρυθμό | Αρθρωτές ηλεκτρονικές μονάδες από TinyCircuits | Μικρότερο Arcade: Γεια, τι συμβαίνει, παιδιά! Akarsh εδώ από τη CETech. Σήμερα έχουμε μαζί μας μερικές από τις μονάδες αισθητήρων που είναι πολύ χρήσιμες στην καθημερινή μας ζωή αλλά σε μια μικρή έκδοση του εαυτού τους. Οι αισθητήρες που έχουμε σήμερα είναι πολύ μικροί σε μέγεθος σε σύγκριση με το tra
Σύστημα κλειδώματος οθόνης LCD οθόνης: 6 βήματα
Σύστημα κλειδώματος οθόνης LCD: Αυτό το έργο θα λειτουργήσει ως κλειδαριά στο σπίτι και ο μόνος τρόπος για να μπείτε μέσα στο σπίτι είναι να πατήσετε το σωστό τριψήφιο κωδικό. Η οθόνη LCD θα λειτουργεί ως συσκευή επικοινωνίας για την ενημέρωση του ατόμου εάν έχει εισαγάγει τον σωστό κωδικό ή όχι. Δικα τους
Self Made Triple (3x 250W) Εργαστηριακό τροφοδοτικό με μονάδες DPS5005 και USB: 7 βήματα
Self Made Triple (3x 250W) Εργαστηριακό τροφοδοτικό με μονάδες DPS5005 και USB: Εύκολο στην κατασκευή και φθηνό υψηλής ποιότητας τροφοδοτικό εργαστηρίου με 3x 250W (50Vdc & 5A κάθε πάνελ). Μπορείτε να συνδέσετε κάθε DPS5005 στον υπολογιστή σας για να ελέγχετε ξεχωριστά τους πίνακες. Θα χρειαστούν 4 έως 8 ώρες για να δημιουργηθεί αυτό το Powersuplly, ο χρόνος μειώνεται
Μετατροπή διαχωριστή οθόνης VGA σε διακόπτη οθόνης ελεγχόμενου από υπολογιστή: 4 βήματα
Μετατροπή διαχωριστή οθόνης VGA σε διακόπτη οθονών ελεγχόμενου από υπολογιστή: Αυτό εξηγείται πώς ένας φθηνός διαχωριστής οθόνης VGA (20 ευρώ) που χρησιμοποιείται για τη σύνδεση ενός υπολογιστή σε δύο οθόνες μπορεί να μετατραπεί σε διακόπτη ελεγχόμενης οθόνης υπολογιστή. Η τελική συσκευή ελέγχεται μέσω της παράλληλης θύρας και επιτρέπει την περιστροφή
Πολλαπλές μονάδες σκληρού δίσκου ή μονάδες οπτικών σε έναν υπολογιστή που πραγματικά δεν μπορούν: 8 βήματα
Πολλαπλές μονάδες σκληρού δίσκου ή μονάδες οπτικών σε έναν υπολογιστή που πραγματικά δεν μπορούν: ΠΡΩΤΟ ΦΟΡΟΛΟΓΙΟ Έτσι, έκανα αυτό το διδακτικό μετά από χρόνια τρολάρισμα και ανάγνωσης, είχα τελικά τα κότσια να φτιάξω το δικό μου. Με λίγα λόγια, σας δείχνω πώς να εγκαταστήσετε υλικό (σε αυτήν την περίπτωση δύο σκληρούς δίσκους IDE και δύο οπτικούς δίσκους IDE) σε ένα IDE m