Arduino + WiFi, musique réactive LED luminaire (21 / 22 étapes)

Etape 21: À l’aide de PureData ou autres logiciels pour contrôler les Saiko5

Le logiciel utilisé avec le montage de lumière de LED Saiko5 WiFi est en cours de développement. Tous les logiciels sont écrit pour profiter du Firmware Saiko5 développé pour être utilisé avec les conseils d’amateur de l’Arduino ou l’érable. Le firmware permet un protocole de communiation simple utilisant le protocole Open Sound sur le WiFi qui permet à n’importe quel programmeur d’écrire des logiciels pour contrôler la couleur et la luminosité de l’appareil. Logiciel se trouvent dans la section téléchargements .

Format de paquet OSC

Les fonctionnalités de base sont facilement accessibles grâce à l’utilisation de la bibliothèque liblo, disponible pour python, C, PureData et autres langues. Code d’exemple de scripts python de base pour contrôler les lumières peut être trouvé dans les Archives de saiko5 disponibles dans la section téléchargements, dans le sous-dossier/saiko5/logiciels/scripts /

Code de l’exemple de base

importer liblo

adresse = liblo. Adresse (« 192.168.1.222 », « 2222 »)
liblo.Send (adresse, « / lumière/couleur/set », 'f', 0,8, ('f', 0,0), ('f', 0,2))

Dans cet exemple de code, qui est tout ce qui est nécessaire pour contrôler un appareil Saiko5, il y a trois lignes.

1. importation liblo
Cette opération importe la bibliothèque liblo. Vous devrez avoir python-liblo installé pour cette fonctionnalité doit être activée.
2. adresse = liblo. Adresse (« 192.168.1.222 », « 2222 »)
Cette opération crée un objet adresse liblo, qui peut être utilisé pour envoyer des paquets sur les OSC à la lumière à l’adresse IP donnée. Les lumières sont programmées par défaut à l’écoute sur le port 2222 et à l’ordinateur à 192.168.1.2. Cependant, ces paramètres peuvent être modifiés facilement en téléchargeant une version modifiée du firmware. Notez que si vous avez plusieurs lumières, vous aurez besoin d’envoyer les commandes à toutes les lumières pour faire des mises à jour.
3. liblo.send(address, '/light/color/set', ('f', 0.8), ('f', 0,0), ('f', 0,2))
Cela crée et envoie un paquet OSC. La spécification qu’attendent les lumières est le chemin « / lumière/couleur/set », suivi par trois chars, qui correspond à la luminosité RGB entre 0 et 1.

Notez que cela est configuré pour envoyer des commandes sous forme de données RVB. Ce n’est pas l’espace de couleur préféré pour faire face avec éclairage LED, et nous recommandons fortement l’utilisation de l’ISH (teinte, Saturation, intensité) pour la représentation locale de couleur claire. Le code est disponible pour la conversion de HSI RGB en python dans le référentiel saiko5 à /saiko5/software/puredata/server/HSI2RGB.py

Hue est une manière intuitive de penser à « couleur », avec des valeurs comprises entre 0 et 360 degrés, où 0 et 360 degrés sont rouges, et comme les augmentations de teinte, qu'il traverse tout d’abord jaune, puis vert, puis cyan, puis bleu, puis magenta avant de retourner au rouge. Cette représentation permet le codage simple des changements de couleur constante.

La saturation est une manière intuitive de penser à la « blancheur » d’une couleur, avec une saturation de 1,0 sens aussi pur que possible d’une couleur et une saturation de 0,0 signifie blanc, quelle que soit la teinte. L’utilisation de saturation des valeurs inférieures à 1,0 permet l’affichage facile des couleurs pastel.

L’intensité est la représentation naturelle pour la luminosité d’un luminaire LED. L’intensité est définie ici comme la somme des canaux rouges, verts et bleus, entre 0,0 et 1,0. Ceci est différent de la « valeur » utilisée dans le HSV, où la valeur est définie comme la valeur maximale entre les canaux rouges, verts et bleus. Bien que l’utilisation de l’intensité au lieu de la valeur limite la luminosité maximale de la lumière à l’éclat d’un canal unique seul, nous estimons qu’il s’agit d’un moyen plus naturel d’utiliser une couleur changeant d’appareil d’éclairage. Par exemple, dans l’espace colorimétrique HSI, une valeur HSI, si l’intensité est constante et la teinte est modifiée, la puissance totale étant mises par l’appareil d’éclairage reste constant. Toutefois, au HSV colorspace, si la valeur est constante et la teinte est modifiée, la puissance étant mises par les changements d’appareil d’éclairage.

Cela est particulièrement évident dans l’exemple d’aller du rouge au jaune (ou n’importe quel primaire à la couleur secondaire). Dans le cas de la rouge, une valeur HSV de (0, 1, 1) est équivalente à une valeur RGB (1, 0, 0). C’est le même résultat aurait découlant de l’utilisation de la valeur HSI (0, 1, 1). Cependant, pour le jaune, la valeur HSV (60, 1, 1) entraînerait une valeur RVB (1, 1, 0), tout en un HSI valeur de (60, 1, 1) donnerait lieu à une valeur RGB (0, 0.5, 0.5). Dans le cas de la valeur de la constante, la quantité de lumière mis en est supérieure pour le jaune rouge par un facteur de deux, tandis que dans le cas d’une intensité constante, la quantité de lumière mis en demeure inchangé.

Le logiciel Saiko5

Le logiciel Saiko5 a été principalement développé sur Ubuntu 10.04. Nous recommandons fortement que pour être certain que votre installation fonctionnera vous télécharger et utiliser notre image LiveCD qui offrira un environnement de base Ubuntu avec notre logiciel préinstallé et mis en place. Toutefois, nous comprenons que ce n’est pas une situation idéale pour tous les utilisateurs, et donc le logiciel est également fourni sur notre page de téléchargements. Le référentiel de saiko5 est divisé en deux dossiers principaux, /saiko5/firmware/et /saiko5/logiciel /. Cette documentation discutera des logiciels contenus dans le dossier//saiko5/logiciels /.

gui

Le dossier gui contient une interface graphique écrite en python en utilisant wxpython pour les widgets. Ce logiciel permet un contrôle de base sur les appareils d’éclairage à l’aide d’un point, puis cliquez sur interface, y compris les choix d’une couleur HSI, cueillette d’adresses IP pour envoyer les commandes à et fait à base de recyclage des modes de couleur. Pour utiliser ce logiciel, ouvrez le saikoControlGui.py en python.

scripts

Le dossier scripts contient le code de l’exemple de base pour contrôler les appareils d’éclairage à l’aide de liblo en python. Notez que l’utilisation de ces nécessitera une configuration manuelle des adresses IP des lumières que vous tentez de contrôle.

* colorcycle.py--il s’agit d’une couleur de base vélo de programme à l’aide de saturation de 100 % et un taux de change constant.
* setpurple.py--c’est le script très basique ci-dessus en trois lignes qui définira la couleur de la lumière choisie à notre ombre préféré de pourpre.
* udpstresstest.py--ce script mettra l’accent sur tester votre réseau et les lumières en envoyant des paquets udp pour les lumières. Vous pouvez utiliser ceci pour déterminer comment stable est de votre réseau sans fil.

puredata

Le dossier de puredata contient le code source pour faire l’analyse audio à l’aide de puredata avec un serveur python qui l’accompagne pour une communication réelle avec les appareils d’éclairage Saiko5. C’est le logiciel qui est utilisé pour faire les vidéos de la réponse de la musique sur la page. La capture d’écran montre la PureData + Python Server utilisé activement pour contrôler l’appareil Saiko5.

* analyzer.pd--il s’agit de l’analyseur de puredata. Requiere pd-extended, ainsi que de pd-aubio (la bibliothèque d’analyse musicale du aubio) pour fonctionner.
* server/HSI2RGB.py--ce script python convertit les valeurs HSI en RVB.
* server/lightconfiguration.py--ce script python contient les informations de configuration pour les montages de Saiko5 étant commandés.
* server/lightevents.py--ce script python a le code de base pour le serveur de python. C’est le code qui sera généralement modifié pour ajouter de nouvelles fonctionnalités sur le serveur.
* server/lightserver.py--c’est le script python globale qui doit fonctionner pour le logiciel analyzer.pd de la fonction. Il est conçu pour écouter les paquets OSC sur le port 2223, et ces paquets sont fournis par le logiciel puredata.

Articles Liés

Comment connecter votre shield Arduino WiFi à une application iOS/Android personnalisée développé en HTML5/JavaScript.

Comment connecter votre shield Arduino WiFi à une application iOS/Android personnalisée développé en HTML5/JavaScript.

Cette montre instructable vous comment générer une application mobile qui communique avec votre bouclier WiFi, dans cet exemple, nous allons créer une application qui peut allumer une LED/arrêt reliée à votre Arduino. L'application mobile sera dévelo
Grove Arduino WiFi activé à effet de serre

Grove Arduino WiFi activé à effet de serre

