executer une commande seulement si la valeur dmx change

Questions sur les codes officiels du core arpschuino
Questions about official codes from arpschuino core
Répondre
maryno
Messages : 22
Enregistré le : ven. 12 nov. 2021 16:13

executer une commande seulement si la valeur dmx change

Message par maryno »

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 !
maryno
Messages : 22
Enregistré le : ven. 12 nov. 2021 16:13

Re: executer une commande seulement si la valeur dmx change

Message par maryno »

ç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
Fichiers joints
arpschuino_16off_on_off.zip
(2.3 Kio) Téléchargé 275 fois
Jacques
Messages : 278
Enregistré le : dim. 31 oct. 2021 19:37

Re: executer une commande seulement si la valeur dmx change

Message par Jacques »

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.
maryno
Messages : 22
Enregistré le : ven. 12 nov. 2021 16:13

Re: executer une commande seulement si la valeur dmx change

Message par maryno »

D'où l'importance de soigner la mise en page ! Je ne suis pas assez rigoureux.. Je teste ça demain
Merci beaucoup Jacques
maryno
Messages : 22
Enregistré le : ven. 12 nov. 2021 16:13

Re: executer une commande seulement si la valeur dmx change

Message par maryno »

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
Jacques
Messages : 278
Enregistré le : dim. 31 oct. 2021 19:37

Re: executer une commande seulement si la valeur dmx change

Message par Jacques »

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 :
arpschuino_16off_on_firework.zip
(1.95 Kio) Téléchargé 318 fois
Dis moi si ça ressemble à ce qu'il te faut.
maryno
Messages : 22
Enregistré le : ven. 12 nov. 2021 16:13

Re: executer une commande seulement si la valeur dmx change

Message par maryno »

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 !
Jacques
Messages : 278
Enregistré le : dim. 31 oct. 2021 19:37

Re: executer une commande seulement si la valeur dmx change

Message par Jacques »

Bonne nouvelle !
ça fait plaisir.
Répondre