Raspberry Pi - Kracht Sensor

Deze handleiding legt uit hoe u een Raspberry Pi gebruikt in combinatie met een kracht sensor. We gaan in detail bekijken:

Als typische toepassing kunt u uw spullen op de kracht sensor plaatsen. Wanneer de Raspberry Pi een verandering in kracht detecteert, betekent dit dat iemand uw spullen heeft weggenomen.

Hardware Benodigd

1×Raspberry Pi 5
1×ADS1115 ADC-Module
1×Kracht Sensor
1×10 kΩ weerstand
1×Breadboard (experimenteerprint)
1×Jumper Wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Kracht Sensor

Force sensor pinout

De kracht sensor wordt ook wel aangeduid als force sensing resistor, force sensitive resistor, of simpelweg FSR. Het is in feite een weerstand waarvan de weerstand verandert afhankelijk van de hoeveelheid druk die erop wordt uitgeoefend. De kracht sensor heeft de volgende kenmerken:

  • Het is goedkoop en eenvoudig in gebruik.
  • Het is effectief in het detecteren van fysieke druk of knijpen.
  • Het is niet geschikt om het gewicht van een object te meten.

De kracht sensor wordt toegepast in diverse draagbare elektronica, zoals elektronische drums, mobiele telefoons en handheld game-apparaten.

Pinout van de Kracht Sensor

Een kracht sensor heeft twee pinnen die symmetrisch zijn, en omdat het een soort weerstand is, hoeft u niet te onderscheiden welke pin u gebruikt.

Hoe het Werkt

De kracht sensor is in essentie een weerstand die varieert in weerstand afhankelijk van de uitgeoefende druk. Hoe meer druk er op de sensor wordt gezet, des te lager wordt de weerstand tussen de twee pinnen.

Aansluitschema

Raspberry Pi Force Sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

Raspberry Pi Code

Snelle Stappen

  • Zorg dat u Raspbian of een ander Raspberry Pi-compatibel besturingssysteem op uw Pi hebt geïnstalleerd.
  • Zorg dat uw Raspberry Pi is verbonden met hetzelfde lokale netwerk als uw PC.
  • Zorg dat uw Raspberry Pi internettoegang heeft als u libraries moet installeren.
  • Is dit de eerste keer dat u een Raspberry Pi gebruikt? Bekijk dan onze Raspberry Pi Aan de slag gids om eerst de basis te leren.
  • Verbind uw PC met de Raspberry Pi via SSH gebruikmakend van de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie de handleiding hoe u uw PC via SSH met Raspberry Pi verbindt.
  • Controleer of u de RPi.GPIO library geïnstalleerd hebt. Zo niet, installeer deze dan met de volgende commando’s:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installeer de Adafruit_ADS1x15 library door het volgende commando uit te voeren in de terminal van uw Raspberry Pi:
sudo pip install Adafruit-ADS1x15
  • Maak een Python scriptbestand aan genaamd force_sensor.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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")
  • Sla het bestand op en voer het Python script uit door dit commando in de terminal te gebruiken:
python3 force_sensor.py
  • Druk op de kracht sensor.
  • Bekijk de resultaten in de 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

Het script draait in een oneindige lus tot u Ctrl + C indrukt in de terminal.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!