L'essentiel :GroveGrove - haute précision capteur de température/humiditéCapteur de lumière de Grove - analogiqueGrove - encodeurGrove - sonde UVHumidité du sol Grove-Affichage de Grove - RGB 16 x 2Grove - 20CM de câble x3Grove - 50CM de câble x2Grov
WIFI sous contrôle LED Hat

WIFI sous contrôle LED Hat

Ici, vous apprendrez à utiliser une carte de microcontrôleur Intel Edison pour se connecter à LEDs en sortie et à utiliser le WIFI comme une méthode de saisie pour modifier les couleurs ou les animations des LEDs.J'ai aussi est un guide étape par éta
Nocturnal Emissions : Mon Arduino alimenté par Internet activé rêve générateur

Nocturnal Emissions : Mon Arduino alimenté par Internet activé rêve générateur

nous avons tous besoin de rêver plus, j'ai donc créé ce Arduino alimenté « générateur de rêve » pour aider à planter des graines pour certains folie de penser grand.  Quand vous approchez le générateur d'un capteur à ultrasons Maxbotix déclenche lumi
Comment mettre à jour le firmware de votre shield Arduino wifi (pas 101)

Comment mettre à jour le firmware de votre shield Arduino wifi (pas 101)

Tu as probablement un bouclier Arduino wifi (pas 101) pour Noël, ou vous avez acheté un avant ou après, mais il vous donne une erreur et le « erreur » LED s'allume cela signifie que vous devez mettre à jour son firmware afin de rendre votre projet Io
Arduino Wifi Redback

Arduino Wifi Redback

Ajout de fonctionnalités sans fil à un projet normalement implique y attacher les autres planches sur votre arduino, qui augmente la taille de votre gadget. Cela a été un casse-tête pour de nombreux développeurs de matériel pendant une longue période
Arduino wifi redback webserver exemple

Arduino wifi redback webserver exemple

Un arduino wifi Redback peut être utilisé comme un serveur Web. L' exemple de serveur Web de redback wifi disponible dans la bibliothèque de CuHead nous montre parfaitement comment faire cela. Je vais vous guider à travers elle, afin que vous compren
Arduino (SPI) 7 Bi-color LED matrice d’affichage de texte de défilement

Arduino (SPI) 7 Bi-color LED matrice d’affichage de texte de défilement

Certains temps de retour, nous sommes arrivés avec un instructable pour construire un affichage de texte en Scrolling 7 Bi-color 8 x 8 LED Matrix. Vous pouvez visiter pour plus de détails.Dans cette instructable, nous avons utilisé la bibliothèque Le
Arduino + TFT = musique visuelle

Arduino + TFT = musique visuelle

Résumé :Audio: dans ce projet l'Arduino lit une chaîne de notes écrites dans la formule de notation musicale que nous avons appelé langue de musique facile. Il sélectionne chaque note musicale (ou reste), détermine sa fréquence et joue cette note.Gra
Bouclier d’Arduino WiFi pas cher avec ESP8266

Bouclier d’Arduino WiFi pas cher avec ESP8266

Dans mon précédent Instructable j'ai décrit comment brancher le module ESP-01 dans une maquette.C'est juste la première étape pour faire un bouclier d'Arduino WiFi bon marché en utilisant le module ESP8266. Avec quelques composants électroniques plus
Bon marché et facile Arduino WiFi Hack

Bon marché et facile Arduino WiFi Hack

j'étais assis autour et jouer avec mon Arduino UNO et un module Ethernet ENC28J60, et pensée pour moi ce serait cool d'avoir un bouclier de Wi-Fi, quand j'ai réalisé que je n'ai pas acheter un bouclier comme j'ai eu les composants et tout ce que je d
BRICOLAGE musique synchronisée LED feux

BRICOLAGE musique synchronisée LED feux

Voici quelques photos d'une musique synchronisée LED feu que j'ai fait.  Vous pouvez lire à ce sujet à http://colvins.ca/?p=86. Voici une vidéo :
Arduino Sound réactive LED pyramide

Arduino Sound réactive LED pyramide

Illuminer votre point chaud préféré avec notre pyramide de LED réactives Sound. Faire votre endroit préféré pour détendre la zone réactive pour tous vos amis et votre famille. Avec une grande variété de couleurs, ces lumières ajoutera une nouvelle sa
Multilcolored boîte à musique réactive Ultimate Sound LED

Multilcolored boîte à musique réactive Ultimate Sound LED

boîte à musique LED multicolores.Box est clair plexiglas dépoli8" long 4" Tall 4" largeEntièrement contrôlé par télécommande.Bouffées de chaleur de la musique avec deux réglages réactifs différents de la musique.A 16 différentes couleurs fi