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

Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα
Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα

Βίντεο: Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα

Βίντεο: Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα
Βίντεο: Xiaomi Mi True Wireless Earphones 2 Basic / Ελληνικό Unboxing 2024, Νοέμβριος
Anonim
Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED
Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED

Γρήγορη επισκόπηση:

Η μονάδα Magic Hercules είναι ένας μετατροπέας μεταξύ του γνωστού και απλού SPI στο πρωτόκολλο NZR. Οι είσοδοι της μονάδας έχουν ανοχή +3,3 V, ώστε να μπορείτε να συνδέσετε με ασφάλεια όλους τους μικροελεγκτές που λειτουργούν σε τάση +3,3 V.

Η χρήση του πρωτοκόλλου SPI για τον έλεγχο των ψηφιακών LED είναι μια καινοτόμος προσέγγιση ανάμεσα στις τρέχουσες λύσεις, όπως έτοιμες βιβλιοθήκες για το Arduino. Ωστόσο, επιτρέπει τη μετάβαση σε οποιαδήποτε πλατφόρμα ανεξάρτητα από την οικογένεια μικροελεγκτών (όπως ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) και ανεξάρτητα από τη γλώσσα προγραμματισμού (π.χ. C, Arduino C ++, Python ή άλλη που υποστηρίζει πρωτόκολλο SPI). Αυτή η προσέγγιση στον προγραμματισμό ψηφιακών LED είναι εξαιρετικά φιλική για αρχάριους, καθώς το μόνο που χρειάζεστε είναι γνώση του πρωτοκόλλου SPI.

Η μονάδα MH επιτρέπει επίσης πολλούς τρόπους δοκιμής ψηφιακών λωρίδων LED, συμπεριλαμβανομένου του ελέγχου της σειράς χρωμάτων στη δίοδο (RGB, BGR, RGBW, κ.λπ.), δοκιμή ολόκληρων των ταινιών ή των οθονών (έως 1024 LED).

Βήμα 1: Γιατί δουλεύω στην ενότητα Magic Hercules;

Γιατί δουλεύω στην ενότητα Magic Hercules
Γιατί δουλεύω στην ενότητα Magic Hercules

Εργάζομαι με ψηφιακά LED όπως WS2812, WS2815 ή SK6812 εδώ και πολύ καιρό, τα οποία συνήθως ονομάζω Magic LED.

Δοκίμασα πολλές λωρίδες, δαχτυλίδια και οθόνες (ακόμη και τις δικές μου) με βάση το Magic LED (ακόμη και με τύπο RGBW). Χρησιμοποίησα Arduino, Nucleo (με STM), Raspberry Pi και τις δικές μου πλακέτες με μικροελεγκτές AVR.

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

Λόγω του ότι χρησιμοποιώ συχνά διάφορες πλατφόρμες, είχα την ανάγκη ο κώδικας του προγράμματος να είναι όσο το δυνατόν πιο συμβατός με Arduino, Raspberry Pi, ARM / STM (Nucleo) ή AVR - ειδικά όταν πρόκειται για εφέ φωτισμού.

Εργάζομαι στο κανάλι του youtube εδώ και πολύ καιρό και έχω ετοιμάσει περισσότερους από έναν οδηγούς για τον προγραμματισμό ψηφιακών διόδων στη γλώσσα C για μικροελεγκτές AVR (αλλά μέχρι στιγμής μόνο στα πολωνικά προς το παρόν). Συχνά έχω επαφή με αρχάριους που αγωνίζονται με τον προγραμματισμό μαγικών LED. Φυσικά, ορισμένοι, ανάλογα με την πλατφόρμα, επιλέγουν έτοιμες βιβλιοθήκες για τα εφάπαξ έργα τους. Ωστόσο, πολλοί άνθρωποι αναζητούν άλλες λύσεις ή προσπαθούν να μάθουν τα μυστικά του προγραμματισμού και είμαι ένας από αυτούς.

Βήμα 2: Μετατροπή SPI σε NZR

Μετατροπή SPI σε NZR
Μετατροπή SPI σε NZR

Αποφάσισα να ετοιμάσω μια ενότητα που θα κάνει τη βρώμικη δουλειά για τον χρήστη χρησιμοποιώντας το πρωτόκολλο NZR. Η μονάδα που θα λειτουργήσει ως μετατροπέας SPI σε NZR και ακριβώς όπως το SPI, μπορεί να χρησιμοποιηθεί σε οποιαδήποτε πλατφόρμα με ευκολία. Το παραπάνω στιγμιότυπο οθόνης δείχνει τη μετατροπή σημάτων SPI σε πρωτόκολλο NZR στη μονάδα Magic Hercules.

Βήμα 3: Magic Hercules Module as Digital LED Strip Tester

Magic Hercules Module Ως Digital LED Strip Tester
Magic Hercules Module Ως Digital LED Strip Tester

Κατά τη σύνδεση ψηφιακών LED σε διαφορετικά συστήματα, πρέπει να θυμάστε την κατάλληλη ανοχή τάσης για διαφορετικούς μικροελεγκτές. Οι περισσότεροι ακροδέκτες εισόδου / εξόδου των μικροελεγκτών ARM λειτουργούν στο πρότυπο +3,3 V, ενώ οι μικροελεγκτές AVR λειτουργούν στο πρότυπο TTL. Εξαιτίας αυτού, οι ακίδες εισόδου της μονάδας Magic Hercules έχουν ανοχή +3,3 V, ώστε να μπορούν να συνδεθούν με ασφάλεια π.χ. σε Raspberry P ή σε οποιοδήποτε μικροελεγκτή με βάση ARM +3,3 V.

Όπως ανέφερα προηγουμένως, εργάζομαι συχνά με διαφορετικούς τύπους ψηφιακών LED. Ανάλογα με τον κατασκευαστή, τα μεμονωμένα χρώματα στα LED μπορεί να είναι σε διαφορετικές θέσεις, π.χ. RGB, BGR, GRB, RGBW, GRBW, κλπ. Δεν είναι ασυνήθιστο για την τεκμηρίωση του κατασκευαστή να αναφέρει την ακολουθία RGB, αλλά στην πραγματικότητα φαίνεται διαφορετική. Έχω εξοπλίσει τη μονάδα Hercules με μια δοκιμή ακολουθίας χρωμάτων, έτσι ώστε να μην υπάρχει πρόβλημα με το να καταλάβουμε γρήγορα πώς να γράψουμε ένα πρόγραμμα για τη σωστή σειρά χρωμάτων. Αρκετές πρόσθετες λειτουργίες του ελεγκτή σάς επιτρέπουν να ελέγχετε γρήγορα εάν η ψηφιακή λωρίδα LED λειτουργεί καθόλου, εάν όλα τα χρώματα σε κάθε LED στην ταινία (έως 1024 LED!) Λειτουργούν σωστά (χωρίς νεκρά εικονοστοιχεία). Και όλα αυτά χωρίς σύνδεση μικροελεγκτή και εγγραφή οποιουδήποτε προγράμματος.

Βήμα 4: Ενότητα Magic Hercules - New Universal Solution for Digital LEDs

Ενότητα Magic Hercules - Νέα καθολική λύση για ψηφιακά LED
Ενότητα Magic Hercules - Νέα καθολική λύση για ψηφιακά LED

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

Φυσικά, υπάρχουν πολλοί τρόποι ελέγχου των ψηφιακών LED, άλλοι είναι πιο βέλτιστοι και άλλοι λιγότερο βέλτιστοι. Η ενότητα Magic Hercules είναι μια άλλη επιλογή και πολύ πρακτική για μένα. Νομίζω ότι σε κάποιον μπορεί να αρέσει αυτή η ασυνήθιστη λύση. Πρόσφατα ανέβηκα στην πλατφόρμα crowdfunding - kickstarter, όπου ετοίμασα μια ευρύτερη περιγραφή της ενότητας Magic Hercules σε πολλά βίντεο, συμπεριλαμβανομένου του πόσο εύκολο είναι να δουλέψεις μαζί του σε Arduino, Nucleo (STM), Raspberry Pi και σε AVR και PIC μικροελεγκτές. Αν θέλετε να υποστηρίξετε το έργο Magic Hercules, δείτε αυτό:

Πρόγραμμα ενότητας My Magic Hercules στο kickstarter

Ετοίμασα ένα πρόγραμμα στη γλώσσα C - ένα απλό φαινόμενο stargate, το οποίο βασίζεται σε λειτουργίες πίνακα και διαδοχική αποστολή του buffer στον κύριο βρόχο. Χάρη στη μονάδα Magic Hercules, μπόρεσα να μεταφέρω εύκολα τον πηγαίο κώδικα σε άλλες γλώσσες και πλατφόρμες - ελέγξτε τα επόμενα βήματα - πηγαίους κώδικες.

Βήμα 5: Ενότητα Magic Hercules With Atmega32 και C

Βίντεο που περιέχει απλοποιημένο διάγραμμα, παρουσίαση σύνδεσης στο ATB 1.05a (AVR Atmega32), πηγαίο κώδικα (στο Eclipse C/C ++ IDE) και το τελικό εφέ με τη μορφή εφέ φωτός αστερίας.

Σύνδεσμος για βίντεο στο youtube

Βήμα 6: Ενότητα Magic Hercules With Arduino και Arduino C ++

Βίντεο που περιέχει ένα απλοποιημένο διάγραμμα, παρουσίαση σύνδεσης στον πίνακα Arduino 2560, πηγαίο κώδικα στο Arduino IDE και το τελικό εφέ με τη μορφή εφέ φωτός αστερίας.

Σύνδεσμος για βίντεο στο youtube

Βήμα 7: Ενότητα Magic Hercules With PIC και C

Βίντεο που περιέχει ένα απλοποιημένο διάγραμμα, παρουσίαση σύνδεσης στο ATB 1.05a με ασπίδα PIC (PIC24FJ64GA004 επί του σκάφους), πηγαίο κώδικα στο MPLAB και το τελικό εφέ με τη μορφή εφέ φωτός αστρικών θυρών.

Σύνδεσμος για βίντεο στο youtube

Βήμα 8: Ενότητα Magic Hercules With Raspberry Pi και Python

Βίντεο που περιέχει απλοποιημένο διάγραμμα, παρουσίαση σύνδεσης στο Raspberry Pi 4, πηγαίο κώδικα σε Python και το τελικό εφέ με τη μορφή εφέ φωτός αστρικών πυλών.

Σύνδεσμος για βίντεο στο youtube

Βήμα 9: Ενότητα Magic Hercules With ARM - STM32 Nucleo και C

Βίντεο που περιέχει ένα απλοποιημένο διάγραμμα, παρουσίαση σύνδεσης στον πίνακα STM32 Nucleo, πηγαίο κώδικα στο STM32CubeIDE και το τελικό εφέ με τη μορφή εφέ φωτός αστρικής πύλης.

Σύνδεσμος για βίντεο στο youtube

Βήμα 10:

Εικόνα
Εικόνα

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

Αν θέλετε να λάβετε μέρος στο έργο μου στο kickstarter - ελέγξτε αυτόν τον σύνδεσμο:

Πρόγραμμα ενότητας My Magic Hercules στο kickstarter

Συνιστάται: