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 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.