Matrice d’interrupteurs tactiles TTP226

Ce tutoriel explique comment mettre en oeuvre une matrice d’interrupteurs tactiles TTP226 avec MicroPython. Il sera dans l’état ON s’il y a contact et OFF dans le cas contraire. Cette page reprend le même principe que celui donné par ce tutoriel pour un seul interrupteur tactile.

Matériel requis

  1. Une carte d’extension de base Grove
  2. La carte NUCLEO-WB55
  3. Une matrice 2*4 de capteurs tactiles de référence TTP226

La matrice d’interrupteurs tactiles (Capacitive Touch Sensor - 8 channels) :

Grove - Water sensor matrix

On connecte le capteur de cette facon :

Matrice tactile ST Nucleo
GND GND
VCC 5V
OUTx Dx

Le cablage dépend du nombre d’interrupteurs que vous souhaitez utiliser.

Afin d’illustrer ce tutoriel nous utiliserons la pin OUT1 (interrupteur 1) connectée à la pin D4 de la carte ST Nucleo. Nous venons en faire de même avec la pin OUT2 (interrupteur 2) à la pin D5.

Le code MicroPython

Les scripts présentés ci-après sont disponibles dans la zone de téléchargement.

On peut s’assurer du fonctionnement du module simplement en venant l’alimenter. En effet celui-ci dispose de plusieurs LED qui s’allument à chaque fois que l’on touche un des interrupteurs tactiles.

Editez maintenant le script main.py sur le disque PYBFLASH et collez-y le code qui suit afin de tester l’interrupteur 1 :

# Objet du script : Mise en oeuvre d'un capteur/interrupteur tactile

from pyb import Pin
from time import sleep_ms # Pour temporiser

i1 = Pin('D4', Pin.IN, Pin.PULL_UP)
i2 = Pin('D5', Pin.IN, Pin.PULL_UP)

while True :
	time.sleep_ms(500) # Temporisation de 500 millisecondes

	if i1.value() == 1: # Si on touche le premier interrupteur
		print("Interrupteur 1 : ON")
	else: # Autrement
		print("Interrupteur 1 : OFF")

    if i2.value() == 1: # Si on touche le second interrupteur
		print("Interrupteur 2 : ON")
	else: # Autrement
		print("Interrupteur 2 : OFF")