Mät Temperatur med Raspberry Pi: En Komplett Guide
Introduktion till Temperaturmätning med Raspberry Pi
Raspberry Pi är en otroligt mångsidig liten dator som är perfekt för en mängd olika DIY-projekt. En av de mest populära tillämpningarna är att mäta temperatur. Genom att koppla en temperatursensor till din Raspberry Pi kan du enkelt övervaka temperaturer i realtid, vilket är användbart för allt från hemmaautomation till vetenskapliga experiment.
Val av Temperatursensor

Det finns flera olika temperatursensorer som du kan använda med din Raspberry Pi. Här är några av de vanligaste:
- DS18B20: En digital temperatursensor som är mycket exakt och enkel att använda.
- DHT11/DHT22: Sensorer som mäter både temperatur och luftfuktighet. DHT22 är mer exakt än DHT11.
- Analog temperatursensor (t.ex. TMP36): Dessa sensorer ger en analog signal som måste omvandlas till digital data av Raspberry Pi.
För de flesta projekt rekommenderar vi DS18B20 på grund av dess noggrannhet och digitala utsignal.
Koppla Temperatursensorn till Raspberry Pi
Att koppla en DS18B20 till din Raspberry Pi är relativt enkelt. Du behöver följande komponenter:
- Raspberry Pi
- DS18B20 temperatursensor
- Bygeltrådar (jumper wires)
- Motstånd (4.7kΩ)
Koppla sensorns VCC till 3.3V på Raspberry Pi, GND till jord, och DATA till en GPIO-pin (t.ex. GPIO4). Anslut motståndet mellan DATA och VCC.
För DHT11/DHT22 kopplas VCC, GND och DATA-pinnen direkt till Raspberry Pi.
Programmering med Python
För att läsa av temperaturdata från sensorn använder vi Python. Här är ett exempel på hur du kan läsa av en DS18B20 sensor:

import os import glob import time

os.system(’modprobe w1-gpio’) os.system(’modprobe w1-therm’)
base_dir = ’/sys/bus/w1/devices/’ device_folder = glob.glob(base_dir + ’28*’)[0] device_file = device_folder + ’/w1_slave’
def read_temp_raw(): f = open(device_file, ’r’) lines = f.readlines() f.close() return lines
def read_temp(): lines = read_temp_raw() while lines[0].strip()[-3:] != ’YES’: time.sleep(0.1) lines = read_temp_raw() equals_pos = lines[1].find(’t=’) if equals_pos != -1: temp_string = lines[1][equals_pos+2:] temp_c = float(temp_string) / 1000.0 return temp_c
while True: print(read_temp()) time.sleep(1)
Detta Python-skript läser av temperaturdata från DS18B20 sensorn och skriver ut den till konsolen varje sekund.
För DHT11/DHT22 kan du använda bibliotek som Adafruit_DHT.
Avancerade Tips och Tillämpningar
Här är några avancerade tips och tillämpningar för temperaturmätning med Raspberry Pi:
- Datainsamling och visualisering: Använd databaser och grafer för att visualisera temperaturdata över tid.
- Hemmaautomation: Styr fläktar, värmare eller andra enheter baserat på temperatur.
- Larm och notifikationer: Skicka e-post eller SMS-notifikationer när temperaturen når en viss nivå.
- Väderstation: Kombinera temperaturmätning med andra sensorer för att skapa en komplett väderstation.


Slutsats

Att mäta temperatur med en Raspberry Pi är ett roligt och lärorikt projekt. Med rätt komponenter och lite programmering kan du skapa avancerade system för temperaturövervakning och automation. Vi hoppas att denna guide har gett dig en bra startpunkt för dina egna projekt.