Parasites

Bonjour,

quand je relie un switch à une entrée digitale de l'arduino et au gnd (ou même au Aref) et que je programme ceci :

import pyfirmata
import time

port = 'COM3'

board = pyfirmata.Arduino(port)

it = pyfirmata.util.Iterator(board)  # itérateur permet de ne pas engorger la communication série
it.start()



pin11 = board.get_pin('d:9:i')

while True:
    print (pin11.read())	      # la valeur varie entre 0 et 1.

Je m'attend à n'avoir que soit True ou soit False ... ben non ça varie entre l'un et l'autre quand je ne touche pas au capteur, mais dès qu'il est fermé c'est constant.

Une idée ?

D'avance merci

Bonjour,

Une entrée ne doit pas être en l'air (ce qui est le cas quand le switch est ouvert), ceci donne un état indéterminé.
Il faut obligatoirement une résistance de pullup (externe ou interne) ou de pulldown.

Ah ok, et comment j'implémente le pull up avec pyfirmata ?

Merci :slight_smile:

je ne sais pas si c'est possible d'activer le pullup interne avec pyfirmata, tu peux toujours mettre un pullup externe.

Un pull up externe ?

Une résistance j'imagine ? Je la met ou ? et je la calcul comment ?

Désolé pour cette avalanche de questions

comme ça

La résistance n'est pas critique tu peux mettre entre 4.7k et 100k

Effectivement, ça fonctionne ... à présent je n'ai plus qu'à faire ça pour mes 6 capteurs lol

Une idée pour me faciliter la vie ? Une technique d'électronicien ?

Merci encore pour tes réponses rapide