Οθόνη LED Arduino uno 8x8. Η μήτρα LED και ο έλεγχός της στο Arduino

Τέλος, οι ενότητες matrix έφτασαν από το Μέσο Βασίλειο. Κάθε ενότητα αποτελείται από ένα τσιπ MAX7219 (), Μήτρα LED, η πλεξούδα περιέχει έναν πυκνωτή και μία αντίσταση.


Ελέγχεται από το MAX7219 μέσω διασύνδεσης SPI.


Τα τσιπ στο σύμπλεγμα συνδέονται σε σειρά. Διάβασα στο Διαδίκτυο ότι το μέγιστο δυνατό σειριακή σύνδεσηεπιτρέπει μόνο 8 κομμάτια MAX7219. Μην το πιστεύεις. Συνέδεσα 16 μονάδες και όλα λειτουργούν τέλεια.

Οι ενότητες που παρουσιάζονται στο Ali διατίθενται σε διάφορες εκδόσεις. Οι πιο δημοφιλείς είναι 2 τύποι: με τσιπ σε DIP και σε πακέτα SOIC. Μονάδα με τσιπ DIP μεγαλύτερο μέγεθοςκαι δεν είναι τόσο βολικό όταν συνδέεστε σε ένα σύμπλεγμα. Θα υπάρχει ένα σωρό καλώδια για σύνδεση.


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


Οι πιο γνωστές βιβλιοθήκες για εργασία με πίνακες και συμπλέγματα είναι Πάνελ MAX72xx από τον Mark RiceΚαι Parola by MajicDesigns:Η πρώτη βιβλιοθήκη είναι πιο εύκολη στη χρήση, η δεύτερη πιο περίπλοκη με περισσότερες δυνατότητες. Θα το περιγράψω πιο αναλυτικά.

Πάνελ MAX72xx

Όταν χρησιμοποιείτε τον πίνακα MAX72xx, η βιβλιοθήκη πρέπει να είναι εγκατεστημένη Adafruit GFX.

Για να ρωσικοποιήσετε το κείμενο θα χρειαστεί να κατεβάσετε ΑΥΤΟ ΤΟ ΑΡΧΕΙΟκαι αντικαταστήστε τυπικό αρχείο glcdfont.c στον κατάλογο Arduino/Libraries/Adafruit-GFX-Library-master. Επίσης σε αυτό το αρχείο, εκτός από τα απαραίτητα γράμματα και αριθμούς, περιγράφεται ένα σωρό όλων των ειδών τα σύμβολα. Δεν είναι όλα χρήσιμα. Η παρακάτω εικόνα εξηγεί πώς σχηματίζονται τα σύμβολα.

Εάν είναι απαραίτητο, μπορείτε να δημιουργήσετε τα δικά σας σύμβολα και να αντικαταστήσετε με αυτά τυχόν αχρησιμοποίητα στο αρχείο. Σχεδόν όλες οι γραμματοσειρές κουκκίδων που χρησιμοποιούνται σε διάφορες βιβλιοθήκες σχηματίζονται με παρόμοιο τρόπο.

Έτσι, εγκαθίστανται οι βιβλιοθήκες MAX72xx Panel και Adafruit GFX, το αρχείο glcdfont.c αντικαθίσταται. Ας ξεκινήσουμε Arduino IDE, Άνοιξε ΑΡΧΕΙΟ. Το σκίτσο περιέχει τη συνάρτηση utf8rus. Παρέχει μετατροπή πίνακα χαρακτήρων για τη ρωσική γλώσσα. Χρειάζεται μόνο για κανονική έξοδοαπό το πρόγραμμα, δηλαδή στο πρόγραμμα απαιτούμενο κείμενογραμμένο στα ρωσικά. Εάν το κείμενο εισάγεται μέσω της θύρας COM, τότε οι κωδικοί χαρακτήρων διορθώνονται στη συνάρτηση Serial_Read. Οι προγραμματιστές χρησιμοποίησαν διαφορετικές κωδικοποιήσεις στο IDE και στην κονσόλα.

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

