Ignorer et passer au contenu

Livraison offerte à partir de 50€ d'achats, livrée sous 48h !

Livraison à partir de seulement 2.50€ !

Contents Menu Expand Light mode Dark mode Auto light/dark mode

Utiliser un capteur capacitif avec la Raspberry Pi Pico en MicroPython

(Mis à jour le 04/01/2023)

touch sensor module top

Un capteur capacitif permet d’avoir une sorte de bouton tactile qui se comporte comme un bouton-poussoir. Ils sont omniprésents dans les appareils du quotidien. Contrairement au bouton-poussoir classique, il n’y a aucun déplacement mécanique du bouton.

Le module détecte la pression d’un doigt dès qu’il est posé sur la surface sensible. Avec ce type de module basique, on ne peut pas connaître l’intensité de la pression exercée par le doigt mais uniquement sa présence.

Note

Sur les cartes ESP32, ce type de module n’est pas très utile, car l’ESP32 intègre déjà une dizaine de capteurs capacitifs sur ces broches. Par contre, sur la Raspberry Pi Pico, il peut être utilisé pour remplacer un simple bouton-poussoir.

Comment fonctionne un capteur capacitif ?

Comme indiqué dans son nom, c’est un capteur qui est basé sur la variation de la capacité d’un condensateur. Un condensateur est constitué de deux plaques métalliques placées face à face, séparées par un substrat (ici l’épaisseur de la PCB en FR4 qui fait office de substrat).

touch sensor module botom

Sur la face arrière, il y a une plaque métallique

Sur ce module, il n’y a qu’une seule plaque métallique pour le condensateur, la deuxième étant représentée par votre doigt😉. En fait, quand le doigt est posé sur la face avant, un condensateur est formé avec une très petite capacité. C’est cette variation de signal qui est renvoyé par le module sur la broche SIG .

Note

Il est important de se rappeler que ces capteurs capacitifs ne seront pas aussi fiables qu’un bouton-poussoir mécanique. Ils sont susceptibles d’être affectés par des capacités parasites de l’environnement qui peuvent altérer ou fausser les mesures.

Branchements du capteur capacitif

Voici le brochage à réaliser pour utiliser ce module :

Module Capteur Capacitif

Rasperry Pi Pico

SIG

GP26

VCC

3V3

GND

GND

capactif touch sensor pi pico micro python rpi picot

Circuit électrique à réaliser

Script pour tester le capteur capacitif du module

Une manière de récupérer la valeur est d’utiliser une broche analogique (et donc l’ADC de la Pi Pico).

from machine import Pin, ADC
import time


# Create an ADC object linked to pin 26
adc = ADC(Pin(26, mode=Pin.IN))

while True:

    # Read ADC and convert to voltage
    val = adc.read_u16()
    val = val * (3.3 / 65535)
    print(round(val, 2), "V") # Keep only 2 digits

    # Wait a bit before taking another reading
    time.sleep_ms(100)

Voici un aperçu lorsqu’on touche le module avec son doigt :

Test capteur capacitif Pi Pico

Vous remarquerez que les valeurs obtenues sont binaires : soit 0.01V de base soit 3.3V quand le doigt touche le module. On peut donc simplifier le code et utiliser n’importe quelle broche digitale de la Pico pour détecter une pression.

from machine import Pin

pin_capteur = Pin(26, mode=Pin.IN, pull=Pin.PULL_UP)

while True:
    if pin_capteur.value() == 1:
        print("Doigt detecté")