Étape 20 : Installation du Firmware
Les progiciels utilisés dans le montage de lumière de LED Saiko5 WiFi sont open source et disponible gratuitement sur notre page de téléchargements . Il est conçu pour s’exécuter sur l’arduino, ou les systèmes d’amateur de maple et pour s’intégrer à la carte d’extension WiFi de bouclier de lumière. Le code est basé sur l’async_labs WiShield, mais avec des modifications pour améliorer la stabilité ainsi que d’ajouter la prise en charge Open Sound Control pour lui permettre de recevoir des commandes via UDP dans le format Open Sound Control.Faire utiliser les fichiers du firmware, téléchargez le référentiel saiko5, ainsi que le référentiel WiShield et s’assurer que le référentiel de WiShield est correctement placé dans le répertoire des bibliothèques du dossier arduino-carnet de croquis. L’environnement arduino doit être configuré pour utiliser le dossier arduino-carnet de croquis, car il est sketchbook afin de s’assurer que les bibliothèques sont bien situées.
Dans l’arduino-carnet de croquis dossier, situé à /saiko5/firmware/arduino-sketchbook /, il y a deux exemples de projets ainsi que les bibliothèques.
smooth_fade
smooth_fade est un exemple très basique adapté du tutorial arduino décoloration par David Mellis. Dans cet exemple de programme simple, la façon de changer la sortie PWM reliée à une LED rouge, vert et bleu est démontrée.
#define delaytime 5
#define fadestep 1
#define redPin 3
#define greenPin 5
#define bluePin 6
Ce bloc de code définit les variables de configuration de base. redPin, greenPin et bluePin sont définis pour qu’ils correspondent aux broches arduino/érable qui sont connectés à l’appareil d’éclairage LED à travers l’en-tête cinq broches sur la carte du bouclier de lumière. Si vous n’utilisez pas ce firmware auprès de la Commission du bouclier de lumière, vous pouvez modifier les goupilles sont utilisées ici. fadestep est l’augmentation de la luminosité par timestep et /delay est le retard par timestep. Le reste du programme smooth_fade s’éteint le voyant du rouge au vert au bleu à l’aide de la fonction analogWrite pour définir la valeur PWM sur chaque sortie.
LightBrick
Le dossier LightBrick contient les deux fichiers primaires pour le firmware de Saiko5 qui est utilisée dans la production, avec les bibliothèques de WiShield dans le dossier bibliothèques et liblo. Le fichier LightBrick.pde contient toutes les configuration de base et la mise en service, y compris la configuration réseau. Afin de configurer un périphérique de se connecter à votre réseau sans fil, les informations de configuration ici doivent être mis à jour. La fonction de configuration indique la lumière briller au départ la lumière rouge de faible puissance, suivie de l’initialisation du WiFi, et une fois WiFi l’initialisation est terminée et le périphérique est connecté avec succès, il a brièvement flashé bleu avant d’éteindre la lumière. Par la suite, il dirige le programme de WiFi.run() pour gérer la réception de paquets.
Le fichier udpapp.c contient le gestionnaire d’événements réels pour la réception d’un paquet UDP sur le port 2222. Pas en particulier la fonction udpapp_init, qui configure le serveur UDP. Le paramètre par défaut indique à l’appareil d’éclairage pour n’accepter des paquets UDP sur le port 2222, provenant de l’adresse IP 192.168.1.2. Si votre serveur réel se trouve à une autre adresse IP, cela * doit * être changé ou sinon les lumières ignorera les données envoyées à eux.
Après la configuration initiale de la pile de réseau pour accepter les paquets selon les besoins, la fonction parse_msg gère en fait l’analyse les paquets UDP qui sont reçus. Tout d’abord, le paquet entrant est désérialisé à l’aide de lo_message_deserialize, qui convertit le paquet UDP dans un message de la CVMO. Si la désérialisation échoue (i.e. un paquet incorrect a été reçu, ou un paquet non-OSC a été reçu), il ne fait rien. Dans le cas contraire, le firmware sort trois flotteurs attachées au contenu du paquet OSC et les met en la fRed, FBLUE et fBlue des valeurs float. Ensuite, cette valeur est écrite dans les broches de sortie à l’aide d’analogWrite. Dans le cas de l’Arduino, cette valeur est transformée en un entier de 8 bits en multipliant par 0xFF et refonte comme un unsigned char. Toutefois, l’érable est également capable de PWM 16 bits, donc cela peut être modifié à multiplier 0xFFFF d’une meilleure résolution PWM. L’utilisation de l’érable en mode PWM 16 bits permettant de 281 billions de couleurs distinctes être produit, par rapport aux couleurs 17 millions qui sont typiques de l’affiche PWM 8 bits (et la plupart des moniteurs informatiques). Dans notre expérience, couleur 8 bits semble généralement « bien », mais la douceur des fades est mieux avec des couleurs 16 bits, en particulier pour les faibles intensités.
Installation du firmware
Pour installer le firmware, vous devrez d’abord installer l’environnement de développement Arduino ou érable. Veuillez consulter les instructions et les informations sur l’utilisation de base offerts par les fabricants pour plus d’informations. Dans le cas d’un montage complet de Saiko5, l’arduino programmation port USB est exposée sur le côté de l’affaire pour modification facile.