Raspberry Pi - Capteur de Force

Ce didacticiel vous explique comment utiliser un Raspberry Pi avec le capteur de force. En détail, nous allons apprendre :

En tant qu'application typique, vous pouvez placer vos affaires sur le capteur de force, et si le Raspberry Pi détecte des changements de force, cela signifie que quelqu'un a pris vos affaires.

Préparation du matériel

1×Raspberry Pi 5
1×Module ADC ADS1115
1×Capteur de force
1×10 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de force

Brochage du capteur de force

Le capteur de force est également appelé résistance de détection de force, résistance sensible à la force, ou tout simplement FSR. C'est essentiellement une résistance qui modifie sa valeur résistive en réponse à la pression appliquée. Le capteur de force présente les caractéristiques suivantes :

  • Il est peu coûteux et facile à utiliser.
  • Il est efficace pour détecter la pression physique ou l'écrasement.
  • Il n'est pas adapté pour mesurer le poids d'un objet.

Le capteur de force est utilisé dans une variété d'électroniques portables, comme les batteries électroniques, les téléphones mobiles et les appareils de jeu portables.

Le schéma de broches du capteur de force

Un capteur de force a deux broches qui sont symétriques, et comme il s'agit d'un type de résistance, il n'est pas nécessaire de les différencier.

Comment ça marche

Le capteur de force est essentiellement une résistance qui modifie sa résistance en fonction de la quantité de pression appliquée. Plus la pression exercée sur le capteur est forte, plus la résistance entre les deux broches sera faible.

Diagramme de câblage

Schéma de câblage du capteur de force pour Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Code Raspberry Pi

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou un autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez un Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sous Linux et macOS ou PuTTY sous Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installez la bibliothèque Adafruit_ADS1x15 en exécutant les commandes suivantes dans le terminal de votre Raspberry Pi :
sudo pip install Adafruit-ADS1x15
  • Créez un fichier de script Python force_sensor.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-force-sensor import time import Adafruit_ADS1x15 # Create an ADS1115 ADC instance ADC = Adafruit_ADS1x15.ADS1115() # Specify the ADC channel to read from (0-3) CHANNEL = 0 # Set the gain (1, 2/3, 1/2, 1/4, 1/8, 1/16) # Higher gain values amplify the input voltage range but reduce precision GAIN = 1 # Define pressure level thresholds NO_PRESSURE_THRESHOLD = 1000 LIGHT_TOUCH_THRESHOLD = 2000 LIGHT_SQUEEZE_THRESHOLD = 3000 MEDIUM_SQUEEZE_THRESHOLD = 4000 try: while True: # Read the raw value from the ADC raw_value = ADC.read_adc(CHANNEL, gain=GAIN) # Determine pressure level if raw_value < NO_PRESSURE_THRESHOLD: pressure_level = "No Pressure" elif raw_value < LIGHT_TOUCH_THRESHOLD: pressure_level = "Light Touch" elif raw_value < LIGHT_SQUEEZE_THRESHOLD: pressure_level = "Light Squeeze" elif raw_value < MEDIUM_SQUEEZE_THRESHOLD: pressure_level = "Medium Squeeze" else: pressure_level = "Big Squeeze" # Print the pressure level print(f"Force Sensor Raw Value: {raw_value}, Pressure Level: {pressure_level}") time.sleep(0.5) # Wait for a short period before reading again except KeyboardInterrupt: print("Measurement stopped by user")
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 force_sensor.py
  • Appuyez sur le capteur de force.
  • Vérifiez les résultats dans le Terminal.
PuTTY - Raspberry Pi
Force Sensor Raw Value: 800, Pressure Level: No Pressure Force Sensor Raw Value: 1500, Pressure Level: Light Touch Force Sensor Raw Value: 2500, Pressure Level: Light Squeeze Force Sensor Raw Value: 3500, Pressure Level: Medium Squeeze Force Sensor Raw Value: 4500, Pressure Level: Big Squeeze Force Sensor Raw Value: 1800, Pressure Level: Light Touch Force Sensor Raw Value: 2800, Pressure Level: Light Squeeze

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Vidéo

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !