Πίνακας περιεχομένων:
- Βήμα 1: Υλικά
- Βήμα 2: Διάταξη Breadboard
- Βήμα 3: Εγκατάσταση της βιβλιοθήκης
- Βήμα 4: Ο κώδικας
- Βήμα 5: Το αποτέλεσμα
- Βήμα 6: Αντιμετώπιση προβλημάτων
- Βήμα 7: Προχωρώντας παραπέρα
Βίντεο: Χρήση οθόνης 4 ψηφίων & 7 τμημάτων, με Arduino: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το σεμινάριο θα σας δείξω πώς να χρησιμοποιήσετε μια οθόνη 7 τμημάτων με 4 ψηφία χρησιμοποιώντας το arduino. Μερικά βασικά πράγματα που θα ήθελα να επισημάνω είναι ότι αυτό καταλαμβάνει σχεδόν όλες τις ψηφιακές ακίδες στο arduino uno, leonardo, τους πίνακες με 13 ψηφιακές ακίδες. Οι περισσότερες οθόνες έχουν 12 ακροδέκτες που συνδέονται είτε απευθείας με το arduino είτε μέσω αντίστασης. Επίσης, θα ήθελα να επισημάνω ότι αυτές οι οθόνες δεν χρειάζονται σύνδεση Ground, 5V ή 3.3V. Ας ξεκινήσουμε λοιπόν…
Βήμα 1: Υλικά
Η χρήση μιας τέτοιας οθόνης δεν απαιτεί σχεδόν καθόλου υλικά.
- 4 x 330Ω αντιστάσεις
- 12 x Καλώδια από jumper αρσενικά έως αρσενικά
- 1 x Arduino
- 1 x breadboard οποιουδήποτε μεγέθους (δεν χρειάζονται τις ράγες τροφοδοσίας)
Δεν απαιτούνται εργαλεία για την κατασκευή ενός πρωτοτύπου αυτού του σχεδίου. Ωστόσο, ένα συγκολλητικό σίδερο και ένας πίνακας pcb θα χρειαστούν για μια πιο μόνιμη χρήση.
Βήμα 2: Διάταξη Breadboard
Απλώς για να σας δώσω κάποιο πλαίσιο, θα εξηγήσω τη χρήση κάθε καρφίτσας. 8 από τις 12 ακίδες της οθόνης χρησιμοποιούνται για τα 8 τμήματα. Υπάρχουν 7 τμήματα που χρησιμοποιούνται για να σχηματίσουν οποιοδήποτε ψηφίο, ενώ ένα ελέγχει το δεκαδικό ψηφίο. Οι άλλες 4 από τις 12 ακίδες ελέγχουν καθένα από τα 4 ψηφία στην οθόνη. Οποιοσδήποτε πείρος που έχει αντίσταση είναι ένας από τους 4ψήφιους πείρους, διαφορετικά είναι οι ακίδες τμημάτων.
Το παραπάνω σχέδιο δημιούργησα από το fritzing για να δείξω τη σύνδεση μεταξύ της οθόνης και του arduino. Σημειώστε τη θέση όπου βρίσκονται οι αντιστάσεις επειδή εάν συνδέσετε την αντίσταση με λάθος ακίδα στην οθόνη, είτε αυτό το ψηφίο δεν θα λειτουργήσει είτε το τμήμα δεν θα λειτουργήσει, ΓΙΑ ΠΑΝΤΑ…
***ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ***
Κατά τη ρύθμιση του διακόπτη κυκλώματος τα κίτρινα και τα μοβ σύρματα (μπέρδεψα το διάγραμμα κυκλώματος μου).
Βήμα 3: Εγκατάσταση της βιβλιοθήκης
Η βιβλιοθήκη που συνδέεται παρακάτω είναι από τον ιστότοπο arduino για εύκολο έλεγχο μιας οθόνης. Ο σύνδεσμος πηγαίνει στο github. Αν δεν έχετε πάει ποτέ στο github ακούστε προσεκτικά, αν έχετε διαβάσει την επόμενη παράγραφο. Όταν φτάσετε στον ιστότοπο, κοιτάξτε τη δεξιά πλευρά του παραθύρου και κοιτάξτε κάτω μέχρι να δείτε "Λήψη φερμουάρ". Κάντε κλικ σε αυτό το κουμπί και δείτε το να εμφανίζεται στις λήψεις σας.
Τώρα πρέπει να φορτώσετε την προηγούμενη εγκατεστημένη βιβλιοθήκη στο φάκελο βιβλιοθηκών σας. Εάν τώρα γνωρίζετε πώς να το κάνετε αυτό, προχωρήστε στο επόμενο βήμα, διαφορετικά συνεχίστε να διαβάζετε. Πρώτα μπείτε στο Finder και εντοπίστε το φάκελο "έγγραφα" και ανοίξτε τον. Στη συνέχεια, εντοπίστε το φάκελο "arduino" και ανοίξτε τον. Στη συνέχεια, εντοπίστε το φάκελο βιβλιοθήκες και ανοίξτε τον. Τέλος, μεταφέρετε και αποθέστε την εγκατεστημένη βιβλιοθήκη στο φάκελο βιβλιοθηκών που μόλις ανοίξατε.
ΣΠΟΥΔΑΙΟΣ. Εάν η εφαρμογή arduino άνοιξε και εκτελέστηκε ενώ βάζατε τη βιβλιοθήκη στο φάκελο βιβλιοθήκες, το arduino δεν θα αναγνωρίσει τη βιβλιοθήκη. Απλώς πρέπει να κλείσετε την εφαρμογή και να την ανοίξετε ξανά.
github.com/DeanIsMe/SevSeg
Βήμα 4: Ο κώδικας
Ο κώδικας για την πραγματική εμφάνιση κάτι παρατίθεται παρακάτω.
#include "SevSeg.h"
SevSeg sevseg; // Εκκίνηση επτά τμημάτων ελεγκτή αντικειμένου void setup () {byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; byte segmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // η μεταβλητή παραπάνω υποδεικνύει ότι 4 αντιστάσεις τοποθετήθηκαν στις ψηφιακές ακίδες. // ορίστε τη μεταβλητή στο 1 εάν θέλετε να χρησιμοποιήσετε 8 αντιστάσεις στις ακίδες τμημάτων. sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBrightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Πρέπει να εκτελείται επανειλημμένα
Βήμα 5: Το αποτέλεσμα
Εάν συνδέσατε σωστά την οθόνη, ανεβάσατε σωστά τον κωδικό και αντιγράψατε τον κωδικοποιημένο σωστά, τότε η οθόνη σας θα πρέπει να εμφανίζει pi (μόνο 3.141).
Αν όχι τότε, διαβάστε το βήμα έξι για οτιδήποτε συμβαίνει λάθος.
Εάν το καταλάβατε σωστά, τότε προτείνω να διαβάσετε παρακάτω στο βήμα επτά.
Βήμα 6: Αντιμετώπιση προβλημάτων
Εδώ έχω απαριθμήσει δύο πιθανά πράγματα που θα μπορούσαν να έχουν συμβεί στην οθόνη σας και θα μπορούσαν να την είχαν μπερδέψει. Δυστυχώς μόνο ένα από τα δύο μπορεί να διορθωθεί.
- Η οθόνη σας εμφανίζει 8888
Μην ανησυχείτε ότι αυτό είναι το πρόβλημα που μπορεί να διορθωθεί, απλώς ακολουθήστε αυτά τα βήματα
1. Εντοπίστε στον κωδικό "sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins);"
2. Αλλάξτε "ΚΟΙΝΟΣ ΚΑΘΟΔΟΣ" σε "ΚΟΙΝΗ ΑΝΟΔΟΣ"
3. Ανεβάστε ξανά τον κωδικό
- Η οθόνη σας εμφανίζει 3. 41 ή.141 ή 3.1 1 ή 3.14 χωρίς το άλλο 1
Δυστυχώς, αυτό το πρόβλημα μπορεί είτε να διορθωθεί είτε όχι: (… (αυτό είναι το πρόσωπο που κλαίει)
1. Ελέγξτε τις συνδέσεις σας και βεβαιωθείτε ότι όλα είναι συνδεδεμένα και δεν κάνουν παρέα
2. Ελέγξτε ξανά το σχηματικό, γιατί πιθανότατα το συνδέσατε λάθος
3. Εντοπίστε τη γραμμή σε κενό βρόχο όπου λέει να εμφανιστεί (3.141, 3) και αλλάξτε 3.141 σε 8888 και δείτε αν λείπει μία από τις 8
4. Αν ναι, ένα από τα καλώδια μπορεί να μην είχε αντίσταση όταν θα έπρεπε να είχε ένα νόημα ότι ένα από τα ψηφία είχε καεί. Μπορείτε να το ελέγξετε κοιτάζοντας το πίσω μέρος της οθόνης. Αν δείτε κάποιο μαύρο κοντά σε μία από τις καρφίτσες, υπερνικήσατε ένα από τα ψηφία. Δυστυχώς αυτό ΔΕΝ διορθώνεται και θα θέλατε να αγοράσετε άλλη οθόνη.
5. Εάν δεν βλέπετε πουθενά ένα μαύρο σημάδι, απλώς ενεργοποιήσατε καλώδια που δεν μπορούν να εξουδετερωθούν, οπότε ελέγξτε το διάγραμμα και συνδέστε το σωστά και αλλάξτε ξανά τον κωδικό από 8888 σε 3.141.
Βήμα 7: Προχωρώντας παραπέρα
Μια μέθοδος χρήσης μερικών ακίδων στο arduino για τον έλεγχο πολλαπλών λυχνιών LED που διαφορετικά θα απαιτούσαν πολύ καρφίτσα είναι ένας καταχωρητής αλλαγής τριπλής κατάστασης 8 ακίδων. Έτσι, αντί να συνδέσετε απευθείας τις καρφίτσες των 8 τμημάτων στο arduino, μπορείτε να τις συνδέσετε στον καταχωρητή αλλαγής ταχυτήτων και να καταλάβετε πώς να το κάνετε αυτό.
Είναι απλώς μια ιδέα που μου ήρθε, αλλά δεν ξέρω πώς να το κάνω ή αν είναι ακόμη δυνατό με το arduino και τη βιβλιοθήκη της οθόνης, αλλά γεια, τροφή για σκέψη για τους περίεργους.
Διασκεδάστε με την οθόνη σας και ελπίζω να σας άρεσε αυτό το διδακτικό γιατί είναι το πρώτο που έχω τελειώσει πραγματικά από τα πολλά που έχω στα πρόχειρά μου.
Συνιστάται:
Εμφάνιση 4 ψηφίων 7 τμημάτων 14 ακίδων με Arduino: 3 βήματα
4 Digit 7 Segment Display 14 Pins With Arduino: Είναι πάντα καλή ιδέα να ελέγχετε αν μια συσκευή λειτουργεί σωστά ή όχι εάν αυτό το στοιχείο έχει πολύ μεγάλο αριθμό ακίδων. Σε αυτό το έργο, έχω δοκιμάσει την τετραψήφια οθόνη 7 τμημάτων 14 ακίδων μου. Και το 7 τμήμα θα εμφανίζει 0 έως 9 ταυτόχρονα
Πρωτότυπο Έργου Φώτων με βάση Atmega16 με χρήση οθόνης 7 τμημάτων (προσομοίωση πρωτείου): 5 βήματα
Πρωτότυπο Έργου Φώτων Βάσει Atmega16 Χρήση Προβολής 7 Τμημάτων (Προσομοίωση Proteus): Σε αυτό το έργο πρόκειται να κάνουμε έργο φανάρι με βάση Atmega16. Εδώ έχουμε πάρει ένα 7 τμήμα και 3 LED για να υποδηλώσουμε τα σήματα του φανός
14 Οθόνη LED 2 τμημάτων 2 ψηφίων: 5 βήματα
14 Segment 2 Digit LED Display: Story Τα τελευταία χρόνια προσπαθώ να μάθω πώς λειτουργούν οι ηλεκτρονικές συσκευές, με αυτό εννοώ πώς να τις κάνω να λειτουργούν με Arduino ή οποιαδήποτε συσκευή ελεγκτή, αυτό περιλαμβάνει οθόνες, αισθητήρες ή οτιδήποτε άλλο που επιστρέφει μια τιμή κάποιου είδους
Χρονόμετρο εμφάνισης 4 ψηφίων 7 τμημάτων: 3 βήματα
Χρονόμετρο εμφάνισης 4 ψηφίων 7 τμημάτων: Αυτό το οδηγό θα σας δείξει πώς να δημιουργήσετε ένα πλήρως λειτουργικό χρονόμετρο σε πραγματικό χρόνο από μια τετραψήφια οθόνη επτά τμημάτων
Έλεγχος οθόνης LED 7 τμημάτων με χρήση διακομιστή Web ESP8266: 8 βήματα (με εικόνες)
Έλεγχος οθόνης LED 7 τμημάτων με χρήση διακομιστή Web ESP8266: Το έργο μου διαθέτει ένα Nodemcu ESP8266 το οποίο ελέγχει μια οθόνη 7 τμημάτων μέσω του διακομιστή http χρησιμοποιώντας φόρμα html