Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούνται πράγματα
- Βήμα 2: Λογική κώδικα και εμφάνιση
- Βήμα 3: Οθόνη οδήγησης με μικροελεγκτή
- Βήμα 4: Γιατί Multiplexing;
- Βήμα 5: Πώς να το πετύχετε αυτό;
- Βήμα 6: Αλγόριθμος πολυπλεξίας
Βίντεο: Χρονόμετρο με χρήση του Pic18f4520 στο Proteus With 7 Segment: 6 Steps
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Μόλις ξεκίνησα να δουλεύω με τον ελεγκτή φωτογραφιών, ένας φίλος μου μου ζήτησε να φτιάξω ένα χρονόμετρο από αυτό. Έτσι δεν έχω εικόνα υλικού για κοινή χρήση, έχω γράψει κώδικα και τον προσομοιώνω στο λογισμικό Proteus.
εδώ έχω μοιραστεί το σχηματικό για το ίδιο.
ορίζονται τρία μεταβλητά χιλιοστά του δευτερολέπτου, δευτερόλεπτα, λεπτά
εδώ έχουμε χρησιμοποιήσει διακοπή χρονοδιακόπτη 10 ms, για κάθε 1000 χιλιοστά του δευτερολέπτου, η μεταβλητή δευτερολέπτων θα αυξάνεται, για κάθε 60 δευτερόλεπτα η μεταβλητή θα αυξάνεται.
Βήμα 1: Απαιτούνται πράγματα
1 ελεγκτής pic18f4520
2 οθόνες επτά τμημάτων
3 τρανζίστορ bc547
4 διακόπτες για έναρξη/διακοπή/επαναφορά
5 αντιστάσεις 330Ε, 10Κ, 1Κ
6 κατεβάστε το mikroC για φωτογραφία
7 λήψη proteus
Βήμα 2: Λογική κώδικα και εμφάνιση
Τι είναι η οθόνη επτά τμημάτων; Η οθόνη επτά τμημάτων (SSD) είναι μία από τις πιο κοινές, φθηνές και απλές στη χρήση οθόνες. Μοιάζει παραπάνω.
εδώ πρέπει να χρησιμοποιήσουμε τον τύπο Κοινής καθόδου με οθόνη 7 τμημάτων - Στον κοινό τύπο καθόδου SSD, το τερματικό –ve όλων των LED είναι συνήθως συνδεδεμένο με την ακίδα ‘COM’. Ένα τμήμα μπορεί να φωτιστεί όταν δίνεται το «1» στο αντίστοιχο τμήμα LED και η γείωση συνδέεται με το κοινό. Τα εσωτερικά φαίνονται στο σχήμα 2.
Βήμα 3: Οθόνη οδήγησης με μικροελεγκτή
Στο κύκλωμά μου, έχω χρησιμοποιήσει το τρανζίστορ NPN BC547.
Για την απλή χρήση ενός BJT ως διακόπτη, οι διασταυρώσεις εκπομπού-συλλέκτη βραχυκυκλώνονται όταν υπάρχει σήμα εισόδου στο βασικό τερματικό, αλλιώς παραμένει διακοπτόμενο. Η είσοδος πρέπει να δίνεται μέσω κατάλληλης αντίστασης.
Βήμα 4: Γιατί Multiplexing;
Συχνά πρέπει να χρησιμοποιούμε δύο, τρεις ή περισσότερους SSD και αυτό επίσης χρησιμοποιώντας μόνο ένα MCU, αλλά ένα πρόβλημα που αντιμετωπίζουμε είναι η έλλειψη ακίδων εισόδου/εξόδου στο MCU, καθώς ένας SSD θα έπαιρνε 8 ακίδες και έτσι τρεις SSD θα έπαιρνε 24 καρφίτσες. Στην εικόνα 18, έχουμε μόνο 48 ακίδες εισόδου/εξόδου. Ποια είναι λοιπόν η λύση;
Μια πιθανότητα είναι ότι χρησιμοποιούμε μεγαλύτερο MCU με περισσότερες ακίδες εισόδου/εξόδου. Αλλά τότε είμαστε ακόμα περιορισμένοι μόνο σε 3 SSD που μπορούν να χρησιμοποιηθούν. Μια άλλη πολύ καλύτερη και προτεινόμενη λύση σε αυτό το πρόβλημα είναι η πολυπλεξία των Οθονών Επτά Τμημάτων.
Η Wikipedia λέει «Στις τηλεπικοινωνίες και τα δίκτυα υπολογιστών, η πολυπλεξία (γνωστή και ως muxing) είναι μια μέθοδος με την οποία πολλαπλά σήματα αναλογικών μηνυμάτων ή ροές ψηφιακών δεδομένων συνδυάζονται σε ένα σήμα μέσω ενός κοινού μέσου. Ο στόχος είναι να μοιραστούμε έναν ακριβό πόρο. «Αυτό που εννοούμε με την πολυπλεξία οθόνης επτά τμημάτων είναι ότι θα χρησιμοποιήσουμε μόνο 7 θύρες εξόδου για να δώσουμε την οθόνη σε όλους τους SSD.
Βήμα 5: Πώς να το πετύχετε αυτό;
Εδώ, θα χρησιμοποιήσουμε το ‘Persistence of Vision’. Τώρα πρέπει να έχετε ήδη περάσει αυτόν τον όρο. Ναι, αυτή είναι η ίδια τεχνική που χρησιμοποιείται στην κινηματογραφία (εμφανίζουν εικόνες τόσο γρήγορα που ο εγκέφαλός μας δεν μπορεί να διακρίνει καθυστέρηση μεταξύ δύο διαδοχικών εικόνων). Ομοίως, όταν αναμιγνύουμε περισσότερους από έναν SSD, εμφανίζουμε μόνο έναν SSD κάθε φορά και αλλάζουμε μεταξύ τους τόσο γρήγορα που ο εγκέφαλός μας δεν μπορεί να κάνει διάκριση μεταξύ τους.
Ας πούμε ότι κάθε οθόνη είναι ενεργή μόνο για 5 χιλιοστά του δευτερολέπτου τη φορά, δηλαδή φωτίζεται 1/0,0045 φορές το δευτερόλεπτο, που είναι περίπου ίσο με 222 φορές/δευτερόλεπτο. Τα μάτια μας δεν μπορούν να αισθανθούν μια αλλαγή τόσο γρήγορα, και έτσι βλέπουμε ότι όλες οι οθόνες λειτουργούν ταυτόχρονα. Αυτό που συμβαίνει πραγματικά στο υλικό είναι ότι το MCU δίνει «1» στην καρφίτσα (θυμηθείτε, δίνοντας «1» στη βάση ενός σορτς BJT τη διασταύρωση συλλέκτη και εκπομπής;), το οποίο συνδέεται με τη βάση του τρανζίστορ του οι αντίστοιχες οθόνες, διατηρεί τη θύρα 'ON' για 5 χιλιοστά του δευτερολέπτου και στη συνέχεια την απενεργοποιεί ξανά. Αυτή η διαδικασία μπαίνει σε έναν ατελείωτο βρόχο, έτσι ώστε να βλέπουμε την οθόνη συνεχώς.
Βήμα 6: Αλγόριθμος πολυπλεξίας
Ορίστε δύο θύρες στον κώδικα, μία για τη θύρα δεδομένων τμημάτων και τη θύρα ελέγχου τμήματος.
το κόλπο εδώ είναι ότι εμφανίζετε τα δεδομένα και στα 7 τμήματα. και ενεργοποιήστε τον έναν ακροδέκτη ελέγχου στον οποίο πρέπει να εμφανίσετε αυτά τα δεδομένα. αλλάξτε τα δεδομένα και αλλάξτε τον πείρο ελέγχου.
εδώ σε αυτό το διδακτικό έχουμε χρησιμοποιήσει πολυψήφιο 6 ψηφίων, απλώς περάστε από το συνημμένο αρχείο c και θα το διαγράψετε.
Συνιστάται:
Όλα σε ένα ψηφιακό χρονόμετρο (ρολόι, χρονόμετρο, ξυπνητήρι, θερμοκρασία): 10 βήματα (με εικόνες)
All in One Digital Chronometer (Ρολόι, Χρονόμετρο, Ξυπνητήρι, Θερμοκρασία): Σχεδιάζαμε να φτιάξουμε χρονόμετρο για κάποιον άλλο διαγωνισμό, αλλά αργότερα εφαρμόσαμε επίσης ένα ρολόι (χωρίς RTC). Καθώς μπήκαμε στον προγραμματισμό, ενδιαφερθήκαμε να εφαρμόσουμε περισσότερες λειτουργίες στη συσκευή και καταλήξαμε να προσθέσουμε DS3231 RTC, ως
Χρήση του Arduino για την Επιστήμη του Πολίτη!: 14 βήματα (με εικόνες)
Χρησιμοποιώντας το Arduino για την Επιστήμη του Πολίτη!: Η Επιστήμη μας επιτρέπει να κάνουμε τις πιο πιεστικές ερωτήσεις μας και να εξερευνήσουμε κάθε είδους περιέργεια. Με λίγη σκέψη, σκληρή δουλειά και υπομονή, μπορούμε να χρησιμοποιήσουμε τις εξερευνήσεις μας για να δημιουργήσουμε μια καλύτερη κατανόηση και εκτίμηση του περίπλοκου και όμορφου κόσμου
Χρήση του Arduino Uno για τοποθέτηση XYZ του ρομποτικού βραχίονα 6 DOF: 4 βήματα
Χρήση Arduino Uno για XYZ Positioning of 6 DOF Robotic Arm: Αυτό το έργο αφορά την υλοποίηση ενός σύντομου και σχετικά εύκολου σχεδίου Arduino για την παροχή αντίστροφης κινηματικής τοποθέτησης XYZ. Είχα φτιάξει έναν 6ο σερβο ρομποτικό βραχίονα, αλλά όταν ήρθε η εύρεση λογισμικού για να το τρέξω, δεν υπήρχαν πολλά εκτός από το cust
Ρολόι πρόβλεψης καιρού με χρήση του Old Alarm και του Arduino: 13 βήματα (με εικόνες)
Weather Forecast Clock Using Old Alarm and Arduino: Είχα ένα σπασμένο ξυπνητήρι και βρήκα μια ιδέα να το μετατρέψω σε ρολόι και σταθμό πρόγνωσης καιρού. Για αυτό το έργο θα χρειαστείτε: Παλαιό κυκλικό ξυπνητήρι Arduino Nano BME280 μονάδα αισθητήρα ( θερμοκρασία, υγρασία, πίεση) Οθόνη LCD
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: 5 βήματα (με εικόνες)
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: Μπορείτε να κάνετε πολλά ωραία πράγματα με το PSP homebrew και σε αυτό το εκπαιδευτικό πρόγραμμα θα σας μάθω πώς να χρησιμοποιείτε το PSP σας ως χειριστήριο για παιχνίδια, αλλά υπάρχει επίσης ένα πρόγραμμα που σας επιτρέπει να χρησιμοποιείτε το joystick ως ποντίκι. Εδώ είναι η μητέρα