Les interrupteurs
Ou comment basculer d’un avis à l’autre...
. Par : Thierry
Vous répondez à :
comment faire le câblage d’un interrupteur KCD2 ave cart arduino ? merci
8 Messages
-
Les interrupteurs 10 septembre 2016 21:53, par Dominique
Il y a peut-être une alternative à l’utilisation de la bibliothèque Bounce2 pour éliminer les rebonds :
Le principe de l’anti-rebond est de faire 2 mesures espacées d’un temps de latence (quelques millisecondes), la 2ème mesure devant confirmer la première.
Bounce2 embarque un temporisation dans chacun des objets dont les méthodes peuvent être appelées n’importe quand, et c’est bien normal. Si on appelle inter.update() dans la loop, cela déroule pas mal de code dans le processeur, à chaque tour de la loop donc pour presque rien.
Si, par contre, on limite l’accès en lecture aux pins des inters, après l’écoulement d’une tempo qui est placée dans la loop, on n’a plus besoin de la bibliothèque bounce2, cette tempo pouvant être commune à tous les inters et poussoirs branchés sur des pins.
Exemple :
if (millis()-debounce > SAMPLE_TIME) { debounce = millis(); if ((digitalRead(STARTSTOP) == 0) && bouton ) { if (dccON) { digitalWrite(SIGNAL_ENABLE_PIN_MAIN,LOW); dccON = false; } else { digitalWrite(SIGNAL_ENABLE_PIN_MAIN,HIGH); dccON = true; } bouton = false; } if (digitalRead(STARTSTOP) == 1) { bouton = true; } }
Ici un seul bouton STARTSTOP est testé et comparé à sa valeur précédente "bouton" pour signaler un changement. J’aurais pu tester plusieurs inters et poussoirs dans le même temps.
Puisque ce code retarde les mesures suivantes après la tempo "SAMPLE_TIME", on obtient le même résultat qu’avec Bounce2... en plus simple !
Et pendant que la loop ne s’occupe pas des poussoirs et inters, elle a plus de temps pour les autres tâches.
N’est-il pas ?
-
Les interrupteurs 11 septembre 2016 11:04, par Thierry
C’est tout à fait juste. Bounce2 n’est que le moyen ’simple’ de mettre en oeuvre un timer logiciel sur chaque broche. Il n’est pas du tout obligatoire de s’en servir et on peut faire comme tu le fais ici avec un compteur de temps local. C’est d’ailleurs ce que j’avais utilisé dans UAD et ré-utilisé dans Commanders. Quant à gagner du temps en mutualisant ce timer, je ne suis pas sûr. Ce qui est sûr c’est que de la mémoire vive sera gagnée puisqu’un seul entier sera nécessaire au lieu d’un par broche, mais pour le temps d’exécution on ne gagne qu’un test entre deux entiers à chaque broche. A creuser...
-
-
Les interrupteurs 5 mai 2020 19:51, par Younes
Bonjour,
Tout d’habord merci pour ce partage.Voilà en fait,je travail sur un projet, et j’ai un soucis avec mon code,(je dois creer avec un arduino nano un systeme de clignotant avec un temps de clignotement de 6sec), mais le probleme c’est que l’interupteur que j’utilise(et je ne peux pas le changer :x) c’est un interupteur a bascule mais qui revient sur sa position initiale, je m’en sors vraiment pas, j’éspère avoir une reponse de votre part... *,*
Merci d’avance :) -
Les interrupteurs 20 août 2020 18:05, par sana
comment faire le câblage d’un interrupteur KCD2 ave cart arduino ? merci
-
Les interrupteurs 20 août 2020 19:33, par msport
Bonjour,
Locoduino est un site participatif dédié au modélisme ferroviaire utilisant les Arduino.
Si c’est le cas, décrivez votre projet sur le forum, rubrique "Vos projets", vous aurez probablement une réponse.
Sinon relisez cette page, il y a certainement ce qu’il vous faut.
Cordialement -
Les interrupteurs 24 février 2022 17:06, par Claude Bouzerand
Bonjour , J’essai de realiser un controle d’humidité pour une cave d’affinage pour fromage. Lhumidificateur est un refroidisseur d’air a eau avec ventilateur (essais concluants ) J’ai un Hygrostat 220 v avec un relais en sortie doc un contact sec . Je veux conserver ce "climatiseur avec son tableau de controle(vitesse ventilation,debit reglable eau...) la miise en route et l’arret se font aves un bouton poussoir simple premiere impulsion : Marche 2 eme appui :arret Avec un arduino Je veus faire ce contact a l’aide d’un relais Arduino 5 v. Que j’ai aussi. Mon idée est de meservir d’un contact du relais de l’hygrostat qui devient un interrupteur qui lors de ses changements d’etat enverra par la Uno un impulsion de 1/2s au relais qui etablira le contact arret ou marche de la "Clim."(J’ai tiré 2 fils en parallele du bouton poussoir soudes sur ses 2 contacts. Quel serait le programme le plus approprié pour cette realisrion de base... Je ne veux pas utiliser de hardware , batterie de relais. Je vous remercie de votre attention, ce n’est pas du modelisme ,ici...mais votre sie semble bien actif
-
Les interrupteurs 24 février 2022 20:26, par msport
Bonjour,
effectivement vous n’êtes pas sur le bon forum, voyez plutôt le forum.arduino.cc.
Et vous trouverez certainement la solution avec la bibliothèque Bounce2 ci-dessous
avecif ( debouncerB.fell() ) {
...
puisif ( debouncerB.rose() ) {
...
CordialementVoir en ligne : Bibliothèque Bounce2
-
Les interrupteurs 18 août 2022 20:18, par MaX
Je cherchais comment gérer un interrupteur ’Center Off’ et ce tuto est parfait !
Merci beaucoup !