int numberOfHorizontalDisplays = 1;

int numberOfVerticalDisplays = 16;

Έχω μονάδες με μικροκύκλωμα σε συσκευασία SOIC. Έχουν μια μικρή ιδιαιτερότητα. Η μήτρα των μονάδων εγκαθίσταται περιστρεφόμενη κατά 90 μοίρες. Αυτό είναι ένα τέλος για την ευκολία της σύνδεσης. Εάν εκτελέσετε τα σκίτσα που συνοδεύουν τις βιβλιοθήκες, θα εξάγουν κείμενο από κάτω προς τα πάνω σε κάθε ενότητα. Το κείμενο θα εμφανίζεται σε ζιγκ-ζαγκ. Για να λυθεί αυτό το πρόβλημα, πρέπει να «πει» στη βιβλιοθήκη ότι υπάρχουν 16 κάθετες οθόνες (φυσικά βρίσκονται οριζόντια). Και στη συνέχεια στο void Setup καθορίστε τη γραμμή στη βιβλιοθήκη

matrix.setRotation(matrix.getRotation() + 1);

Θα αντιστρέψει κάθε μήτρα προγραμματικά. Και όλα θα εμφανίζονται κανονικά.

Οι μονάδες με πακέτα τσιπ DIP δεν το έχουν αυτό. Όλα είναι όμορφα εκεί, εκτός από ένα σωρό καλώδια.

Η βιβλιοθήκη του πίνακα MAX72xx είναι αρκετά μέτρια. Οπτικά εφέδεν υπάρχει συμπέρασμα. Το σύμπλεγμα γίνεται αντιληπτό ως ένα σύνολο. Τα πράγματα είναι πολύ καλύτερα με τον MD Parola.

Parola της MajicDesigns.

Οι κάτοχοι μονάδων με τσιπ σε πακέτο SOIC θα αντιμετωπίσουν επίσης το πρόβλημα του προσανατολισμού των μονάδων στο σύμπλεγμα. Απλώς φαίνεται λίγο διαφορετικό από ό,τι στο MAX72xx. Εδώ οι μονάδες θα φαίνεται να είναι εκτός λειτουργίας.


Σκίτσο του HelloWorld από δείγματα που περιλαμβάνονται στη βιβλιοθήκη.

Δεν μπόρεσα να θεραπεύσω αυτήν την ασθένεια προγραμματικά στο σκίτσο. Του αντιμετώπισα διαφορετικά. Στο αρχείο Adruino/libraries/MD_MAX72xx_lib.h στο τέλος πρέπει να βρείτε τις γραμμές όπως στην εικόνα.


Και διορθώστε το επισημασμένο 1 έως 0 στην επιλεγμένη γραμμή Αποθήκευση του αρχείου. Το Arduino IDE δεν χρειάζεται επανεκκίνηση. Ας το γεμίσουμε και ας ρίξουμε μια ματιά.


Τώρα μπορείτε να χρησιμοποιήσετε 24 εφέ κινούμενων σχεδίων. Το animation ξεκινά με την εντολή P.displayText ("Κείμενο προς εμφάνιση", "Στοίχιση κειμένου", ταχύτητα, καθυστέρηση εμφάνισης, εφέ εμφάνισης, εφέ εξαφάνισης). Όπως μπορείτε να δείτε, υπάρχουν πολλές ρυθμίσεις.

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

