def spannungsteiler(vin=24.0, r1=12000.0, r2=1800.0, esp32_vih_min=2.0, esp32_vih_max=3.3):
"""
Berechnet die Ausgangsspannung, Strom, Leistung und bewertet, ob das Signal für den ESP32 geeignet ist.
Parameter in Ohm, Volt
"""
# Berechnungen
vout = vin * (r2 / (r1 + r2))
strom = vin / (r1 + r2) # in Ampere
leistung = vin * strom # in Watt
# Bewertung für ESP32
if vout > esp32_vih_max:
status = "❌ ZU HOCH für ESP32 (Gefahr für GPIO!)"
elif vout < esp32_vih_min:
status = "⚠️ ZU NIEDRIG – evtl. nicht als HIGH erkannt"
else:
status = "✅ OK für ESP32"
# Ausgabe
print(f"R1 = {r1:.0f} Ω, R2 = {r2:.0f} Ω, Vin = {vin:.2f} V")
print(f"→ Vout = {vout:.2f} V")
print(f"→ Strom = {strom * 1000:.2f} mA")
print(f"→ Leistung = {leistung * 1000:.2f} mW")
print(f"→ Bewertung: {status}")
print("-" * 40)
# Beispiel: 12kΩ und 1.8kΩ an 24V
spannungsteiler(r1=12000, r2=1800, vin=24)
# Du kannst beliebig andere Kombinationen testen:
spannungsteiler(r1=10000, r2=1500, vin=24)
spannungsteiler(r1=11000, r2=1500, vin=24)
spannungsteiler(r1=12000, r2=470, vin=24)
Comments
0 B
|👍
/👎