# Pilotage motoconvecteur
# si T° du motoconvecteur < T° pièce arrêter la turbine
# le relai turbine est simulé par la diode blue
# la diode jaune allumée la turbine tourne
# la diode rouge clignote si le programme tourne
# simulé sur WorWI sur un esp32-devkit-v1
print("ESP32 silulation MicroPython sur ")
print (" esp32-devkit-v1")
import machine, onewire, ds18x20, time,binascii
from machine import Pin
# réseaux des capteurs de température ------------
ow1 = onewire.OneWire(machine.Pin(18)) #
Temp_radiateur = ds18x20.DS18X20(ow1) #
#
ow2 = onewire.OneWire(machine.Pin(21)) #
Temp_Pièce = ds18x20.DS18X20(ow2) #
#-----------------------------------------------
relai_turbine = machine.Pin(13, Pin.OUT)
led1 = machine.Pin(12, Pin.OUT)
état_relai_turbine=True
etat_led1=True
# initialisations au démarrage
roms1 = Temp_radiateur.scan()
roms2 = Temp_Pièce.scan()
delta_temperature = 0.5 # hystérésis on/off
relai_turbine.on()
led1.on()
#print("ROMS = ", roms1)
time.sleep(3)
#print (" Fin initialisations" )
relai_turbine.on()
print("___FIN INIT___________________ debut boucle_____________")
w=0
while(True):
w=w+1
Temp_radiateur.convert_temp()
Temp_Pièce.convert_temp()
time.sleep_ms(750)
print("---acquisition des 2 temperatues------", w)
for i, rom1 in enumerate(roms1):
print(f'Capteur {i} : {binascii.hexlify(rom1)}')
temp_motoconvecteur = Temp_radiateur.read_temp(rom1)
print(" temp du motoconvecteur", temp_motoconvecteur)
i = i + 1
for j, rom2 in enumerate(roms2):
print(f'Capteur {j} : {binascii.hexlify(rom2)}')
temp_piéce = Temp_Pièce.read_temp(rom2)
print(" temp de la piéce ", temp_piéce)
j = j + 1
print("nbr capteurs détectés =",i," ",j)
# traitement des temperatures
if temp_motoconvecteur < temp_piéce : # ne pas ventiler de l'air plus froid que la piéce!
#print("motorad froid - ------------D--------M pppppppppppppppppp-------")
relai_turbine.off()
état_relai_turbine=False
else :
if temp_motoconvecteur - delta_temperature >= temp_piéce :
#print("motorad+delta chaud+ --ppppppppppD ------ M---------------------------")
relai_turbine.on()
état_relai_turbine=True
# else :
# print("entre deux inchangé -------------D pppppp M---------------------------")
#print ("etat relai ",état_relai_turbine)
# fin traitement des temperatures
# clignotement led pour contrôle etat de marche
if etat_led1 == True:
led1.off()
else :
led1.on()
etat_led1 = not etat_led1