Όπως ήδη μαντέψατε, το πρόβλημα είναι με τα κυριλλικά γράμματα. Είναι και επιλύσιμο. Κοντά προηγούμενο αρχείοστον ίδιο κατάλογο υπάρχει ένα αρχείο MD_MAX72xx_font.cpp. Αυτό είναι ένα αρχείο γραμματοσειράς. Οι χαρακτήρες σε αυτό σχηματίζονται παρόμοια με το αρχείο γραμματοσειράς της βιβλιοθήκης GFX. Τρώω μικρή διαφορά. Εδώ το μέγεθος του συμβόλου μπορεί να είναι μικρότερο από 5 πόντους. Στη βιβλιοθήκη Adafruit GFX Θαυμαστικό, για παράδειγμα, έχει επίσης πλάτος 5 κουκκίδες, όπως κάθε άλλο σύμβολο, χρησιμοποιείται μόνο μία σειρά κουκκίδων. Τα υπόλοιπα δεν ανάβουν, αλλά χρησιμοποιούνται ως σύμβολο. Στο Parola, το ίδιο θαυμαστικό καταλαμβάνει επίσης μια σειρά κουκκίδων, μόνο που δεν υπάρχουν κενές κουκκίδες κοντά, αλλά μπορούν να εμφανιστούν γειτονικά σύμβολα. Θα είναι πιο ξεκάθαρο από την εικόνα.


Δεν υπάρχει ακόμη χρόνος για να προσθέσετε κυριλλικούς χαρακτήρες στο αρχείο με τον ίδιο τρόπο όπως το αρχείο από την πρώτη βιβλιοθήκη που συζητήθηκε. Εάν κάποιος το κάνει αυτό και μου στείλει ένα αρχείο, θα το προσθέσω σε αυτό το άρθρο και τόσο εγώ όσο και οι επισκέπτες του ιστότοπού μου θα σας είμαστε ευγνώμονες.

Συμπέρασμα. Η βιβλιοθήκη του πίνακα MAX72xx της Mark Rice είναι εύκολη στη χρήση και κατανοητή, αλλά έχει κακή λειτουργικότητα.

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

LED Matrix - βολικό εργαλείογια την εμφάνιση πληροφοριών: πρώτον, είναι πιο φωτεινή από τις συμβατικές οθόνες TFT και, δεύτερον, είναι μεγαλύτερη σε μέγεθος, κάτι που σε ορισμένες περιπτώσεις έχει πλεονεκτήματα (αν δεν χρειάζεται να προβάλλουμε φωτογραφίες).

Αν θέλετε, μπορείτε να το βρείτε χωρίς ιδιαίτερη δυσκολία τελειωμένη συναρμολόγηση– 1088 matrix (ή οποιοδήποτε παρόμοιο, 8x8 LED) και ένα χειριστήριο MAX7219 που περιλαμβάνεται μαζί του. Αυτό το μικρό τσιπ είναι ικανό να ελέγχει ανεξάρτητα όχι μόνο την εμφάνιση των LED, αλλά και να αλλάζει τη φωτεινότητά τους (για ολόκληρη τη μήτρα, όχι ανά LED), και επίσης «ξέρει» πώς να εμφανίζει αριθμούς σε μια ένδειξη επτά τμημάτων. Αυτό σημαίνει ότι ο προγραμματιστής θα λιγότερη δουλειά. Η διαχείριση είναι αρκετά απλή, μέσω της διεπαφής SPI σε τρία καλώδια - επιλογή συσκευής, δεδομένα και συγχρονισμός.

Επίσης, τέτοιες συναρμολογήσεις συχνά συνδυάζονται σε μπλοκ των 4 στη σειρά, με αποτέλεσμα μια μίνι οθόνη διαστάσεων 32x8 pixel, κάτι που είναι αρκετά βολικό - μπορείτε να εμφανίσετε μια λέξη με μήκος έως 5 γράμματα. Αξίζει να σημειωθεί ότι αυτό το συγκρότημα μπορεί να μεταδώσει δεδομένα περαιτέρω κατά μήκος της αλυσίδας και 4 τεμάχια σε σειρά δεν είναι το όριο. Συνδύασα 4 μπλοκ από 4 τέτοια συγκροτήματα, με αποτέλεσμα μια οθόνη 128×8 (μπορείτε επίσης να πάρετε 64×16 με το κατάλληλο εγκατάσταση λογισμικού, είναι απλό), λειτουργεί χωρίς φρένο και ενημερώνεται 50 φορές το δευτερόλεπτο. Αν και, σε αντίθεση με το διάγραμμα, εδώ αναβάθμιση λογισμικούδεν είναι απαραίτητο - ο ελεγκτής στον πίνακα είναι υπεύθυνος για την έξοδο πληροφοριών, η δουλειά του προγραμματιστή είναι να υποδεικνύει τι θα εξάγει, όχι πώς.

