Construisez votre propre éclairage ambiant dynamique pour un centre multimédia
Si vous regardez beaucoup de films sur votre PC ou dans votre centre multimédia, je suis sûr que vous avez fait face au dilemme de l'éclairage. éteignez-vous complètement toutes les lumières? Les gardez-vous à fond? Ou utilisez-vous un gradateur pour garder une lueur jaune terne quelque part? Eh bien, ne souffrez plus.
Pour moins de 100 $, vous pouvez installer un système d'éclairage exceptionnel qui reflétera ce qui est à l'écran. si la vidéo est une scène de nuit bleue, les lumières seront bleues; quand une flamme de feu orange s'allume, vos lumières le seront aussi. Bienvenue dans le monde de l'éclairage ambiant RVB.
Composants
- Bande lumineuse RVB - Il s'agit d'une bande de 5 mètres de LED RVB pouvant être achetée sur eBay et expédiée de Hong Kong à moins de 20 £ l'unité. Si vous achetez dans des magasins d’électronique, vous paierez au mètre et une bobine de 5 m coûtera trois ou quatre fois plus cher, alors achetez en ligne. Ces types de bandes de LED peuvent être changés en n’importe quelle couleur, mais seulement tous en même temps - ils ne peuvent pas être ajustés individuellement.
- Alimentation 12v - la puissance requise (ampage) dépend du nombre de barrettes de DEL à connecter. Chaque compteur consomme environ 0,6 ampères, mais cela dépend de la densité de vos voyants. Assurez-vous donc de vérifier votre bande de voyants. 3A suffiraient pour la bande de 5 m que j'ai liée ci-dessus, et des alimentations séparées peuvent être achetées pour environ 10 £ si vous ne pouvez pas en acheter une ailleurs.
- 3 x transistors MOSFET N - vous pouvez probablement trouver moins cher, mais j'ai acheté un paquet de 6 (type STP16NF06FP) pour environ 10 £. Ceux-ci sont utilisés pour isoler le courant de l'Arduino - relier les bandes directement à l'Arduino le ferait frire avec la quantité de courant qu'elles consomment. Vous avez besoin d'un transistor MOSFET par canal de couleur de LED, pour le rouge, le vert et le bleu.
- Arduino Qu'est-ce qu'Arduino et que pouvez-vous en faire? Qu'est-ce qu'Arduino et que pouvez-vous en faire? L'Arduino est un petit appareil électronique remarquable, mais si vous n'en avez jamais utilisé, que sont-ils exactement et que pouvez-vous en faire? Lire la suite - Je n'ai pas inclus le coût de cet article, car il est supposé que vous en aurez déjà un, et il existe une variété de clones que vous pouvez acheter si vous ne pouvez pas vous le permettre..
Le coût total était donc d'environ £ 40 n'incluant pas l'Arduino.
introduction
Le projet comprend deux parties. Nous allons d’abord créer un circuit Arduino de base qui écoute les commandes de l’ordinateur et définit les couleurs des voyants RVB. La seconde consiste à utiliser une nouvelle application appelée Traitement et Java du côté de l’ordinateur - pour déterminer les couleurs actuellement affichées à l’écran, les répartir en moyenne et les transmettre au port de communication série auquel l’Arduino réagit..
Partie 1: Circuit et Arduino
Le circuit que nous utilisons est très simple, comme le montre le schéma ci-dessous. La bande de LED doit être fournie avec une fiche mâle à une extrémité que vous pouvez placer directement dans la planche à pain.
Votre bande de LED peut varier, mais si vous regardez de près, vous verrez 12v, R, G, B écrit sur les rails quelque part. Ces bandes peuvent effectivement être coupées à ces points de cuivre (toutes les 3 LED sur celles que j’ai), donc si vous voulez couper les bandes aux coins de votre téléviseur, vous pouvez le faire en toute sécurité. Vous n’avez pas besoin d’utiliser la totalité des 5 m , il en reste peut-être pour un projet futur. Connectez le positif 12v directement à l'alimentation externe.
Les MOSFET ont trois broches; porte, drainer, et la source. Le portail est comme le commutateur électronique que l’Arduino contrôlera. Ceci détermine ensuite le courant circulant entre la source et le drain. Le drain de chaque MOSFET doit être connecté à la terre de l’Arduino et à la terre de l’alimentation, pendant que la source est connectée aux canaux de la bande de LED.
Une fois le circuit terminé, téléchargez et exécutez ce code de test (originaire de LadyAda, broches modifiées). Vous devriez voir votre bande de LED tourbillonner à travers une variété de couleurs.
Partie 2: traitement
Télécharger Traitement et exécution. Vous pourriez être surpris de le trouver presque exactement comme l'environnement de développement Arduino; c'est parce que l'environnement Arduino était basé sur celui-ci, bien qu'ils remplissent tous deux des fonctions différentes. Prenez ce code - à l'origine par Silicon Republic mais fortement modifié par moi pour rendre les réglages de taille d'écran automatiques et avec une meilleure représentation des couleurs - et prenez un moment pour regarder par-dessus. Fondamentalement, il utilise une classe Java appelée Robot faire une capture d'écran chaque 10ms; il sélectionne ensuite chaque pixel impair et fait la moyenne de la couleur totale. Si la performance est un problème pour vous, augmentez le skipValue variable à 3 ou 4 pour sauter plus de pixels - l'effet global devrait être le même, mais il sera plus rapide car il examine moins de pixels. Enfin, j'ai ajouté un filtre qui aide à saturer la couleur en augmentant le maximum et en diminuant les valeurs RVB minimales trouvées. (sans cela, je trouvais les couleurs trop blanches).
Lancer l'application la première fois, vous obtiendrez probablement une erreur lorsqu’il essaiera d’accéder au mauvais port série.
Recherchez dans la fenêtre de débogage la liste des ports série actuels et notez le numéro correspondant à celui auquel votre Arduino est branché. Dans mon cas sur un Mac, la connexion USB est le port 4. Modifiez le numéro de cette ligne sur le bon port:
port = new Serial (this, Serial.list () [4], 9600); // régler le débit en bauds
Enregistrer et réexécuter; vous devriez voir une petite fenêtre apparaître - cela représente la couleur moyenne de tout ce qui est à l'écran. Lancer une application de peinture ou quelque chose avec des couleurs vives pour le tester, sinon il va probablement afficher une nuance de gris trouble. Arrêtez l’application lorsque vous avez terminé les tests car nous avons besoin de l’accès au port série pour programmer l’Arduino..
Enfin, chargez ce code sur votre Arduino. Au lieu d’envoyer des couleurs aléatoires à la bande de LED, ce code lit les valeurs du port série (vers lequel le traitement est en cours de sortie). C'est assez facile à comprendre, la seule difficulté peut être l'utilisation d'un marqueur dans les données en série:
if (Serial.available ()> = 4) if (Serial.read () == 0xff) rouge = Serial.read (); vert = Serial.read (); bleu = Serial.read ();
Cela garantit que nous lisons les valeurs d'octet correctes - l'application Traitement génère un marqueur sous forme de “point d'arrêt” entre chaque ensemble de valeurs afin que l'Arduino ne soit pas désynchronisé et pense que la valeur verte est pour le bleu, etc..
Une fois le code Arduino chargé (il ne devrait y avoir aucune sortie sur la bande de LED), vous pouvez charger et exécuter l'application Processing. immédiatement, vous devriez voir votre lumière ambiante fonctionner.
Voici une démo vidéo de la façon dont cela a fonctionné pour moi avec un clip vidéo aléatoire trippant.
Qu'est-ce que tu penses?! Bien que ce ne soit pas aussi impressionnant qu'un outil analysant chaque partie de l'écran et utilisant des pixels individuels, il est beaucoup moins cher et beaucoup plus lumineux. Le seul inconvénient est que tout doit être exécuté sur votre ordinateur Media Center - cela ne fonctionnera pas avec la diffusion télévisée normale ou votre Xbox 360, par exemple. Si vous avez des problèmes, des questions ou des suggestions, n'hésitez pas à les demander. ou peut-être un lien vers une vidéo de votre installation terminée.
Explorer plus sur: Arduino, Media Player.