4 ch DMX Dimmer (4 / 5 étapes)

Étape 4: logiciels

Je suis un ingénieur logiciel de commerce donc cette partie est la plus détaillée.

Summery : quand les premières bottes Arduino la méthode setup() est appelée. Là j’ai créé quelques-uns des variables et les lieux de sortie pour être utilisés plus tard. zeroCrossInterupt() est appelé / a couru chaque fois que l’AC traverse de positive à négative tension. Il va définir l’indicateur zeroCross pour chaque canal et démarrer la minuterie. La méthode loop() est appelée continuellement pour toujours. Pour activer la sortie, le TRIAC doit uniquement être déclenchée pour 10 microsecondes. Si il est temps de déclencher il TRIAC et zeroCross qui s’est passé la sortie s’allume jusqu'à la fin de la phase d’AC.

Il y avait quelques exemples en ligne que j’ai utilisé pour obtenir ce projet a commencé. La principale chose que je ne pouvais pas trouver était d’avoir plusieurs sorties TRIAC. D’autres ont utilisé la fonction de retard à la sortie PWM, mais qui ne fonctionnerait pas dans mon cas, car l’ATMEGA doit être à l’écoute de DMX tout le temps. J’ai résolu ceci en impulsions le TRIAC à tant de ms après zéro-Croix. Par impulsions le TRIAC rapprocher pour zéro-Croix plus du péché wave est sortie.

Voici ce que la demi-onde de péché 120VAC ressemble sur un oscilloscope, ci-dessus.

Le ISP814 est connecté pour interrompre 1. Donc lorsqu’il reçoit signal que l’AC passe de positif à négatif ou vice versa, il affecte la valeur true au zeroCross pour chaque canal et démarre le chronomètre.

Dans la méthode loop(), il vérifie tous les canaux si zeroCross a la valeur true et que le temps de s’activer a passé des flashe le TRIAC pour 10 microsecondes. C’est assez pour allumer le TRIAC. Une fois un TRIAC est activé sur il restera allumé jusqu’au zeroCross. La lumière serait scintiller lorsque le DMX était d’environ 3 % et j’ai ajouté la tronquant là-dedans pour l’empêcher. Cela était dû à l’Arduino étant trop lente, et le pouls parfois déclencherait la prochaine vague de péché au lieu de la dernière 4 % de l’onde.

Également dans le loop() j’ai mis la valeur PWM du statut LED. Ces voyants peuvent utiliser le PWM interne généré par l’Arduino, parce que nous n’avons pas à vous soucier de la zeroCross de l’AC. Une fois défini la PWM l’Arduino continuera à cette luminosité jusqu'à ce que dise les autres sages.

Tel que mentionné dans les commentaires dessus afin d’utiliser une interruption DMX sur la broche 2 et tourne à 20 MHz, vous devrez modifier certaines Arduino fichiers d’application. En HardwareSerial.cpp qu'un morceau de code doit être supprimé, cela nous permet d’écrire notre propre appel d’interruption. Cette méthode ISR est au fond du code pour gérer l’interruption DMX. Si vous allez utiliser un Arduino comme un programmateur ISP, n’oubliez pas d’annuler vos modifications à HardwareSerial.cpp sinon l’ATMEGA328 sur le plateau de pain sera inaccessible. Le deuxième changement est un easer un. Le fichier boards.txt doit être changé à la nouvelle vitesse d’horloge de 20MHz.

Brightness[ch]=Map(DmxRxField[ch],0,265,8000,0) ;

Luminosité mappe à 8000 parce que c’est la quantité de microsecondes, de 1/2 une onde sinusoïdale de AC à 60hz. Donc à pleine intensité DMX 256 le programme quittera 1/2 l’AC sine wave ON pour 8000us. Je suis venu avec 8000 par guess et cocher. Faire le calcul du 1000000us/60Hz/2 = 8333 donc c’est peut-être un meilleur numéro, mais avoir l’appoint 333us dessus de la tête permet le TRIAC ouvrir et une gigue au programme est probablement une bonne idée.

Sur l’Arduino 1.5.3 qu’ils ont déménagé à l’emplacement du fichier HardwareSerial.cpp. Il est maintenant /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp vous devrez commenter cela si tout bloc commençant par la ligne 39 : #if defined(USART_RX_vect)

Sinon vous allez vous retrouver avec cette erreur : core/core.a(HardwareSerial0.cpp.o) : In function « __vector_18 » :

Articles Liés

Vacances de Halloween Noël lightshow RGB parler fait face à l’aide de Vixen 3

Vacances de Halloween Noël lightshow RGB parler fait face à l’aide de Vixen 3

Mon but était de faire un simple halloween, spectacle et aussi un Noël montrer pour moins de 1000 $. J'ai voulu essayer 3 Vixen qui était neuf à partir de juillet, qui est un logiciel libre avec la nouvelle intégration lyrique pour la programmation f
Sûre et simple AC PWM Dimmer pour arduino / Raspberry pi

