bonjour, je pilote 16 relais avec une arpschuino2, ça foctionne avec le code dédié (2x8relays) mais j'aimerais le modifier.
ce sont des verrous à solénoïdes que je pilote via les relais, les alimenter plus de 5'' les amèneraient à s'autodétruire, j'aimerais donc que mon code limite le risque d'incident. j'ai inséré une ligne : digitalWrite(output , HIGH); après celle en LOW et un petit délai, ça referme bien le verrou mais ça le réouvre à la récéption d'une nouvelle trame dmx, et ça ouvre-ferme à toute vitesse.. (si le circuit reste envoyé)
j'aimerais donc n'executer cette boucle que si une des 16 adresses dmx concernées a une valeur différente de la précédente.
je pensais que le code servo avait cette logique pour éviter les tremblements de servo mais je ne trouve pas où ce serait écrit, j'espérais me débrouiller avec des copier-coller..
vous auriez une piste ou une solution ?
merci !
executer une commande seulement si la valeur dmx change
Re: executer une commande seulement si la valeur dmx change
ça aide de poster des messages ici, je viens de regarder le code spider-board et je pense avoir trouvé de quoi faire des copier-coller.. mais je n'aboutis qu'à un message d'erreur, soit disant que frame recieved ne serait pas déclaré dans ce scope.. je joins le code si vous avez un moment pour jeter un coup d'oeil..
merci
merci
- Fichiers joints
-
- arpschuino_16off_on_off.zip
- (2.3 Kio) Téléchargé 275 fois
Re: executer une commande seulement si la valeur dmx change
Hello Eric,
le code que tu as envoyé ne compile pas simplement parce qu'il manque une accolade fermante.
Juste avant "void frame_received", c'est pour ça que le compilateur ne voit pas la fonction.
le code que tu as envoyé ne compile pas simplement parce qu'il manque une accolade fermante.
Juste avant "void frame_received", c'est pour ça que le compilateur ne voit pas la fonction.
Re: executer une commande seulement si la valeur dmx change
D'où l'importance de soigner la mise en page ! Je ne suis pas assez rigoureux.. Je teste ça demain
Merci beaucoup Jacques
Merci beaucoup Jacques
Re: executer une commande seulement si la valeur dmx change
Bon, finalement ça ne marche pas, ça compile bien mais ce code de referme les verrous que si je repasse en dessous de 127. Le délai semble bien s'exécuter, je ne peux pas ouvrir-fermer très vite, mais le digital write low ne s'exécute pas. Je vais essayer de m'y remettre à tête reposée mais si jamais vous aviez une piste à m'indiquer, je suis preneur !
À bientôt et merci
À bientôt et merci
Re: executer une commande seulement si la valeur dmx change
Il me semble que j'avais écrit un code similaire pour du déclenchement de feux d'artifices.
Le voici tout frais sorti des archives : Dis moi si ça ressemble à ce qu'il te faut.
Le voici tout frais sorti des archives : Dis moi si ça ressemble à ce qu'il te faut.
Re: executer une commande seulement si la valeur dmx change
Parfait ce code, j'ai raccourci la durée de l'impulsion pour pouvoir éventuellement les enchainer plus rapidement et j'ai bien l'impression qu'on va jouer ainsi.
Merci beaucoup Jacques !
Merci beaucoup Jacques !
Re: executer une commande seulement si la valeur dmx change
Bonne nouvelle !
ça fait plaisir.
ça fait plaisir.