Note

Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi rejoindre ?

  • Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.

  • Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.

  • Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.

  • Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.

👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !

2.1.3 Module Interrupteur Tactile

Introduction

Dans ce projet, vous allez découvrir le module interrupteur tactile. Il peut remplacer les types d’interrupteurs traditionnels avec ces avantages : opération pratique, sensation tactile fine, contrôle précis et usure mécanique minimale.

Composants Nécessaires

Pour ce projet, nous avons besoin des composants suivants.

../_images/2.1.3component.png

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ARTICLES DANS CE KIT

LIEN

Kit Raphael

337

Raphael Kit

Vous pouvez également les acheter séparément à partir des liens ci-dessous.

INTRODUCTION AUX COMPOSANTS

LIEN D’ACHAT

Carte d’extension GPIO

ACHETER

Plaque d’expérimentation (Breadboard)

ACHETER

Fils de Liaison

ACHETER

Résistance

ACHETER

LED

ACHETER

Module Interrupteur Tactile

ACHETER

Schéma de Principe

../_images/2.1.3circuit.png

Procédures Expérimentales

Étape 1 : Construisez le circuit.

../_images/2.1.3fritzing.png

Étape 2 : Changez de répertoire.

cd ~/raphael-kit/python/

Étape 3 : Exécutez.

sudo python3 2.1.3_TouchSwitch.py

Pendant l’exécution du code, la LED rouge s’allume ; lorsque vous appuyez sur le module interrupteur tactile, la LED jaune s’allume.

Code

Note

Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez vous rendre dans le chemin du code source comme raphael-kit/python. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.

#!/usr/bin/env python3

import RPi.GPIO as GPIO
import time

# Set #17 as touch switch pin, #22 as led1 pin, #27 as led2 pin
touchPin = 17
led1Pin = 22
led2Pin = 27

# Define a setup function for some setup
def setup():
    # Set the GPIO modes to BCM Numbering
    GPIO.setmode(GPIO.BCM)
    # Set touchPin input
    # Set ledPin output,
    # and initial level to High(3.3v)
    GPIO.setup(touchPin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

# Define a main function for main process
def main():
    while True:
        # touch switch high, led1 on
        if GPIO.input(touchPin) == 1:
            print ('You touch it!')
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

        # touch switch low, led2 on
        if GPIO.input(touchPin) == 0:
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

        time.sleep(0.5)
# Define a destroy function for clean up everything after
# the script finished
def destroy():
    # Turn off LED
    GPIO.output(led1Pin, GPIO.HIGH)
    GPIO.output(led2Pin, GPIO.HIGH)
    # Release resource
    GPIO.cleanup()

# If run this script directly, do:
if __name__ == '__main__':
    setup()
    try:
        main()
    # When 'Ctrl+C' is pressed, the program
    # destroy() will be  executed.
    except KeyboardInterrupt:
        destroy()

Explication du Code

touchPin = 17
led1Pin = 22
led2Pin = 27

touchPin, led1Pin et led2Pin sont connectés aux GPIO17, GPIO22 et GPIO27, à savoir BCM17, BCM22 et BCM27.

GPIO.setmode(GPIO.BCM)
    GPIO.setup(touchPin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

Configurer les modes GPIO en numérotation BCM. Définir led1Pin, led2Pin en mode sortie et initialiser leur niveau à High (3,3v).

# touch switch high, led1 on
if GPIO.input(touchPin) == 1:
    print ('You touch it!')
    GPIO.output(led1Pin, GPIO.LOW)
    GPIO.output(led2Pin, GPIO.HIGH)

# touch switch low, led2 on
if GPIO.input(touchPin) == 0:
    GPIO.output(led2Pin, GPIO.LOW)
    GPIO.output(led1Pin, GPIO.HIGH)

Lorsque vous appuyez sur le module interrupteur tactile, touchPin est haut, led1 s’allume et affiche « Vous avez touché ! ». Lorsque touchPin est bas, led2 s’allume.

Image du Phénomène

../_images/2.1.3touch_switch_module.JPG