Raspberry Pi - Temperatuursensor - OLED

Deze handleiding legt uit hoe u een Raspberry Pi gebruikt om de temperatuur te meten met een DS18B20 one-wire sensor en deze vervolgens op een OLED-display weer te geven.

Hardware Benodigd

1×Raspberry Pi 5
1×SSD1306 I2C OLED-Display 128x64
1×SSD1306 I2C OLED-Display 128x32
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 OLED en DS18B20 Temperatuursensor

Als u nog niet bekend bent met OLED en de DS18B20 temperatuursensor (inclusief pinout, werking, programmeren, etc.), kunnen de volgende tutorials u helpen:

Bedradingsschema

Raspberry Pi DS18B20 Temperatuursensor OLED bedrading schema

This image is created using Fritzing. Click to enlarge image

Wij raden aan een DS18B20 sensor aan te schaffen met bijbehorende bedradingsadapter voor een probleemloze aansluiting. Deze adapter bevat een ingebouwde weerstand, waardoor een extra weerstand in de bedrading overbodig is.

Raspberry Pi Code - Temperatuur meten met DS18B20 Temperatuursensor en weergeven op OLED

Snelle Stappen

  • Zorg ervoor dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem geïnstalleerd heeft op uw Pi.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
  • Zorg dat uw Raspberry Pi met internet verbonden is als u libraries moet installeren.
  • Als dit uw eerste keer is met Raspberry Pi, zie hoe u de Raspberry Pi instelt
  • 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 verbindt met Raspberry Pi via SSH.
  • Controleer of u de RPi.GPIO library geïnstalleerd heeft. Zo niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Voordat u de DS18B20 temperatuursensor met de Raspberry Pi gebruikt, moet u de 1-Wire interface inschakelen op de Raspberry Pi. Zie Hoe activeer ik de 1-Wire interface op Raspberry Pi
  • Installeer de library voor DS18B20 temperatuursensor door het volgende commando uit te voeren:
pip install w1thermsensor
pip install Adafruit-SSD1306
  • Maak een Python-scriptbestand aan met de naam DS18B20_OLED.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-oled import time from w1thermsensor import W1ThermSensor import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont # Set up the DS18B20 sensor DS18B20 = W1ThermSensor() # Set up the SSD1306 OLED display RST = None OLED = Adafruit_SSD1306.SSD1306_128_64(rst=RST) OLED.begin() OLED.clear() OLED.display() # Set up fonts and drawing width = OLED.width height = OLED.height image = Image.new('1', (width, height)) draw = ImageDraw.Draw(image) font = ImageFont.load_default() while True: # Read temperature from DS18B20 sensor temperature = DS18B20.get_temperature() # Clear the OLED display draw.rectangle((0, 0, width, height), outline=0, fill=0) # Display temperature on OLED draw.text((5, 5), f'Temperature: {temperature:.2f} C', font=font, fill=255) # Update the OLED display OLED.image(image) OLED.display() # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script OLED.clear() OLED.display() print("\nExiting the script.")
  • Bewaar het bestand en start het Python-script door het volgende commando in de terminal uit te voeren:
python3 DS18B20_OLED.py

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

  • Houd de sensor boven heet en koud water, of houd hem in uw hand.
  • Bekijk het resultaat op het OLED-display.

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