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

Pushbutton LED Matrix: 4 Βήματα
Pushbutton LED Matrix: 4 Βήματα

Βίντεο: Pushbutton LED Matrix: 4 Βήματα

Βίντεο: Pushbutton LED Matrix: 4 Βήματα
Βίντεο: Arduino push button led | arduino button led projects 2024, Νοέμβριος
Anonim
Μήτρα LED Pushbutton
Μήτρα LED Pushbutton

Αυτό το έργο μπορεί να θεωρηθεί ως ένα άλλο εισαγωγικό έργο Arduino που είναι ελαφρώς πιο προχωρημένο από το τυπικό έργο "αναβοσβήνει ένα LED". Αυτό το έργο ενσωματώνει μια μήτρα LED, κουμπιά, καταχωρητές αλλαγής ταχυτήτων (που μπορούν να αποθηκεύσουν καρφίτσες στον πίνακα Arduino σας) και μια βασική ιδέα που ονομάζεται πολυπλεξία. Ελπίζω να βρείτε το σεμινάριο διαφωτιστικό και να προκαλέσετε τον εαυτό σας να το βελτιώσει!

Προμήθειες

(1x) Arduino Uno

(5x) Απτά κουμπιά

(2x) Πυκνωτές 0,1 uF

(2x) 1 uF Πυκνωτές

(8x) 1k Αντιστάσεις

(5x) 10k Αντίσταση

(2x) καταχωρητές βάρδιας 74HC595

Jumper Wires

Μαύρο Σύρμα

Κόκκινο σύρμα

Βήμα 1: Βήμα 1: Δημιουργία μήτρας LED

Βήμα 1: Δημιουργία μήτρας LED
Βήμα 1: Δημιουργία μήτρας LED
Βήμα 1: Δημιουργία μήτρας LED
Βήμα 1: Δημιουργία μήτρας LED
Βήμα 1: Δημιουργία μήτρας LED
Βήμα 1: Δημιουργία μήτρας LED

Το σεμινάριο που χρησιμοποίησα για να φτιάξω τη μήτρα LED 8x8 σε αυτό το έργο μπορείτε να το βρείτε εδώ. Υπάρχουν κοινές διαμορφώσεις για μια μήτρα LED:

α) Άνοδος κοινής σειράς

β) Καθόδος κοινής σειράς

Δεδομένου ότι χρησιμοποίησα τη διάταξη της Καθοδικής κοινής σειράς της μήτρας, θα την συζητήσω κυρίως εδώ και μπορείτε να επεκτείνετε την ίδια λογική στη διάταξη της Ανώδους γραμμής κοινής σειράς. Στη διάταξη Common Row Cathode, οι κάθοδοι των LED (ή οι αρνητικοί ακροδέκτες που είναι το μικρότερο πόδι σε ένα LED) συνδέονται μεταξύ τους σε σειρές ενώ οι άνοδοι (ή οι θετικοί ακροδέκτες που είναι το μεγαλύτερο σκέλος σε ένα LED) συνδέονται μεταξύ τους σε στήλες Το Για να απευθυνθείτε σε μια συγκεκριμένη λυχνία LED, τραβήξτε τη σειρά καθόδου στην οποία βρίσκεται η κάθοδος LED χαμηλά και τραβήξτε τη στήλη ανόδου στην οποία βρίσκεται η άνοδος LED ψηλά.

Σημείωση: Κατά τη δημιουργία της μήτρας LED που φαίνεται στον παραπάνω σύνδεσμο, βεβαιωθείτε ότι έχετε συνδέσει τις στήλες ανόδου με τις αντιστάσεις 1k ohm πριν εφαρμόσετε οποιαδήποτε τάση στα LED.

Βήμα 2: Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων

Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων
Βήμα 2: Καλωδίωση των κουμπιών και των καταχωρητών αλλαγής ταχυτήτων

Η καλωδίωση για τα κουμπιά και τους καταχωρητές αλλαγής εμφανίζεται παραπάνω. Θα ήθελα να σημειώσω ότι οι καταχωρητές αλλαγής στο διάγραμμα κυκλώματος δεν εμφανίζουν τις ακίδες γείωσης (pin 8 του IC) και Vcc ή τροφοδοσίας (pin 16 του IC) για τα τσιπ. ο πείρος γείωσης συνδέεται με τον πείρο GND της πλακέτας Arduino και ο Vcc συνδέεται με τον πείρο 5V της πλακέτας Arduino. Ο πείρος Vcc κάθε καταχωρητή αλλαγής συνδέεται επίσης με έναν πυκνωτή 0.1uF συνδεδεμένο στη γείωση.

Σημείωση: Οι έξοδοι κάθε καταχωρητή βάρδιας παρατίθενται ως QA to QH (αγνοήστε το QH*). Παρατίθενται με βάση το λιγότερο σημαντικό bit (LSB) (για QA) έως το πιο σημαντικό bit (MSB) (για QH), δηλαδή το QA θα ελέγχει τη 0η σειρά ή στήλη κ.λπ.

Βήμα 3: Βήμα 3: Μεταφόρτωση του κώδικα

Ο κώδικας για τον έλεγχο της μήτρας LED επισυνάπτεται σε αυτό το σεμινάριο. Προσπάθησα να σχολιάσω όσο περισσότερο κώδικα μπορούσα, ώστε να είναι πολύ σαφές πώς λειτουργεί το πρόγραμμα. Η κύρια βάση του προγράμματος είναι ότι υπάρχει μια μήτρα που παρακολουθεί ποιες λυχνίες LED πρέπει να είναι ενεργοποιημένες ή απενεργοποιημένες. Για να έχετε σωστά τις διάφορες λυχνίες LED χωρίς τυχαία ενεργοποίηση ανεπιθύμητων διόδων, πρέπει να χρησιμοποιήσετε μια έννοια που ονομάζεται πολυπλεξία. Η πολυπλεξία είναι ουσιαστικά να φωτίζει μεμονωμένα LED σε μια συγκεκριμένη σειρά ενώ όλα τα άλλα LED σε άλλες σειρές και στη συνέχεια να κάνει το ίδιο για τις υπόλοιπες σειρές. Το κόλπο είναι ότι εάν οι λυχνίες LED περνούν μέσα από τις σειρές αρκετά γρήγορα, τα μάτια σας μπορούν να πουν ότι μεμονωμένες σειρές φωτίζονται μία τη φορά. Εάν θέλετε να εξερευνήσετε περισσότερους τρόπους με τους οποίους μπορείτε να ξεγελάσετε τα μάτια σας με LED, ίσως θελήσετε να εξετάσετε την έννοια της επιμονής της όρασης (εύκολα αναζητήσιμη στο Google ή στο Instructables).

Ο τρόπος με τον οποίο ενημερώνονται οι στήλες και οι γραμμές καθόδου είναι μέσω μιας συνάρτησης που ορίζεται από το χρήστη και ονομάζεται «UpdateShiftRegisters». Αυτή η συνάρτηση περιστρέφει πρώτα τον πείρο ασφάλισης, ο οποίος ελέγχει εάν ένα νέο byte (8 bits) αποστέλλεται στην έξοδο, χαμηλά, ώστε να μην είναι δυνατές αλλαγές στις εξόδους ενώ γράφονται νέα bits στο τσιπ. Στη συνέχεια, χρησιμοποιώντας μια ενσωματωμένη συνάρτηση Arduino που ονομάζεται "ShiftOut", η οποία χειρίζεται συγκεκριμένα την αποστολή δεδομένων σε καταχωρητές αλλαγής, το πρόγραμμα γράφει όποια γραμμή (καθόδου) θα είναι χαμηλή και ποιες στήλες (ανόδου) θα πρέπει να είναι υψηλές. Τέλος, ο πείρος μανδάλωσης τραβιέται ψηλά ώστε να ενημερώνεται η έξοδος (τα LED).

Βήμα 4: Πρόσθετες πληροφορίες/πόροι

Ακολουθούν ορισμένοι σύνδεσμοι προς ιστότοπους ή βιβλία που ενδέχεται να παρέχουν πρόσθετες πληροφορίες σχετικά με αυτό το έργο:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Ξεκινώντας με το Arduino, 2η έκδοση του Massimo Banzi

Συνιστάται: