DIY: Ελέγχοντας LED Matrix με το Intel Edison

DIY: Ελέγχοντας LED Matrix με το Intel Edison

Η πλατφόρμα Edison της Intel έχει ανοίξει νέους δρόμους για τον έλεγχο LED Matrix οθονών που μπορούν να δείξουν από μηνύματα μέχρι να τρέξουν απλά παιχνίδια. Η πλατφόρμα Edison της Intel έχει ανοίξει νέους δρόμους για τον έλεγχο LED Matrix οθονών που μπορούν να δείξουν από μηνύματα μέχρι να τρέξουν απλά παιχνίδια.

Εφόσον διαθέτετε την όρεξη μπορείτε γρήγορα να μπείτε στον κόσμο των microcontrollers όπως τα Arduino και πιο πρόσφατα του Edison της Intel. Στο εν λόγω DIY θα δούμε πως μπορούμε να χρησιμοποιήσουμε μερικές Matrix LED οθόνες σε συνδυασμό με το MAX7219 ολοκληρωμένο για να δείξουμε εικόνες ή ακόμα και να παίξουμε παιχνίδια, εφόσον ακολουθήσετε τους οδηγούς της Intel. Οι Matrix οθόνες αποτελούνται από μια σειρά LED (διόδους) τα οποία μπορούμε να χρησιμοποιήσουμε με όποιον τρόπο θέλουμε μέσω κώδικα σχηματίζοντας εικόνες και κείμενο.


Βήμα 1. Εδώ παρουσιάζονται τα υλικά. Χρειαζόμαστε έναν MAX7219 , μια LED Matrix οθόνη 8x8 στοιχείων, .01 uF capacitor, 10 uF capacitor, Breadboard, το Edison board with Arduino Breakout, μια 28K αντίσταση και jumper wires για το breadboard.

DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison

Βήμα 2. Πως λειτουργεί λοιπόν ένα LED array; Κάθε LED επάνω στην οθόνη τύπου matrix είναι αυτόνομο και μπορεί να "προγραμματιστεί" ξεχωριστά από τα υπόλοιπα σχηματίζοντας ότι θελήσουμε. Κάθε LED έχει μια κάθοδο (αρνητικό) και μια άνοδο που οδηγεί στον θετικό πόλο του LED και μέσω αυτού τρέχει το ρεύμα. Ο θετικός πόλος συνδέεται σε ένα microcontroller I/O pin το οποίο είναι ικανό να "διαβάσει" τις εντολές που θα του υποδείξουμε από το πρόγραμμα. Σε μια οθόνη όπως του παραδείγματος με 8x8 θα θέλαμε 64 pins για να μπορέσουμε να τη χρησιμοποιήσουμε, όμως μέσω της έξυπνης τεχνολογίας multiplexing που μειώνει τον αριθμό στα 16, δηλαδή σε 8 σειρές και 8 γραμμές. Στη συνέχεια ο microcontroller που θα χρησιμοποιήσουμε (MAX7219) μειώνει το πλήθος των καλωδίων που θα πάνε στο Edison σε τρία, τα data in, Load (CS) και το clock pin ενώ είναι διευκολύνει και τον προγραμματισμό, όπως φαίνεται παρακάτω:

Μπορείτε να αλλάξετε γραμμή, απλά γράφοντας R# δηλώνοντας με 1 και 0 τη στάση του LED (on - off).
R2 : 01011010
R3 : 00111100
R4 : 11111111
R5 : 11111111
R6 : 00111100
R7 : 01011010
R8 : 10011001

Βέβαια, τα πράγματα γίνονται πιο απαιτητικά όταν θέλουμε να δημιουργήσουμε ένα animation. Το κάθε animation αποτελείται από πολλά frames όπως φαίνεται στο παράδειγμα.

DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison

Βήμα 3. Ο προγραμματισμός γίνεται στις γλώσσες C/C++, Arduino language και Javascript μέσω των Arduino IDE και Eclipse προγραμμάτων, παραδείγματα των οποίων υπάρχουν στο 5ο βήμα της πηγής. Με λίγο κώδικα και εξάσκηση μπορούμε να καταφέρουμε πολλά πράγματα με το εν λόγω σύστημα της Intel, όπως το να φτιάξουμε ένα απλό παιχνίδι για δύο μάλιστα παίκτες! Μερικά projects και resources:

LED Matrix Safety Backpack LED Matrix Bike Safety Backpack
Flame Effect Flames effect with a 8x8 LED Matrix and ATMega328
Bi-color LED Matrix Tetris Game Arduino based Bi-color LED Matrix Tetris Game
Pong with 8x8 LED Matrix Pong with 8x8 Led Matrix on Arduino
Binary Clock Arduino Binary clock using LED Matrix
MAX7219 datasheet http://pdfserv.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
8x8 Matrix datasheet http://www.adafruit.com/datasheets/454datasheet.pdf
Adafruit https://www.adafruit.com/search?q=LED+matrix&b=1
Sparkfun https://www.sparkfun.com/search/results?term=led+matrix
Persistence of Vision http://en.wikipedia.org/wiki/Persistence_of_vision
LedControl Arduino Playground - LedControl
MAX7219 Arduino Playground - MAX72XXHardware

DIY: Ελέγχοντας LED Matrix με το Intel Edison
DIY: Ελέγχοντας LED Matrix με το Intel Edison