import machine
from machine import Pin
import onewire
import ds18x20
import time
import tm1637
# Initialisation du bus OneWire et des capteurs DS18X20
ds_pin = machine.Pin(16)
ow = onewire.OneWire(ds_pin)
ds_sensor = ds18x20.DS18X20(ow)
roms = ds_sensor.scan()
# Initialisation de l'afficheur TM1637
mydisplay = tm1637.TM1637(clk=Pin(26), dio=Pin(27))
# Initialisation des broches des LEDs
red_led = Pin(21, Pin.OUT) # la broche de votre LED rouge
green_led = Pin(22, Pin.OUT) # la broche de votre LED verte
while True:
# Convertissez la température sur tous les capteurs DS18X20
ds_sensor.convert_temp()
time.sleep_ms(750)
# Lisez la température du premier capteur DS18X20
rom = roms[0] # Supposons qu'il n'y a qu'un seul capteur
tnum = ds_sensor.read_temp(rom)
# Arrondissez la température à l'entier le plus proche
temperature_int = round(tnum)
# Affichez la température sur l'afficheur TM1637
mydisplay.number(temperature_int)
# Vérifiez si la température dépasse 30°C
if temperature_int > 30:
# Allumez la LED rouge (clignotante)
for _ in range(5): # Clignote 5 fois
green_led.value(0)
red_led.value(1)
time.sleep(0.5)
red_led.value(0)
time.sleep(0.5)
else:
# Allumez la LED verte (continue)
green_led.value(1)
time.sleep(1)
Loading
ds18b20
ds18b20