Je possède chez moi 2 carte Arduino avec les programmes et montage suivant :
Arduino A :
(un capteur reed détecte l'ouverture d'une porte + relai qui allume une ampoule quand le capteur détecte une ouverture)
Arduino B :
Deux bouton sélecteur, si les deux sont dans des positions précises, un relai déclenche l'allumage d'une ampoule
Les deux cartes Arduino sont sur des alimentations différente, elles ont toute les deux des résistance pull up de 10KΩ, et malgré tout, lorsque je touche les boutons sélecteur (quelques soit leur position) ça déclenche le programme de l'Arduino A.
J'ai beau chercher je ne trouve pas de solution, à part les résistance pull up.
Si vous avez des suggestions je suis preneur
Merci à vous !
Bonjour et merci pour votre réponse, rapide qui plus est !
Ce sont des Srd-05vdc-sl-c, si je dis pas de bêtise c'est des module relais et ils ont des diode de roue libre.
Je vais essayer avec des résistance de 2,2k alors, quel serait l'explication ? Toutes les recherches que j'ai faite disais d'utiliser soit des 10 soit 20k
C'est à dire ? Les relais sont à plusieurs mètre de distance, de plus si je comprend bien, ils ne "rebondissement" pas, un bouton sélecteur déclenche le programme d'un arduino sur lequel il n'est pas branché
Ca dépend de la distance entre le sélecteur et l'entrée de l'Arduino. Le fil fait antenne et mettre une résistance de PULLUP trop élevée ou seulement la résistance interne de l'Arduino (pinMode(pin, INPUT_PULLUP) entre 20 et 50k, n'est pas toujours suffisant pour "immuniser" l'entrée contre les parasites.
La résistance de pullup est à mettre au plus près de la pin de l'Arduino.
Il peut aussi y avoir un probléme electromagnétique au niveau du capteur reed selon l'environnement dans lequel il se trouve.
-est'il éloigné de l'Arduino?
-comment est-il cablé
-quels est sa ref fabricant?
-où faite vous passer les câbles 220V Ac par rapport aux cables de la partie logique?
Il se peut, selon tout cela, que lorsque vous commandez l'éclairage d'une de vos lampes par un des 2 Arduino, vous créez une interférence electromagnétique sur le Reed connecté a l'autre arduino
Là cela tient du miracle.
Un relai mécanique à des rebonds.
Les contacts sont réalisés avec une lame ressort.
Tu as deux solutions pour traiter les rebonds.
la solution logicielle, voir les bibliothèques adaptées. Ce n'est pas la solution que j'utilise donc je ne peux pas te donner des références. C'est beaucoup utilisé ici.
la solution matérielle qui consiste à placer un condensateur de 100 nF en parallèle avec les contacts, au plus près des contacts.
Dans ce cas, il est préférable de laisser la résistance de tirage (la pull-up) à 10 kohms.
Dans le cas de longs fils de liaison entre le contact et le microcontroleur, placer une résistance d'environ 100 à 200 ohms environ (ce n'est absolument pas précis) en série avec le fil de liaison peut calmer le système.