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!
7.2 Raumtemperaturmessgerät
Mit einem Thermistor und einem I2C LCD1602 können wir ein Raumtemperaturmessgerät erstellen.
Dieses Projekt ist sehr einfach und basiert auf 2.13 Thermometer, wobei ein I2C LCD1602 zur Anzeige der Temperatur verwendet wird.
Erforderliche Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Kepler-Kit |
450+ |
Sie können sie auch separat über die unten stehenden Links erwerben.
SN |
KOMPONENTE |
MENGE |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1(10KΩ) |
||
6 |
1 |
||
7 |
1 |
Schaltplan

Verkabelung

Code
Bemerkung
Öffnen Sie die Datei
7.2_room_temperature_meter.pyim Pfadkepler-kit-main/micropythonoder kopieren Sie diesen Code in Thonny, und klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5.Vergessen Sie nicht, im unteren rechten Eck den „MicroPython (Raspberry Pi Pico)“-Interpreter auszuwählen.
Für detaillierte Anleitungen siehe Code direkt öffnen und ausführen.
from lcd1602 import LCD
from machine import I2C, Pin
import utime
import math
# Initialize the thermistor (ADC on pin 28) and LCD display
thermistor = machine.ADC(28) # Analog input from the thermistor
# Initialize I2C communication for the LCD1602 display
i2c = I2C(1, sda=Pin(6), scl=Pin(7), freq=400000)
# Create an LCD object for controlling the LCD1602 display
lcd = LCD(i2c)
# Main loop to continuously read temperature and display it
while True:
# Read raw ADC value from the thermistor
temperature_value = thermistor.read_u16()
# Convert the raw ADC value to a voltage (0-3.3V range)
Vr = 3.3 * float(temperature_value) / 65535 # ADC value to voltage conversion
# Calculate the thermistor resistance (using a voltage divider with a 10kOhm resistor)
Rt = 10000 * Vr / (3.3 - Vr) # Rt = thermistor resistance
# Use the Steinhart-Hart equation to calculate the temperature in Kelvin
# The values used are specific to the thermistor (3950 is the beta coefficient)
temp = 1 / (((math.log(Rt / 10000)) / 3950) + (1 / (273.15 + 25))) # Temperature in Kelvin
# Convert temperature from Kelvin to Celsius
Cel = temp - 273.15
# Display the temperature on the LCD in Celsius
string = " Temperature is \n " + str('{:.2f}'.format(Cel)) + " C" # Format string for the LCD
lcd.message(string) # Display the string on the LCD
utime.sleep(1) # Wait for 1 second
lcd.clear() # Clear the LCD for the next reading
Nach dem Ausführen des Programms wird die LCD die aktuelle Temperatur im Raum anzeigen.
Bemerkung
Wenn der Code und die Verkabelung in Ordnung sind, aber das LCD dennoch keinen Inhalt anzeigt, können Sie das Potentiometer auf der Rückseite drehen, um den Kontrast zu erhöhen.