Σε αυτήν τη συνεδρία θα σχεδιάσουμε μια οθόνη LED 8x8 με μήτρα LED 8x8 και μικροελεγκτή ATmega8, οι οποίες μπορούν να εμφανίζουν αλφάβητα ή ονόματα. Μια τυπική μήτρα 8x8 led εμφανίζεται παρακάτω:
Μια μήτρα LED 8x8 περιέχει 64 LED (Light Emitting Diodes) που είναι διατεταγμένα με τη μορφή μήτρας, εξ ου και το όνομα LED matrix. Αυτές οι μήτρες μπορούν να κατασκευαστούν μέσω κυκλώματος 64 LED. Ωστόσο, αυτή η διαδικασία είναι χρονοβόρα. Τώρα μια μέρα είναι διαθέσιμα σε συμπαγείς μορφές όπως φαίνεται στο σχήμα. Αυτές οι συμπαγείς μονάδες διατίθενται σε διάφορα μεγέθη και πολλά χρώματα. Κάποιος μπορεί να τα επιλέξει για ευκολία.
Το κόστος της μονάδας είναι ίδιο με το κόστος των 64 LED, οπότε για έναν χόμπι είναι πιο εύκολο να δουλέψετε. Η διαμόρφωση PIN της μονάδας είναι όπως φαίνεται στο σχήμα. Οι κωδικοί PIN πρέπει να είναι ακριβώς όπως φαίνεται στην εικόνα για την αποφυγή σφαλμάτων. Θα συζητήσουμε λεπτομερώς την εσωτερική διαμόρφωση κυκλώματος της μονάδας στην περιγραφή.
Συστατικά
Υλικό: ATMEGA8, Τροφοδοσία (5v), AVR-ISP PROGRAMMER, 100 uF πυκνωτής (συνδεδεμένος σε τροφοδοτικό), 1KΩ αντίσταση (8 τεμάχια).
Λογισμικό: Atmel studio 6.1, progisp ή flash magic.
Διάγραμμα κυκλώματος και εργασία
Οι συνδέσεις που γίνονται μεταξύ του ATMEGA8 και του LED matrix module φαίνεται στο παρακάτω σχήμα
PORTD, PIN0 ------------------ PIN13 της μονάδας LED
PORTD, PIN1 ------------------ PIN03 της μονάδας LED
PORTD, PIN2 ------------------ PIN04 της μονάδας LED
PORTD, PIN3 ------------------ PIN10 της μονάδας LED
PORTD, PIN4 ------------------ PIN06 της μονάδας LED
PORTD, PIN5 ------------------ PIN11 της μονάδας LED
PORTD, PIN6 ------------------ PIN15 της μονάδας LED
PORTD, PIN7 ------------------ PIN16 της μονάδας LED
PORTB, PIN0 ------------------ PIN09 της μονάδας LED
PORTB, PIN1 ------------------ PIN14 της μονάδας LED
PORTB, PIN2 ------------------ PIN08 της μονάδας LED
PORTB, PIN3 ------------------ PIN12 της μονάδας LED
PORTC, PIN0 ------------------ PIN01 της μονάδας LED
PORTC, PIN1 ------------------ PIN07 της μονάδας LED
PORTC, PIN2 ------------------ PIN02 της μονάδας LED
PORTC, PIN3 ------------------ PIN05of μονάδα LED
Το διάγραμμα κυκλώματος της οθόνης μήτρας 8x8 LED φαίνεται στο παρακάτω σχήμα.
Υπάρχουν 64 LED διατεταγμένα σε μορφή μήτρας. Έχουμε λοιπόν 8 στήλες και 8 σειρές όπως φαίνεται στο σχήμα. Πάνω από αυτές τις σειρές και τις στήλες, όλα τα θετικά τερματικά στη σειρά συγκεντρώνονται. Για κάθε σειρά, υπάρχει ένα κοινό θετικό τερματικό και για τα 8 LED σε αυτήν τη σειρά. Εμφανίζεται στο παρακάτω σχήμα,
Έτσι, για 8 σειρές έχουμε 8 κοινά θετικά τερματικά, εξετάστε την πρώτη σειρά. Όπως φαίνεται στην εικόνα, οι λυχνίες LED από D1 έως D8 έχουν ένα κοινό θετικό τερματικό και βγαίνουν από το LED MODULE ως PIN9.
Θα πρέπει να δούμε ότι όλα τα κοινά θετικά των σειρών δεν εξάγονται από το LED MODULE με κανονικό τρόπο. Υπάρχει πολύ παρατυπία στα κοινά τερματικά σε κάθε περίπτωση. Κάποιος πρέπει να το έχει αυτό κατά τη σύνδεση του τερματικού.
Πείτε εάν θέλουμε να ανάψει ένα ή όλα τα LED στην πρώτη σειρά της μήτρας, τότε θα πρέπει να ενεργοποιήσουμε το PIN9 της ενότητας LED MATRIX και όχι PIN0.
Πείτε εάν θέλουμε να ανάψει ένα ή όλα τα LED στην τρίτη σειρά της μήτρας, τότε θα πρέπει να ενεργοποιήσουμε το PIN8 της ενότητας LED MATRIX και όχι PIN2.
Έτσι, όποτε θέλουμε ένα ή όλα τα LED σε μια σειρά να είναι αναμμένο, να τροφοδοτείται ο αντίστοιχος ακροδέκτης LED MODULE.
Αυτό δεν έχει τελειώσει ακόμα, αφήνοντας απλώς τη δύναμη ROWS δεν αποδίδει τίποτα. Πρέπει να γειώσουμε το άλλο άκρο. Θα το συζητήσουμε παρακάτω.
Τώρα για αυτήν την περίπτωση αγνοούμε τις κοινές θετικές σειρές και επικεντρωνόμαστε σε κοινές αρνητικές στήλες.
Έτσι σε αυτήν την ενότητα όλα τα αρνητικά τερματικά της πρώτης στήλης συγκεντρώνονται στο PIN13. Αυτό φαίνεται στο παρακάτω σχήμα.
Εδώ υπάρχει επίσης παρατυπία στο PIN OUTAGE της ενότητας. Το πρώτο αρνητικό LED της πρώτης στήλης εμφανίζεται στο PIN13. Το κοινό αρνητικό LED της δεύτερης στήλης εμφανίζεται στο PIN3.
Κάποιος πρέπει να προσέξει τις καρφίτσες ενώ συνδέεται. Τώρα, εάν πρέπει να γειωθεί ένα ή όλα τα LED στην πρώτη στήλη, πρέπει να γειωθεί το PIN13 του MATRIX MODULE. Αυτός ο τρόπος πηγαίνει όλες στις άλλες επτά κοινές αρνητικές στήλες. Όταν και οι δύο θήκες συναντηθούν συναντάμε ένα κύκλωμα όπως φαίνεται παρακάτω,
Το παραπάνω κύκλωμα είναι το πλήρες εσωτερικό διάγραμμα του LED MODULE. Πείτε εάν θέλουμε να ανάψουμε το LED D10 στη μήτρα, πρέπει να ενεργοποιήσουμε το PIN14 της μονάδας και να γειώσουμε το PIN3 στη μονάδα. Με αυτό το D10 θα ανάψει. Αυτό φαίνεται στο παρακάτω σχήμα. Αυτός πρέπει να είναι ο πρώτος έλεγχος για το MATRIX να γνωρίζει τα πάντα με τη σειρά.
Πείτε εάν θέλουμε να ενεργοποιήσουμε το D1, πρέπει να ενεργοποιήσουμε το PIN9 του πίνακα και να γειώσουμε το PIN13. Με αυτό το LED D1 θα ανάψει. Η τρέχουσα κατεύθυνση για αυτήν την περίπτωση φαίνεται στο παρακάτω σχήμα.
Τώρα για το δύσκολο κομμάτι, σκεφτείτε ότι θέλουμε να ενεργοποιήσουμε ταυτόχρονα το D1 και το D10. Έτσι, τροφοδοτούμε και τα δύο PIN9, PIN14 και γειώσουμε και τα δύο PIN13, PIN3. Με αυτό θα έχουμε D2 και D9 ON μαζί με D1 και D10. Είναι επειδή μοιράζονται κοινούς τερματικούς σταθμούς. Έτσι, αν θέλουμε να ανάβουμε LED κατά μήκος της διαγώνιας, θα αναγκαστούμε να ανάβουμε όλα τα LED κατά μήκος της διαδρομής. Αυτό φαίνεται στο παρακάτω σχήμα.
Έτσι, για να εξαλείψουμε αυτό το πρόβλημα, θα ενεργοποιήσουμε μόνο έναν οδηγό τη φορά. Ας πούμε σε t = 0m SEC, η LED D1 είναι συντονισμένη. Στο t = 1m SEC, το LED D1 είναι OFF και το LED D2 είναι ON. Και πάλι σε t = 2 m SEC, το LED D2 είναι OFF και το LED D1 είναι ON. Αυτό συνεχίζεται.
Τώρα το κόλπο είναι ότι το ανθρώπινο μάτι δεν μπορεί να συλλάβει συχνότητα μεγαλύτερη από 30 HZ. Αυτό συμβαίνει εάν μια λυχνία LED ανάβει και σβήνει συνεχώς με ρυθμό 30 ΗΖ ή περισσότερο. Το μάτι βλέπει το LED ως συνεχώς αναμμένο. Ωστόσο, αυτό δεν ισχύει. Η λυχνία LED ανάβει και σβήνει συνεχώς. Αυτή η τεχνική ονομάζεται πολυπλεξία.
Χρησιμοποιώντας την πολυπλεξία, θα γυρίζουμε μόνο μία σειρά κάθε φορά και θα κάνουμε συνεχώς ποδηλασία γύρω από τις 8 σειρές. Αυτό απεικονίστηκε ως μια πλήρως ενεργοποιημένη μήτρα για γυμνό μάτι.
Τώρα πείτε ότι θέλουμε να εμφανίσουμε το "A" στη μήτρα.
Όπως είπαμε, θα ενεργοποιήσουμε μια σειρά σε μια στιγμή, Σε t = 0m SEC, το PIN09 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, γείωσης PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 1m SEC, το PIN14 έχει ρυθμιστεί ΥΨΗΛΟ (οι υπόλοιπες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 είναι γειωμένοι (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 2m SEC, το PIN08 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι χαμηλές αυτήν τη στιγμή) αυτήν τη στιγμή, οι γείωσης PIN13, PIN3, PIN15, PIN16 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 3m SEC, το PIN12 έχει ρυθμιστεί ΥΨΗΛΟ (οι υπόλοιπες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι γείωσης PIN13, PIN3, PIN15, PIN16 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 4m SEC, το PIN01 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι γείωσης PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 5m SEC, το PIN07 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 είναι γειωμένοι (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 6m SEC, το PIN02 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι γείωσης PIN13, PIN3, PIN15, PIN16 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε t = 7m SEC, το PIN05 έχει ρυθμιστεί ΥΨΗΛΟ (άλλες καρφίτσες ROW είναι ΧΑΜΗΛΕΣ αυτήν τη στιγμή) αυτήν τη στιγμή, οι γείωσης PIN13, PIN3, PIN15, PIN16 (άλλες ακίδες COLUMN είναι ΥΨΗΛΕΣ αυτήν τη στιγμή)
Σε αυτήν την ταχύτητα, η οθόνη θα φαίνεται συνεχώς να δείχνει χαρακτήρα «Α». Εμφανίζεται στο σχήμα.
Έτσι εμφανίζονται όλοι οι χαρακτήρες στην οθόνη. Μετά τη σωστή σύνδεση του κυκλώματος, όπως φαίνεται στο διάγραμμα κυκλώματος. Μπορούμε να δώσουμε απευθείας στον ελεγκτή οδηγίες για την εκτέλεση της πολυπλεξίας με σωστό τρόπο ώστε να εμφανίζεται το όνομα.