final
This commit is contained in:
@@ -241,5 +241,3 @@ def boucle_principale():
|
||||
|
||||
|
||||
# ════════════════════════════════════════════════════════════════════════════
|
||||
if __name__ == "__main__":
|
||||
boucle_principale()
|
||||
@@ -1,19 +1,14 @@
|
||||
import Adafruit_DHT as dht
|
||||
import time as t
|
||||
import RPi.GPIO as GPIO
|
||||
|
||||
GPIO.setmode(GPIO.BOARD)
|
||||
# On définit juste le capteur et la broche (Rappel : 25 en BCM = broche physique 22)
|
||||
capteur = dht.DHT11
|
||||
pin = 25
|
||||
|
||||
def lire_temperature():
|
||||
humidite, temperature = dht.read_retry(capteur, pin)
|
||||
|
||||
|
||||
# On renvoie la température au script principal !
|
||||
if temperature is not None:
|
||||
print("Temp :", temperature, "°C")
|
||||
return temperature
|
||||
else:
|
||||
print("Erreur")
|
||||
|
||||
t.sleep(2)
|
||||
|
||||
lire_temperature()
|
||||
return 0 # Sécurité si le capteur bugge, pour ne pas faire planter l'affichage
|
||||
@@ -1,5 +1,5 @@
|
||||
import time
|
||||
from alarme import SystemeAlarme
|
||||
from ALARM_V1 import *
|
||||
from porterfid import SystemePorteRFID
|
||||
|
||||
# ------------------------------------------------------------
|
||||
@@ -16,15 +16,18 @@ alarme = SystemeAlarme()
|
||||
porte = SystemePorteRFID()
|
||||
|
||||
|
||||
|
||||
def call_board1():
|
||||
try:
|
||||
while True:
|
||||
# Mise à jour des deux modules locaux
|
||||
alarme.mettreAJour()
|
||||
ALARM_V1.boucle_principale()
|
||||
porte.mettreAJour()
|
||||
time.sleep(0.05)
|
||||
|
||||
except KeyboardInterrupt:
|
||||
porte.cleanup()
|
||||
alarme.cleanup()
|
||||
print("\nArrêt manuel du programme.")
|
||||
|
||||
finally:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import RPi.GPIO as GPIO
|
||||
import time as t
|
||||
from septsegments import afficher_temperature
|
||||
from DHT11 import lire_temperature
|
||||
|
||||
GPIO.setmode(GPIO.BCM)
|
||||
GPIO.setwarnings(False)
|
||||
@@ -11,32 +12,43 @@ GPIO.setup(bouton_up, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||
GPIO.setup(bouton_down, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||
|
||||
def test_boutons():
|
||||
temperature = 18
|
||||
|
||||
# 1. On lit la vraie température au démarrage
|
||||
temperature_DHT = lire_temperature()
|
||||
# 2. On fixe la température qu'on souhaite (la cible)
|
||||
temperature_cible = 18
|
||||
|
||||
etatPrecedent_up = GPIO.input(bouton_up)
|
||||
etatPrecedent_down = GPIO.input(bouton_down)
|
||||
|
||||
print("Test lancé ! Appuie sur UP (23) pour monter, DOWN (24) pour descendre.")
|
||||
print("Thermostat lancé ! Appuie sur UP (23) ou DOWN (24).")
|
||||
|
||||
# On affiche une première fois pour que l'écran ne soit pas vide au lancement
|
||||
afficher_temperature(temperature_DHT, temperature_cible)
|
||||
|
||||
while True:
|
||||
etat_up = GPIO.input(bouton_up)
|
||||
etat_down = GPIO.input(bouton_down)
|
||||
|
||||
# --- BOUTON UP ---
|
||||
if etat_up != etatPrecedent_up:
|
||||
if etat_up == 0:
|
||||
print("Bouton UP Appuyé ⬆️")
|
||||
temperature += 1
|
||||
if temperature >= 40:
|
||||
temperature = 40
|
||||
afficher_temperature(21,temperature)
|
||||
temperature_cible += 1
|
||||
if temperature_cible >= 40:
|
||||
temperature_cible = 40
|
||||
# On met à jour l'écran
|
||||
afficher_temperature(temperature_DHT, temperature_cible)
|
||||
etatPrecedent_up = etat_up
|
||||
|
||||
# --- BOUTON DOWN ---
|
||||
if etat_down != etatPrecedent_down:
|
||||
if etat_down == 0:
|
||||
print("Bouton DOWN Appuyé ⬇️")
|
||||
temperature -= 1
|
||||
if temperature <= 0:
|
||||
temperature = 0
|
||||
afficher_temperature(21,temperature)
|
||||
temperature_cible -= 1
|
||||
if temperature_cible <= 0:
|
||||
temperature_cible = 0
|
||||
# On met à jour l'écran
|
||||
afficher_temperature(temperature_DHT, temperature_cible)
|
||||
etatPrecedent_down = etat_down
|
||||
|
||||
t.sleep(0.05)
|
||||
|
||||
@@ -19,4 +19,5 @@ def afficher_temperature(temperature, temperature_moyenne):
|
||||
disp.show(texte_ecran)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Erreur d'affichage : {e}")
|
||||
print(f"Erreur d'affichage : {e}")
|
||||
execpt keybo
|
||||
Reference in New Issue
Block a user