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

Οθόνη μήτρας 8x8 με BT: 5 βήματα (με εικόνες)
Οθόνη μήτρας 8x8 με BT: 5 βήματα (με εικόνες)

Βίντεο: Οθόνη μήτρας 8x8 με BT: 5 βήματα (με εικόνες)

Βίντεο: Οθόνη μήτρας 8x8 με BT: 5 βήματα (με εικόνες)
Βίντεο: Arduino 8x8 Gate Sequencer Rhythm Pattern Generator με δύο περιστροφικούς κωδικοποιητές και OLED 2024, Νοέμβριος
Anonim

Αγόρασα μια μήτρα 4 πάνελ 8x8 από το Ebay (Κίνα) πριν από μερικούς μήνες.

Wasμουν λίγο απογοητευμένος όταν συνειδητοποίησα ότι ήταν ενσύρματα από πλευρά σε πλευρά, όχι από πάνω προς τα κάτω για τα οποία γράφονται τα περισσότερα παραδείγματα στο Δίκτυο! Δείτε το βήμα 2.

Υποθέτω ότι θα μπορούσα να είχα τροποποιήσει τον κώδικα (δεν είμαι σίγουρος πώς), αλλά η συνηθισμένη μου τεμπελιά μου είπε να ψάξω για κάτι που έχει ήδη γραφτεί. Συνάντησα ένα παράδειγμα και το κόλλησα!

Έπαιξα με σταθερά μηνύματα, αλλά μετά αποφάσισα να δοκιμάσω να προγραμματίσω το μήνυμα μέσω Bluetooth.

Τότε ήθελα να αποθηκεύσω και να ανακτήσω μηνύματα!

Υπήρχε πολλή δοκιμή και σφάλμα, αλλά μετά από μερικές ώρες κωδικοποίησης το έβαλα σε λειτουργία.

Ακόμα προσπαθώ να βρω μια πρακτική χρήση για αυτό !!:-)

Βήμα 1: Η οθόνη

Η Οθόνη
Η Οθόνη
Η Οθόνη
Η Οθόνη

Όπως αναφέρθηκε προηγουμένως, η οθόνη είναι ενσύρματη από αριστερά προς τα δεξιά και όχι από πάνω προς τα κάτω.

Είμαι σίγουρος ότι θα μπορούσε να έχει τροποποιηθεί άλλος κώδικας για να αντισταθμιστεί αυτό!

Δεν θυμάμαι από πού κατέβασα τον κώδικα εργασίας, ωστόσο, μια αναζήτηση για "cosmicvoid matrix ή LedControlMS.h" μπορεί να βοηθήσει. Το lib του LedControlMS.h απαιτείται για αυτό το έργο.

Το μόνο μέρος αυτού του κώδικα που τροποποίησα ήταν ο αριθμός των οθονών καθώς φαίνεται ότι είχε οριστεί σε 5, τον άλλαξα σε 4.

Έχω παραγγείλει άλλη οθόνη x4 για να δω πώς λειτουργεί με 8 μήτρες και όχι με 4!

Βήμα 2: Το bit Bluetooth

Το bit Bluetooth
Το bit Bluetooth

Κάθε φορά που παίζω με μια συσκευή Bluetooth, αναφέρομαι πάντα σε αυτό το εξαιρετικό διδακτικό!

www.instructables.com/id/Modify-The-HC-05-B…

Αυτό το Instructable θα σας πει όλα όσα πρέπει να ξέρετε για τον τρόπο ρύθμισης και σύζευξης του HC-05 με κινητό τηλέφωνο ή tablet.

Συνδύασα με ένα Samsung Galaxy 6 Edge και μια καρτέλα A χωρίς πρόβλημα.

Άλλαξα την ταχύτητα επικοινωνίας σε 57600.

Βήμα 3: Επικοινωνία BT και το Πρόγραμμα

Επικοινωνία BT και το Πρόγραμμα
Επικοινωνία BT και το Πρόγραμμα

Για να επικοινωνήσω με το HC -05 κατέβασα μια δωρεάν εφαρμογή από το Play Store, υπάρχουν αρκετές διαθέσιμες, - αυτή που επέλεξα ονομάζεται Bluetooth Terminal HC -05 - είναι μια εξαιρετική εφαρμογή!

Αφού αντιστοιχίσετε το HC-05 με τηλέφωνο ή tablet, εμφανίζονται τα εξής.

Όταν επαναφέρετε το arduino, το πρόγραμμα διαβάζει όλα τα μηνύματα που είναι αποθηκευμένα στο EEPROM και τα εμφανίζει στο τηλέφωνο / tablet - δείτε την εικόνα.

Οι πληροφορίες που εμφανίζονται είναι η τοποθεσία Mem (0-9), το μήκος του μηνύματος και το ίδιο το μήνυμα σε κάθε τοποθεσία.

Τακτοποίησα τον κωδικό για αποθήκευση έως και ενός μηνύματος 90 χαρακτήρων στη διεύθυνση 5 για Msg 0, 105 για Msg 1 …….905 για Msg 9.

Διεύθυνση 0, 100…. 900 περιέχουν το μήκος του μηνύματος.

Εμφανίζεται το τελευταίο αποθηκευμένο / παραληφθέν μήνυμα.

Η αποστολή οτιδήποτε στο Arduino μέσω BT αντικαθιστά το τρέχον μήνυμα.

Για να αποθηκεύσετε το εμφανιζόμενο μήνυμα (χρησιμοποιήστε tilde ""), στείλτε ~ 0 για αποθήκευση στη θέση 0, ~ 5 για αποθήκευση στη θέση 5 κ.λπ.

Για να ανακτήσετε και να εμφανίσετε ένα αποθηκευμένο μήνυμα χρησιμοποιήστε το " ^" (καράτι), π.χ. το ^3 θα φορτώσει και θα εμφανίσει το μήνυμα στη θέση Mem 3.

Όταν ένα μήνυμα αποθηκεύεται ή ανακτάται, η τρέχουσα θέση μνήμης αποθηκεύεται στη διεύθυνση EEPROM 1023 - αυτή χρησιμοποιείται κατά την ενεργοποίηση για να εμφανιστεί το τελευταίο εμφανιζόμενο μήνυμα.

Βήμα 4: Ο κώδικας και η ισχύς

Ως συνήθως, ο κωδικός μου είναι τακτοποιημένος ως υπνοδωμάτιο εφήβων, αλλά έχω πολλά σχόλια εκεί!

Μπορεί να υπάρχει κάποιος περιττός κώδικας καθώς υπήρχε μια δοκιμή και λάθος.

Η ρουτίνα εμφάνισης θα εμφανίζει ό, τι υπάρχει στο msg array . Η γραμματοσειρά δεν είναι πλήρης, οπότε η εμφάνιση μερικών χαρακτήρων θα προκαλέσει απρόβλεπτα αποτελέσματα!

Αν κάποιος εκεί έξω μπορούσε να μου πει πώς να τροποποιήσω το σύμβολο $ για το σύμβολο £ ή ακόμα καλύτερα να το προσθέσω, τότε θα ήμουν εξαιρετικά ευγνώμων

Μπορεί να χρειαστεί να κωδικοποιήσετε ένα μήνυμα στη θέση 0 μόνο για να δώσετε ένα σημείο εκκίνησης, αυτό μπορεί να αντικατασταθεί όταν το πρόγραμμα είναι σε λειτουργία!

π.χ

EEPROM.write (0, '5'); // μήκος μηνύματος αποθηκευμένο στη θέση 0

EEPROM.write (5, 'L'); // msg αποθηκευμένο στη θέση 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Χωρίς αποθηκευμένα μηνύματα, κατά την ενεργοποίηση, η οθόνη θα είναι απρόβλεπτη και το τηλέφωνο / tablet θα εμφανίζει περίεργες αλλά συνεπείς πληροφορίες, καθώς, όπως συμβαίνει με τα περισσότερα EEPROM, τα προεπιλεγμένα δεδομένα σε κάθε τοποθεσία είναι FF Hex (225 δεκαδικά).

Αυτό το πρωτότυπο δημιουργήθηκε χρησιμοποιώντας ένα Arduino Uno, αλλά θα χρησιμοποιήσω ένα pro mini για το τελικό έργο.

Σκοπεύω να χρησιμοποιήσω μπαταρίες 3 x 1.5v, οπότε για εξοικονόμηση ενέργειας, θα απενεργοποιήσω το HC-05 αφού επιλέξω ένα μήνυμα. Η απλή αποσύνδεση/επανασύνδεση του ρεύματος δεν είναι αρκετά καλή, καθώς θα στείλει ακατάλληλες πληροφορίες στην οθόνη.

Φαίνεται απαραίτητο να απομονώσετε τις ακίδες TR & RX πριν συνδέσετε / αποσυνδέσετε το ρεύμα!

Βήμα 5: Ενημέρωση 2020 - Οθόνες μήτρας 2 X 4 (8x8)

Μετά από καλύτερη κατανόηση του MAX7219, κατάφερα να συνδέσω 2 οθόνες μαζί!

υπήρχαν μόνο μερικές γραμμές κώδικα που χρειάζονταν αλλαγή - δείτε το συνημμένο ino.

Συνιστάται: