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

Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219: 5 βήματα
Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219: 5 βήματα

Βίντεο: Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219: 5 βήματα

Βίντεο: Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219: 5 βήματα
Βίντεο: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Νοέμβριος
Anonim
Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219
Σεμινάριο εμφάνισης 7 τμημάτων Arduino MAX7219

Το MAX7219 είναι ένα IC που χρησιμοποιείται για την οδήγηση LED 7 τμημάτων (έως 8 ψηφία), μπλοκ οθονών (οθόνες ράβδων) και 64 μεμονωμένα LED που είναι κοινές καθόδους. Για επικοινωνία με μικροελεγκτή, το MAX7219 χρησιμοποιεί το σύστημα επικοινωνίας SPI. Έτσι, για να οδηγήσετε 64 LED χρειάζονται μόνο 3 θύρες του μικροελεγκτή.

Σε αυτό το άρθρο θα σας δείξω πώς να χρησιμοποιήσετε μια μονάδα 7-Segement που χρησιμοποιεί το IC MAX7219 ως πρόγραμμα οδήγησης.

Απαιτούμενα συστατικά:

  • MAX7219 Ενότητα 7 τμημάτων
  • Arduino Nano
  • καλώδιο άλτης
  • USB mini

Απαραίτητη Βιβλιοθήκη:

LedControl

Σε αυτό το σεμινάριο χρησιμοποιώ τον πίνακα Arduino Nano. Εάν δεν το έχετε χρησιμοποιήσει ποτέ. Προτείνω να διαβάσετε το προηγούμενο άρθρο μου σχετικά με το "Πώς να χρησιμοποιήσετε το Arduino Nano".

Βήμα 1: Συναρμολόγηση όλων των εξαρτημάτων

Συναρμολόγηση όλων των εξαρτημάτων
Συναρμολόγηση όλων των εξαρτημάτων

Συνδέστε την πλακέτα Arduino στην ενότητα 7 τμημάτων. Δείτε την εικόνα ή την οδηγία που έγραψα παρακάτω:

Arduino σε 7 τμήματα

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Βήμα 2: Προσθήκη βιβλιοθήκης

Προσθήκη βιβλιοθήκης
Προσθήκη βιβλιοθήκης

Αφού ολοκληρωθεί το κύκλωμα. Προσθέστε τη βιβλιοθήκη "LedControl" στο Arduino IDE.

Για να προσθέσετε μια βιβλιοθήκη στο Arduino, μπορείτε να τη διαβάσετε στο άρθρο "Πώς να προσθέσετε μια εξωτερική βιβλιοθήκη στο Arduino" που έφτιαξα νωρίτερα ".

Βήμα 3: Πρόσθετες λειτουργίες

Πρόσθετες λειτουργίες
Πρόσθετες λειτουργίες

Μετά την προσθήκη της βιβλιοθήκης LedControl. Μπορείτε να χρησιμοποιήσετε πρόσθετες λειτουργίες για τον έλεγχο της ενότητας 7 τμημάτων.

Διαφωνία

addr - διεύθυνση της οθόνης

ψηφίο - η θέση του ψηφίου στην οθόνη (0..7) τιμή - η τιμή που θα εμφανιστεί. (0x00..0x0F)

dp ορίζει την υποδιαστολή.

Λειτουργία

setChar (addr, ψηφίο, value.dp); // για να εμφανίσετε την τιμή τύπου char για κωδικοποίηση ASCII 7-bit

setDigit (addr, digit, value, bolean dp)? // για την εμφάνιση ψηφίων και χαρακτήρων σε μια συνάρτηση setRow (addr, digit, value, boolean dp); // για να εμφανιστεί το αντικείμενο στο επιθυμητό ψηφίο

Για περισσότερες λεπτομέρειες, διαβάστε εδώ.

Βήμα 4: Μεταφόρτωση σκίτσου

Μεταφόρτωση σκίτσου
Μεταφόρτωση σκίτσου

Έχω σκιαγραφήσει για τη δοκιμή αυτής της ενότητας 7 τμημάτων. Μπορείτε να αντιγράψετε τον παρακάτω κώδικα και, στη συνέχεια, να τον επικολλήσετε στο σκίτσο σας.

// Πρέπει πάντα να συμπεριλάβουμε τη βιβλιοθήκη

#include "LedControl.h"

/*

Τώρα χρειαζόμαστε ένα LedControl για να δουλέψουμε. ***** Αυτοί οι αριθμοί καρφιτσών πιθανότατα δεν θα λειτουργήσουν με το υλικό σας *****

Το pin 12 είναι συνδεδεμένο στο DataIn

ο πείρος 11 είναι συνδεδεμένος στο CLK

Ο πείρος 10 είναι συνδεδεμένος στο LOAD

Έχουμε μόνο ένα MAX72XX.

*/

LedControl lc = LedControl (12, 11, 10, 1);

/ * πάντα περιμένουμε λίγο μεταξύ ενημερώσεων της οθόνης */

ανυπόγραφη μεγάλη καθυστέρηση = 500;

void setup () {

/ * Το MAX72XX βρίσκεται σε λειτουργία εξοικονόμησης ενέργειας κατά την εκκίνηση, πρέπει να κάνουμε μια κλήση αφύπνισης */

lc. τερματισμός λειτουργίας (0, false);

/ * Ρυθμίστε τη φωτεινότητα σε μεσαίες τιμές */

lc.setIntensity (0, 8);

/ * και καθαρίστε την οθόνη */

lc.clearDisplay (0);}

void γεια () {

lc.setChar (0, 7, 'H', false);

lc.setChar (0, 6, 'E', false);

lc.setChar (0, 5, 'L', false);

lc.setChar (0, 4, 'L', false);

lc.setChar (0, 3, '0', false);

lc.setChar (0, 2, '.', false);

lc.setChar (0, 1, '.', false);

lc.setChar (0, 0, '.', false);

καθυστέρηση (καθυστέρηση+1000).

lc.clearDisplay (0);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 7, 1, false);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 6, 2, false);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 5, 3, false);

καθυστέρηση (καθυστέρηση)

lc.setDigit (0, 4, 4, false);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 3, 5, false);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 2, 6, false);

καθυστέρηση (καθυστέρηση)?

lc.setDigit (0, 1, 7, false);

καθυστέρηση (καθυστέρηση)

lc.setDigit (0, 0, 8, false);

καθυστέρηση (1500)?

lc.clearDisplay (0);

καθυστέρηση (καθυστέρηση)

}

void loop () {γεια ();

}

Or κατεβάστε το παρακάτω αρχείο:

Βήμα 5: Αποτέλεσμα

Απολαύστε το αποτέλεσμα.

Εάν υπάρχουν ερωτήσεις, γράψτε τις στη στήλη σχολίων.

Τα λέμε στο επόμενο άρθρο.

Συνιστάται: