Raspberry Pi - Temperatuursensor

Deze handleiding legt uit hoe u met de Raspberry Pi de temperatuur uitleest van de waterdichte 1-wire DS18B20 temperatuursensor. Deze sensor is kosteneffectief, eenvoudig in gebruik en heeft een aantrekkelijk ontwerp.

Hardware Benodigdheden

1×Raspberry Pi 5
1×DS18B20 Temperatuursensor (MET Adapter)
1×DS18B20 Temperatuursensor (ZONDER Adapter)
1×4,7 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.

Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Over de One Wire Temperatuursensor - DS18B20

Pinout van de Temperatuursensor

De DS18B20 temperatuursensor heeft drie pinnen:

  • GND-pin: moet worden aangesloten op GND (0V)
  • VCC-pin: moet worden aangesloten op VCC (5V of 3.3V)
  • DATA-pin: dit is de 1-wire databus en moet verbonden worden met een digitale pin op Raspberry Pi.

De sensor is meestal verkrijgbaar in twee uitvoeringen: TO-92 behuizing (die op een transistor lijkt) en een waterdichte probe. Voor deze handleiding gebruiken we de waterdichte probe-uitvoering.

DS18B20 temperatuursensor pinout

Het aansluiten van een DS18B20 temperatuursensor op een Raspberry Pi vereist een pull-up weerstand, wat soms wat lastig kan zijn. Gelukkig vereenvoudigen sommige fabrikanten dit proces door een bedradingadapter aan te bieden met een ingebouwde pull-up weerstand en een schroefklemblok.

Aansluitschema

  • Aansluitschema met gebruik van een breadboard (experimenteerprint).
Raspberry Pi temperatuursensor aansluitschema

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema met gebruik van de bedradingadapter (aanbevolen).
Raspberry Pi DS18B20 bedradingadapter aansluitschema

This image is created using Fritzing. Click to enlarge image

Wij raden aan om een DS18B20 sensor samen met de bijbehorende bedradingadapter te kopen voor een probleemloze installatie. Deze adapter bevat een geïntegreerde weerstand, waardoor er geen extra weerstand nodig is in de bedrading. We hebben dit getest en het werkt prima.

Raspberry Pi Code

Snelle stappen

  • Zorg dat u Raspbian of een ander compatibel besturingssysteem voor Raspberry Pi geïnstalleerd hebt op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
  • Zorg dat uw Raspberry Pi verbonden is met internet als u bibliotheken moet installeren.
  • Als dit de eerste keer is dat u Raspberry Pi gebruikt, zie hoe u Raspberry Pi installeert en configureert
  • Verbind uw PC met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u uw PC via SSH verbindt met Raspberry Pi.
  • Zorg dat u de RPi.GPIO bibliotheek geïnstalleerd hebt. Zo niet, installeer die dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Voordat u de DS18B20 temperatuursensor op Raspberry Pi gaat gebruiken, moeten we de 1-Wire interface op de Raspberry Pi inschakelen. Zie Hoe activeert u de 1-Wire interface op Raspberry Pi
  • Installeer de bibliotheek voor de DS18B20 temperatuursensor met het volgende commando:
pip install w1thermsensor
  • Maak een Python-scripbestand DS18B20.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-temperature-sensor from w1thermsensor import W1ThermSensor import time # Find the connected DS18B20 sensor def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None # Read temperature from the sensor def read_temperature(sensor): temperature_celsius = sensor.get_temperature() temperature_fahrenheit = sensor.get_temperature(W1ThermSensor.DEGREES_F) return temperature_celsius, temperature_fahrenheit # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: # Read temperature temperature_c, temperature_f = read_temperature(ds18b20_sensor) print(f"Temperature: {temperature_c:.2f}°C | {temperature_f:.2f}°F") # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: print("Program terminated by user.") else: print("DS18B20 Sensor not found.")
  • Sla het bestand op en voer het Python-script uit met het volgende commando in de Terminal:
python3 sensors.py
  • Plaats de sensor in warm en koud water, of houd hem in uw hand.
  • Controleer de output in de Terminal.
PuTTY - Raspberry Pi
Temperature: 26.31°C | 79.36°F Temperature: 26.44°C | 79.59°F Temperature: 26.50°C | 79.70°F Temperature: 26.56°C | 79.81°F Temperature: 27.06°C | 80.71°F Temperature: 27.75°C | 81.95°F Temperature: 28.37°C | 83.07°F Temperature: 29.00°C | 84.20°F Temperature: 29.56°C | 85.21°F Temperature: 30.00°C | 86.00°F Temperature: 30.31°C | 86.56°F Temperature: 30.62°C | 87.12°F Temperature: 30.87°C | 87.57°F

Het script draait in een oneindige lus totdat 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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap verder.

※ 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!