Διαφήμιση
Εάν παρακολουθείτε πολλές ταινίες στον υπολογιστή σας ή στο κέντρο πολυμέσων, είμαι βέβαιος ότι αντιμετωπίσατε το δίλημμα φωτισμού. σβήνεις εντελώς όλα τα φώτα; Τους κρατάτε σε πλήρη έκρηξη; Ή μήπως χρησιμοποιείτε διακόπτη dimmer για να κρατήσετε μια θαμπή κίτρινη λάμψη κάπου; Λοιπόν, μην υποφέρετε πια.
Για λιγότερο από 100 $, μπορείτε να δημιουργήσετε ένα εκπληκτικό σύστημα φωτισμού που θα αντικατοπτρίζει αυτό που εμφανίζεται στην οθόνη. εάν το βίντεο είναι μια μπλε νυχτερινή σκηνή, τα φώτα θα είναι μπλε. όταν αναβοσβήνει μια φωτιά από πορτοκαλί φωτιά, έτσι και τα φώτα σας. Καλώς ήλθατε στον κόσμο του περιβάλλοντος φωτισμού RGB.
Συστατικά
- Φωτεινή λωρίδα RGB - αυτή είναι μια λωρίδα 5 μέτρων LED RGB που μπορεί να αγοραστεί στο eBay και να αποσταλεί από το Χονγκ Κονγκ για λιγότερο από 20 £ το καθένα. Εάν αγοράσετε σε καταστήματα ηλεκτρονικών, θα πληρώνετε με το μετρητή και ένα κύλινδρο 5 μέτρων θα κοστίσει τρεις ή τέσσερις φορές αυτό, οπότε αγοράστε στο διαδίκτυο. Αυτοί οι τύποι ταινιών LED μπορούν να αλλάξουν σε οποιοδήποτε χρώμα, αλλά μόνο ταυτόχρονα - δεν μπορούν να ρυθμιστούν μεμονωμένα.
- Τροφοδοσία 12v - η απαιτούμενη ισχύς (ampage) εξαρτάται από το πόσες ταινίες LED θα συνδέετε. Κάθε μετρητής αντλεί περίπου 0,6 αμπέρ, αλλά αυτό εξαρτάται από την πυκνότητα των LED σας, οπότε φροντίστε να ελέγξετε τη συγκεκριμένη λωρίδα LED. Το 3A θα ήταν αρκετό για τη λωρίδα των 5 μέτρων που έχω συνδέσει παραπάνω και μπορούν να αγοραστούν ξεχωριστά τροφοδοτικά για περίπου 10 £ αν δεν μπορείτε να το προμηθευτείτε αλλού.
- 3 x Τρανζίστορ MOSFET N - Μπορείτε να βρείτε φθηνότερα, αλλά αγόρασα ένα πακέτο των 6 (τύπος STP16NF06FP) για περίπου 10 £. Αυτά χρησιμοποιούνται για την απομόνωση του ρεύματος από το Arduino - η σύνδεση των ταινιών απευθείας με το Arduino θα τηγανίζει με την ποσότητα ρεύματος που τραβούν. Χρειάζεστε 1 τρανζίστορ MOSFET ανά κανάλι χρώματος LED, για κόκκινο, πράσινο και μπλε.
- Arduino Τι είναι το Arduino & τι μπορείτε να κάνετε με αυτό;Το Arduino είναι μια αξιοσημείωτη μικρή ηλεκτρονική συσκευή, αλλά αν δεν έχετε χρησιμοποιήσει ποτέ πριν, τι ακριβώς είναι και τι μπορείτε να κάνετε με μία; Διαβάστε περισσότερα - Δεν έχω συμπεριλάβει το κόστος αυτού του αντικειμένου, καθώς υποτίθεται ότι θα έχετε ήδη ένα και υπάρχει μια ποικιλία κλώνων που μπορείτε να αγοράσετε εάν δεν μπορείτε να αγοράσετε ένα επίσημο.
Το συνολικό κόστος ήταν επομένως περίπου £40 χωρίς το Arduino.
Εισαγωγή
Το έργο αποτελείται από δύο μέρη. Πρώτα θα δημιουργήσουμε ένα βασικό κύκλωμα Arduino που θα ακούει εντολές από τον υπολογιστή και θα ρυθμίσει τα LED RGB σε κατάλληλο χρώμα. Το δεύτερο περιλαμβάνει τη χρήση μιας νέας εφαρμογής που ονομάζεται Επεξεργασία και Java από την πλευρά του υπολογιστή - για να υπολογίσετε ποια χρώματα υπάρχουν στην οθόνη, να τα μετρήσετε και να τα εξάγετε στη θύρα σειριακών επικοινωνιών για να αντιδράσει το Arduino.
Μέρος 1: Circuit and Arduino
Το κύκλωμα που χρησιμοποιούμε είναι πολύ απλό, όπως μπορείτε να δείτε από το παρακάτω διάγραμμα. Η λωρίδα LED πρέπει να παρέχεται με ένα αρσενικό βύσμα στο ένα άκρο που μπορείτε να τοποθετήσετε κατευθείαν στο ψωμί.
Η λωρίδα LED σας μπορεί να διαφέρει, αλλά αν κοιτάξετε προσεκτικά θα δείτε 12v, R, G, B γραμμένο στις ράγες κάπου. Αυτές οι ταινίες μπορούν πραγματικά να κοπούν σε αυτά τα σημεία χαλκού (κάθε 3 LED σε αυτά που έχω), οπότε αν θέλετε να κόψετε τις λωρίδες στο στις γωνίες της τηλεόρασής σας μπορείτε να το κάνετε με ασφάλεια - δεν χρειάζεται να χρησιμοποιήσετε ολόκληρα τα 5 μέτρα, επομένως μπορεί να έχετε αφήσει κάποια για το μέλλον έργο. Συνδέστε το θετικό 12v απευθείας στο εξωτερικό τροφοδοτικό.
Τα MOSFET έχουν τρεις ακίδες. πύλη, διοχετεύω, και πηγή. Η πύλη είναι σαν τον ηλεκτρονικό διακόπτη που θα ελέγχει το Arduino. Αυτό καθορίζει έπειτα το ρεύμα που ρέει μεταξύ της πηγής και της αποστράγγισης. Η αποστράγγιση κάθε MOSFET πρέπει να συνδέεται στο έδαφος του Arduino και στη γείωση του τροφοδοτικού, ενώ η πηγή συνδέεται με τα κανάλια λωρίδων LED.
Όταν ολοκληρώσετε το κύκλωμα, κατεβάστε και εκτελέστε το κωδικός δοκιμής (αρχικά από το LadyAda, τροποποιήθηκαν οι καρφίτσες). Θα πρέπει να δείτε τη λωρίδα LED να στροβιλίζεται σε διάφορα χρώματα.
Μέρος 2: Επεξεργασία
Κατεβάστε Επεξεργασία και τρέξε. Μπορεί να εκπλαγείτε που φαίνεται σχεδόν ακριβώς όπως το περιβάλλον ανάπτυξης Arduino? αυτό συμβαίνει επειδή το περιβάλλον Arduino βασίστηκε σε αυτό, αν και οι δύο εκτελούν διαφορετικές λειτουργίες. Πιάσε αυτόν τον κωδικό – αρχικά από Δημοκρατία του πυριτίου αλλά τροποποιήθηκε σε μεγάλο βαθμό για να κάνω τις ρυθμίσεις μεγέθους οθόνης αυτόματες και με καλύτερη αναπαράσταση χρώματος - και αφιερώστε λίγο χρόνο για να το κοιτάξετε. Βασικά χρησιμοποιεί μια κλάση Java που ονομάζεται Ρομπότ για να κάνετε μια καταγραφή οθόνης κάθε 10ms; Στη συνέχεια διαλέγει κάθε περίεργο εικονοστοιχείο και έχει μέσο όρο το συνολικό χρώμα. Εάν η απόδοση είναι πρόβλημα για εσάς, αυξήστε το skipValue μεταβλητή σε 3 ή 4 για παράλειψη περισσότερων εικονοστοιχείων - το συνολικό εφέ θα πρέπει να είναι το ίδιο, αλλά θα τρέχει πιο γρήγορα καθώς εξετάζει λιγότερα εικονοστοιχεία. Τέλος, πρόσθεσα ένα φίλτρο που βοηθά στον κορεσμό του χρώματος αυξάνοντας το μέγιστο και μειώνοντας τις ελάχιστες τιμές RGB που βρέθηκαν (χωρίς αυτό, βρήκα τα χρώματα να είναι πολύ λευκά).
Εκτελέστε την εφαρμογή. την πρώτη φορά, πιθανότατα θα λάβετε ένα σφάλμα καθώς προσπαθεί να αποκτήσει πρόσβαση σε λάθος σειριακή θύρα.
Ελέγξτε το παράθυρο εντοπισμού σφαλμάτων για μια λίστα με τις τρέχουσες σειριακές θύρες και σημειώστε τον αριθμό δίπλα στο οποίο είναι συνδεδεμένο το Arduino. Στην περίπτωσή μου σε Mac, η σύνδεση USB είναι θύρα 4. Αλλάξτε τον αριθμό σε αυτήν τη γραμμή στη σωστή θύρα:
port = new Serial (αυτό, Serial.list () [4], 9600); // ορίστε ρυθμό baud
Αποθήκευση και εκ νέου εκτέλεση. θα πρέπει να εμφανιστεί ένα μικρό παράθυρο - αυτό αντιπροσωπεύει το μέσο χρώμα όλων όσων εμφανίζονται στην οθόνη. Ξεκινήστε μια εφαρμογή ζωγραφικής ή κάτι με έντονα χρώματα για να το δοκιμάσετε, διαφορετικά πιθανότατα θα εμφανίζει απλώς μια σκοτεινή απόχρωση γκρι. Σταματήστε την εφαρμογή όταν ολοκληρώσετε τη δοκιμή, καθώς χρειαζόμαστε πρόσβαση στη σειριακή θύρα για να προγραμματίσουμε το Arduino.
Εν τέλει, φορτώστε αυτόν τον κωδικό στο Arduino σας. Αντί να στέλνει τυχαία χρώματα στη λωρίδα LED, αυτός ο κωδικός διαβάζει τις τιμές από τη σειριακή θύρα (στην οποία εξέρχεται η Επεξεργασία). Είναι αρκετά εύκολο να κατανοηθεί, το μόνο δύσκολο μέρος μπορεί να είναι η χρήση ενός δείκτη στα σειριακά δεδομένα:
if (Serial.available ()> = 4) { εάν (Serial.read () == 0xff) { κόκκινο = Serial.read (); πράσινο = Serial.read (); μπλε = Serial.read (); } }
Αυτό διασφαλίζει ότι διαβάζουμε τις σωστές τιμές byte - η εφαρμογή επεξεργασίας εξάγει έναν δείκτη ως «σημείο διακοπής» ανάμεσα σε κάθε σύνολο τιμών, ώστε το Arduino να μην ξεφύγει από το συγχρονισμό και να πιστεύει ότι η πράσινη τιμή είναι μπλε κ.λπ.
Μόλις φορτωθεί ο κωδικός Arduino (δεν θα πρέπει να υπάρχει έξοδος στην ταινία LED αρχικά), τότε μπορείτε να φορτώσετε και να εκτελέσετε την εφαρμογή Επεξεργασία. αμέσως θα πρέπει να δείτε το φως του περιβάλλοντος να λειτουργεί.
Ακολουθεί μια επίδειξη βίντεο για το πώς λειτούργησε για μένα με κάποιο τυχαίο τρίποδο μουσικό βίντεο.
Τι νομίζετε?! Παρόλο που δεν είναι τόσο εντυπωσιακό όσο κάτι που αναλύει κάθε μέρος της οθόνης και χρησιμοποιεί μεμονωμένα pixel LED, είναι πολύ φθηνότερο και πολύ πιο φωτεινό. Το μόνο μειονέκτημα είναι ότι όλα πρέπει να εκτελούνται στον υπολογιστή σας του κέντρου πολυμέσων - για παράδειγμα, δεν θα λειτουργούν με κανονικές τηλεοπτικές εκπομπές ή το Xbox 360. Εάν έχετε προβλήματα, ερωτήσεις ή προτάσεις, παρακαλούμε ρωτήστε τον. ή ίσως να συνδεθείτε με ένα βίντεο της ολοκληρωμένης ρύθμισής σας.
Ο James έχει πτυχίο Τεχνητής Νοημοσύνης και είναι πιστοποιημένο με CompTIA A + και Network +. Είναι ο κύριος προγραμματιστής του MakeUseOf και περνά τον ελεύθερο χρόνο του παίζοντας VR paintball και boardgames. Δημιουργεί υπολογιστές από τότε που ήταν παιδί.