Για να εργαστείτε με τέτοιες συγκροτήσεις, υπάρχει μια ειδική βιβλιοθήκη για το Arduino – Max72xxPanel, διαθέσιμη στο GitHub. Για εκείνη σωστή λειτουργίαΑπαιτεί επίσης τη σύνδεση των βιβλιοθηκών SPI και Adafruit_GFX, αλλά αυτό δεν είναι πρόβλημα. Η πρώτη βιβλιοθήκη υπάρχει από προεπιλογή στη διανομή Arduino IDE, η δεύτερη είναι διαθέσιμη στο GitHub.

Αρχικοποίηση της μήτρας

Αρχικά, ας προσπαθήσουμε να αρχικοποιήσουμε τον πίνακα μας. Συνδέουμε τους ακροδέκτες τροφοδοσίας VCC και GND με τους ίδιους στην πλακέτα Arduino, συνδέουμε το DIN στον ακροδέκτη 11, CS – 9, CLK – 13. Λάβετε υπόψη ότι αυτή η αρίθμηση είναι σωστή για την πλακέτα Arduino UNO, για άλλα μοντέλα Διεπαφή SPIμπορεί να βρίσκεται σε καρφίτσες με διαφορετικούς αριθμούς.

Είναι πιο βολικό να εργάζεστε με αυτό το συγκρότημα «περιστρέφοντάς το» κατά 90 μοίρες στο λογισμικό. Στην πραγματικότητα, έχουμε 4 μπλοκ κάθετα και 1 οριζόντια, αλλά θα το εμφανίσουμε σαν να ήταν προσανατολισμένο οριζόντια. Ο λόγος είναι απλός - 1 στήλη καταλαμβάνει ακριβώς 1 byte, είναι πιο βολικό να δημιουργήσετε μια εικόνα.

Γράφουμε το αρχικό κώδικα προγράμματοςγια αρχικοποίηση:

#περιλαμβάνω #περιλαμβάνω #περιλαμβάνω #περιλαμβάνω #περιλαμβάνω #περιλαμβάνω int pinCS = 9; int hBlocks = 1; int vBlocks = 4; φωτεινότητα byte = 1; Max72xxPanel matrix = Max72xxPanel(pinCS, hBlocks, vBlocks); void setup() ( matrix.setIntensity(brightness); matrix.setRotation(0); matrix.fillScreen(LOW); matrix.write(); ) void loop() ( )

Πατήστε Ctrl+U, φορτώστε το σκίτσο στον πίνακα και δείτε το αποτέλεσμα, πιο συγκεκριμένα, στην εντελώς κενή οθόνη.

Έτσι πρέπει, μόλις το καθαρίσαμε. Δοκιμάστε να αλλάξετε τη γραμμή 18 μόνοι σας ως εξής:

Matrix.fillScreen(HIGH);

Ως αποτέλεσμα, λαμβάνουμε μια εντελώς φωτεινή μήτρα. Εάν το φως είναι αμυδρό, αυξήστε τη φωτεινότητα στη γραμμή 11, μόνο σταδιακά και προσεκτικά - ήδη στην τιμή 3, όταν κοιτάζω τα LED, αισθάνομαι δυσφορία και πονάνε τα μάτια μου. Έτσι με τη φωτεινότητα θα πρέπει να ξεκινήσετε από το ελάχιστο και σταδιακά να αυξήσετε.


Ολοκληρώσαμε την απλούστερη λειτουργία, τώρα ας προσπαθήσουμε να γράψουμε κάτι.

Εμφάνιση στατικής εικόνας

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

Σχηματισμός της εικόνας:


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

Void setup() ( byte x, y; matrix.setIntensity(brightness); matrix.setRotation(0); for (y = 0; y< 32; y++) { for (x = 0; x < 8; x++) { matrix.drawPixel(x, y, leds[y] & (1<

Συγκεντρώνουμε το σκίτσο, το ανεβάζουμε στον πίνακα και κοιτάμε το αποτέλεσμα:


Την επόμενη φορά θα κάνουμε μια τρέχουσα γραμμή στη μήτρα και θα εμφανίσουμε μια επιγραφή που δεν ταιριάζει σε μήκος.

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

Κατ 'αρχήν, το τηλεχειριστήριο αντιμετώπισε όλες τις εργασίες που του ανατέθηκαν με μεγάλη επιτυχία . Υπήρχαν όμως και σοβαρές ελλείψεις.

  1. Οι μπαταρίες δεν χωρούσαν στη θήκη, οπότε έπρεπε να τις κολλήσω στη θήκη με ηλεκτρική ταινία :)
  2. Οι παράμετροι ρυθμίστηκαν χρησιμοποιώντας τέσσερα ποτενσιόμετρα, τα οποία αποδείχθηκαν πολύ ευαίσθητα στη θερμοκρασία. Ορίζετε κάποιες τιμές σε εσωτερικούς χώρους, βγαίνετε έξω - και είναι ήδη διαφορετικές, έχουν φύγει.
  3. Το Arduino Nano που χρησιμοποίησα στο τηλεχειριστήριο έχει μόνο 8 αναλογικές εισόδους. Τέσσερα καταλαμβάνονταν από ποτενσιόμετρα συντονισμού. Ένα ποτενσιόμετρο χρησίμευε ως αέριο. Δύο είσοδοι συνδέθηκαν στο joystick. Μόνο μία έξοδος παρέμεινε ελεύθερη και υπήρχαν πολλές ακόμη παράμετροι για διαμόρφωση.
  4. Το μόνο joystick δεν ήταν καθόλου πιλοτικό. Ο έλεγχος του γκαζιού με ένα ποτενσιόμετρο ήταν επίσης αρκετά απογοητευτικός.
  5. Και το τηλεχειριστήριο δεν έβγαζε ήχους, κάτι που μερικές φορές είναι εξαιρετικά χρήσιμο.

Για να εξαλείψω όλες αυτές τις ελλείψεις, αποφάσισα να επανασχεδιάσω ριζικά το τηλεχειριστήριο. Τόσο το μέρος του υλικού όσο και το λογισμικό. Να τι ήθελα να κάνω:

  • Φτιάξτε μια μεγάλη θήκη για να μπορείτε να γεμίζετε ό,τι θέλετε τώρα (συμπεριλαμβανομένων των μπαταριών) σε αυτήν και ό,τι θέλετε αργότερα.
  • Λύστε κάπως το πρόβλημα με τις ρυθμίσεις, όχι αυξάνοντας τον αριθμό των ποτενσιόμετρων. Επιπλέον, προσθέστε τη δυνατότητα αποθήκευσης παραμέτρων στο τηλεχειριστήριο.
  • Φτιάξτε δύο joystick, όπως στις κανονικές κονσόλες πιλότων. Λοιπόν, βάλτε τα ίδια τα joysticks Ορθόδοξα.

Νέο κτίριο

Η ιδέα είναι εξαιρετικά απλή και αποτελεσματική. Κόβουμε δύο πλάκες από πλεξιγκλάς ή άλλο λεπτό υλικό και τις συνδέουμε με ράφια. Ολόκληρο το περιεχόμενο της θήκης συνδέεται είτε στην επάνω είτε στην κάτω πλάκα.

Χειριστήρια και μενού

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

Για πλοήγηση στο μενού και αλλαγή παραμέτρων, χρησιμοποιούνται συνήθως κουμπιά. Αριστερά, δεξιά, πάνω, κάτω. Αλλά ήθελα να χρησιμοποιήσω έναν κωδικοποιητή αντί για κουμπιά. Πήρα αυτή την ιδέα από έναν ελεγκτή 3D εκτυπωτή.


Φυσικά, λόγω της προσθήκης του μενού, ο κωδικός του τηλεχειριστηρίου έχει επεκταθεί αρκετές φορές. Αρχικά, πρόσθεσα μόνο τρία στοιχεία μενού: "Telemetry", "Parameters" και "Store params". Το πρώτο παράθυρο εμφανίζει έως και οκτώ διαφορετικές ενδείξεις. Μέχρι στιγμής χρησιμοποιώ μόνο τρία: ισχύ μπαταρίας, πυξίδα και υψόμετρο.

Στο δεύτερο παράθυρο, είναι διαθέσιμες έξι παράμετροι: συντελεστές ελεγκτή PID για τους άξονες X/Y, Z και γωνίες διόρθωσης επιταχυνσιόμετρου.

Το τρίτο στοιχείο σάς επιτρέπει να αποθηκεύσετε παραμέτρους στο EEPROM.

Joysticks

Δεν σκέφτηκα πολύ για την επιλογή των χειριστηρίων πιλότων. Έτυχε να πήρα το πρώτο joystick Turnigy 9XR από έναν συνάδελφο στην επιχείρηση τετρακοπτέρων - τον Alexander Vasiliev, τον ιδιοκτήτη του γνωστού ιστότοπου alex-exe.ru. Παρήγγειλα το δεύτερο απευθείας από το Hobbyking.


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

Θρέψη

Στο παλιό τηλεχειριστήριο χρησιμοποίησα έναν απλό ρυθμιστή τάσης LM7805, ο οποίος τροφοδοτήθηκε με ένα σωρό 8 μπαταρίες ΑΑ. Μια τρομερά αναποτελεσματική επιλογή, στην οποία δαπανήθηκαν 7 βολτ για τη θέρμανση του ρυθμιστή. 8 μπαταρίες - επειδή υπήρχε μόνο μια τέτοια θήκη στο χέρι και LM7805 - επειδή εκείνη την εποχή αυτή η επιλογή μου φαινόταν η απλούστερη και το πιο σημαντικό, η ταχύτερη.

Τώρα αποφάσισα να κάνω το πιο σοφό πράγμα και εγκατέστησα έναν αρκετά αποτελεσματικό ρυθμιστή στο LM2596S. Και αντί για 8 μπαταρίες AA, τοποθέτησα ένα διαμέρισμα για δύο μπαταρίες LiIon 18650.


Αποτέλεσμα

Συνδυάζοντας τα πάντα, αποκτήσαμε αυτή τη συσκευή. Εσωτερική άποψη.


Αλλά με κλειστό καπάκι.


Το καπάκι στο ένα ποτενσιόμετρο και τα καπάκια στα joystick λείπουν.

Τέλος, ένα βίντεο για το πώς διαμορφώνονται οι ρυθμίσεις μέσω του μενού.


Συμπέρασμα

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

Κατά τη ρύθμιση του τηλεχειριστηρίου, εντοπίστηκαν ελλείψεις. Πρώτον, οι κάτω γωνίες του τηλεχειριστηρίου ακουμπούν στα χέρια σας: (Μάλλον θα επανασχεδιάζω λίγο τις πλάκες, θα εξομαλύνω τις γωνίες. Δεύτερον, ακόμη και μια οθόνη 16x4 δεν αρκεί για μια όμορφη οθόνη τηλεμετρίας - πρέπει να συντομεύσω το ονόματα παραμέτρων σε δύο γράμματα Στην επόμενη έκδοση της συσκευής θα εγκαταστήσω μια κουκκίδα ή αμέσως μια μήτρα TFT.


Υλικά:
- LED 144 τεμ
- αντιστάσεις 24 τμχ (καθορίζονται από τον τύπο των LED, σε αυτήν την περίπτωση 91 Ohms)
- δεκαδικός μετρητής 4017
- 6 αντιστάσεις (ονομαστική 1 kOhm)
- τρανζίστορ 6 τμχ 2N3904
- Μακρύ breadboard
- Arduino
- καταχωρητές βάρδιας 3 τεμ (74HC595)
- ακροδέκτες σύνδεσης


Βήμα 1: Πώς λειτουργεί:
Συνήθως, οι πληροφορίες στη μήτρα LED χωρίζονται σε μικρά μέρη, τα οποία στη συνέχεια μεταδίδονται το ένα μετά το άλλο. Έτσι, αποθηκεύεται ένας μεγάλος αριθμός pin στο Arduino και το πρόγραμμα γίνεται αρκετά απλό.

Κάθε καταχωρητής έχει 8 εξόδους, χρησιμοποιώντας μόνο 3 ακίδες Arduino για τον έλεγχο ενός τεράστιου αριθμού καταχωρητών μετατόπισης.

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

Βήμα 2: Περίγραμμα
Τα μόνα στοιχεία που δεν υποδεικνύονται στο διάγραμμα είναι οι αντιστάσεις περιορισμού ρεύματος, καθώς η τιμή τους εξαρτάται άμεσα από τον τύπο των LED που χρησιμοποιούνται. Επομένως, η αξία τους πρέπει να υπολογίζεται ανεξάρτητα.

Για να υπολογίσετε τις τιμές 24 αντιστάσεων, μπορείτε να χρησιμοποιήσετε μια αριθμομηχανή

Αρχικά, κοιτάξτε τις προδιαγραφές LED για να μάθετε την μπροστινή τους τάση και το μπροστινό ρεύμα τους. Πληροφορίες μπορείτε να βρείτε αμέσως μετά την αγορά. Το κύκλωμα λειτουργεί με τάση 5V. Κατά συνέπεια, απαιτείται μια πηγή ρεύματος με την ίδια τάση.

Προστέθηκε επίσης μια διάταξη πίνακα ελέγχου που δημιουργείται χρησιμοποιώντας το εργαλείο Willard 2.0.



Βήμα 3: Συγκόλληση
Η συγκόλληση τόσο μεγάλου αριθμού LED δεν είναι εύκολη υπόθεση εάν δεν ξέρετε σίγουρα πώς να το κάνετε σωστά.

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

Σε αυτό το στάδιο, οι αρνητικοί ακροδέκτες συνδέονται σε μια στήλη και η συγκόλληση τους είναι άβολη, καθώς έχουν μια θετική σειρά στο δρόμο. Επομένως, ο αρνητικός ακροδέκτης κάμπτεται κατά 90 μοίρες και δημιουργείται μια γέφυρα πάνω από τη θετική σειρά προς τον επόμενο αρνητικό ακροδέκτη και ούτω καθεξής για όλα τα άλλα LED.

Οι καταχωρητές ταχυτήτων και τα υπόλοιπα εξαρτήματα μπορούν να συγκολληθούν κατά την κρίση του καθενός.



Βήμα 4: Προγραμματισμός
Ήρθε η ώρα για το τελευταίο στάδιο του έργου.

Ο συγγραφέας είχε γράψει στο παρελθόν αρκετά παρόμοια προγράμματα. Έπρεπε λοιπόν να προσθέσει μόνο ένα πρόγραμμα που θα λάμβανε μια λέξη ή μια ολόκληρη πρόταση από την οθόνη Arduino IDE και στη συνέχεια θα την εμφανίσει στη μήτρα. Φυσικά, μπορείτε να δημιουργήσετε τον δικό σας κωδικό ή να τον αλλάξετε κατά την κρίση σας.
Το αρχείο περιέχει ένα αρχείο excel ώστε να μπορείτε να δημιουργήσετε τα δικά σας σημάδια ή σύμβολα.

Πως να το κάνεις:
Ο απαιτούμενος χαρακτήρας δημιουργείται pixel-pixel (δεν υπάρχει τίποτα περίπλοκο σε αυτό) και η γραμμή εξόδου αντιγράφεται - #define (OUTPUT LINE)