Sûre et simple AC PWM Dimmer pour arduino / Raspberry pi

Gradateur avec MOSFETCe circuit montre que gradateurs conçu pour être utilisé à la tension du secteur n'ont pas toujours contenir un triac.Ici, un MOSFET (BUZ41A, 500 V / 4. 5 a) dans une diode pont est utilisé pour contrôler la tension à travers une
Contrôleur DMX Pi framboise et Pure Data : une flamme Animation Art Installation

Contrôleur DMX Pi framboise et Pure Data : une flamme Animation Art Installation

Avoir voulu travailler avec un Pi de framboise car ils sont sortis, c'était très excitant quand un ami Jean Margret Thomas m'a demandé de l'aider avec une sculpture lumineuse qu'elle voulait créer. Jean Margret est un éclairagiste et sa conception ré
Automatique d’éclairage à l’aide de DMX et Perl

Automatique d’éclairage à l’aide de DMX et Perl

Pourquoi automatiser vos lumières ?Eh bien, pour être honnête, la plupart de ma maison est automatisé, il semblait la chose évidente à faire.Il y a beaucoup d'avantages dans l'automatisation de certaines parties de votre maison, éclairage en particul
Adaptateur USB FTDI base émetteur DMX avec Isolation

Adaptateur USB FTDI base émetteur DMX avec Isolation

Découvert par hasard, quand j'ai eu une série adaptateur branché tout en utilisant un programme DMX et remarqué qu'il était considéré comme un dispositif émetteur de Enttec DMX USB USB FTDI. Après quelques recherches sur le sujet, j'ai commencé avec
Émetteur/récepteur de 4 canaux DMX

Émetteur/récepteur de 4 canaux DMX

le Module de plate-forme de IO DMX est un émetteur/récepteur DMX 4 canaux. En mode, il peut contrôler jusqu'à quatre canaux de faible courant TTL de réception (3,3 v, par exemple pour les servos et petites LEDs) ou haute tension (12 v, par exemple, l
DMX de l’Imp électrique

DMX de l’Imp électrique

L'Imp électrique est un fantastique petit compatible wifi microcontrôleur. C'est un peu comme avoir un Arduino, un bouclier de WiFi et un service de Cloud dans un seul paquet.Vous n'obtenez pas autant de contrôle complet processeur comme sur l'Arduin
Raspberry Pi comme un contrôleur DMX

Raspberry Pi comme un contrôleur DMX

Transformez votre Pi framboise en un contrôleur DMXCette instructable vous montre comment afficher une fenêtre d'éditeur de roue couleur sur l'écran d'un ordinateur de Raspberry Pi, que vous pouvez manipuler avec votre souris. Lorsque vous changez la
Contrôleur DMX en ligne

Contrôleur DMX en ligne

Juste allumer votre Pi framboise préférée et commencer à contrôler un spectacle de n'importe quel smartphone ou ordinateur portable connecté à Internet. Sonne juste cool ? Eh bien, c'est exactement le but de ce projet. Vous aurez juste besoin un Pi d
Bandes de LED DMX

Bandes de LED DMX

Autour du périmètre de notre cirque, nous avons 17 clôtures, décorés à l'aide de bandes de LED RVB. J'ai voulu contrôler avec le reste de notre éclairage à l'aide de DMX.DMX est un standard industriel pour communiquer avec les appareils d'éclairage.
Contrôleur LED DMX-512 avec affichage LED

Contrôleur LED DMX-512 avec affichage LED

Compact, facile à assembler, contrôleur LED sorties que TTL PWM des signaux pour les LED rouges, vert et bleu. Le PWM des signaux de contrôle LED Drivers (cartes de sortie, règlement MOSFET/résistance basée ou régulateurs de courants constants), qui
Contrôleur DMX USB Pro et terminator pour QLC +

Contrôleur DMX USB Pro et terminator pour QLC +

Aujourd'hui, je veux partager avec vous comment faire un contrôleur de USB DMX professionnel cherche à utiliser avec le logiciel de contrôle tels que QLC + l'éclairage. Dans environ 5 à 10 minutes et environ 35 $ en pièces et d'expédition.Ce projet p
Testeur DMX peu coûteux

Testeur DMX peu coûteux

Bonjour à tous,Je travaille à temps partiel (plus d'un hobby) dans le secteur de l'éclairage et utiliser DMX puisque c'est le standard industriel pour communiquer ou dispositif de régulation (contrôleurs, consoles, luminaires, etc...) J'ai vu des tes
Arduino DMX 512 testeur et contrôleur

Arduino DMX 512 testeur et contrôleur

Actualizaciones, ficheros, códigos...Version anglaiseFacebookHerramienta para pruebas y control de iluminación de espectáculos un travez del protocolo DMX-512, idéal para hacer pruebas rápidas fr instalaciones fijas o temporales de iluminación. Este