Bonjour
Dans la doc de l'Arduino il est specifié qu'une input Digital en l'air peut valaire 1 ou 0 et change. (J'ai pu le verifier)
Dans pas mal de schema sur le net les auteurs mettent des switch entre le 5V et une I/O de la carte.
Quand le switch est fermé on a bien zero, mais quand il est ouvert on a 0 ou 1 (Cf note sur la doc ci dessus).
Pour m'en sortir j'ai mis l'input de la carte a la masse via une tres grosse resistance. (Et ca marche.)
Mais je me dis que si plein de schema sont sans cette bidouille il doit y avoir une solution soft ?
Bonjour,
Je n'ai eu que très rarement ce type de problèmes liés à la pollution électromagnétique.
Tu peux toujours activer la résistance de pullup des entrées non utilisées comme cela les entrées seront forcées à HIGH.
@+
Tu es sûr du 5V ? Généralement et quand on veut faire simple, on fout une borne du switch au GND, et l'autre à l'I/O du µC et on active la résistance de pull up interne de l'I/O.
Je ne sais pas si c'est lié a l'electromagnetisme mais en tout cas ca bagotait bien et rapidement (de l'ordre d'un changement d'etat toute les 3 a 4 secondes)
mais c'est vrai que les switch des montages ont souvent que la masse de relié. mais comme quand il etait ouvert ca bagotait j'ai mis 5V pour avoir 1 et quand c'est ouvert j'ai la masse par ma resitace et j'ai zero.
Ok je regarde coté pul up interne ca simplifiera les montages
Après tu peux faire l'inverse : une borne au 5V, l'autre à l'IO + R de pull down cette fois ci. De toute façon dans les montages que l'on veut un minimum fiable, il faut une capa de lissage + une résistance de pull up ou de de pull down suivant son câblage, car la R de pull up interne est à la fois aléatoire (20k à 50k selon la datasheet de mémoire) et peut ne pas convenir suivant la fréquence des appuis (trop forte ou trop faible).