Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

2.2.2 Thermistor

Bemerkung

../_images/mcp3008_and_adc0834.jpg

Abhängig von Ihrer Kit-Version identifizieren Sie bitte, ob Sie ADC0834 oder MCP3008 haben, und fahren Sie mit dem entsprechenden Abschnitt fort.

Einführung

So wie ein Fotowiderstand Licht erfassen kann, ist ein Thermistor ein temperatursensitives elektronisches Bauteil, das zur Realisierung von Temperaturregelungsfunktionen, wie zum Beispiel einem Wärmealarm, verwendet werden kann.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

../_images/list_2.2.2_thermistor.png

Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

Thermistor

KAUFEN

ADC0834

-

Schaltplan

../_images/image323.png ../_images/image324.png

Experimentelle Verfahren

Schritt 1: Bauen Sie die Schaltung.

../_images/image202.png

Schritt 2: Navigieren Sie zum Ordner mit dem Code.

cd ~/raphael-kit/python/

Schritt 3: Führen Sie die ausführbare Datei aus

sudo python3 2.2.2_Thermistor.py

Wenn der Code ausgeführt wird, erfasst der Thermistor die Umgebungstemperatur, die nach Abschluss der Programmberechnung auf dem Bildschirm angezeigt wird.

Code

Bemerkung

Sie können den untenstehenden Code Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen. Bevor Sie das tun, müssen Sie zum Quellcode-Pfad, wie raphael-kit/python, navigieren. Nachdem Sie den Code geändert haben, können Sie ihn direkt ausführen, um das Ergebnis zu sehen.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import ADC0834
import time
import math

def init():
    ADC0834.setup()

def loop():
    while True:
        analogVal = ADC0834.getResult()
        Vr = 5 * float(analogVal) / 255
        Rt = 10000 * Vr / (5 - Vr)
        temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
        Cel = temp - 273.15
        Fah = Cel * 1.8 + 32
        print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))
        time.sleep(0.2)

if __name__ == '__main__':
    init()
    try:
        loop()
    except KeyboardInterrupt:
        ADC0834.destroy()

Code-Erklärung

import math

Es gibt eine numerische Bibliothek, die eine Reihe von Funktionen zur Berechnung häufiger mathematischer Operationen und Transformationen deklariert.

analogVal = ADC0834.getResult()

Diese Funktion wird verwendet, um den Wert des Thermistors auszulesen.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)
temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))
Cel = temp - 273.15
Fah = Cel * 1.8 + 32
print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Diese Berechnungen wandeln die Thermistorwerte in Grad Celsius und Grad Fahrenheit um.

Vr = 5 * float(analogVal) / 255
Rt = 10000 * Vr / (5 - Vr)

Diese beiden Codezeilen berechnen die Spannungsverteilung mit dem ausgelesenen analogWert, um Rt (Widerstand des Thermistors) zu erhalten.

temp = 1/(((math.log(Rt / 10000)) / 3950) + (1 / (273.15+25)))

Dieser Code bezieht sich darauf, Rt in die Formel TK=1/(ln(RT/RN)/B+1/TN) einzusetzen, um die Kelvin-Temperatur zu erhalten.

temp = temp - 273.15

Konvertierung der Kelvin-Temperatur in Grad Celsius.

Fah = Cel * 1.8 + 32

Umwandlung des Celsius-Grades in den Fahrenheit-Grad.

print ('Celsius: %.2f °C  Fahrenheit: %.2f ℉' % (Cel, Fah))

Ausgabe von Grad Celsius, Grad Fahrenheit und ihren Einheiten auf dem Anzeigegerät.

Phänomen-Bild

../_images/image203.jpeg