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)