from porcou_lib import * # Bibliothèque portail coulissant ############################################################################### # porcou_cmd.py # @title: Commandes du portail coulissant ############################################################################### ############################################################################### # Instructions élémentaires pour le portail coulissant # # Actions (ordre = True ou False) : # - Gyrophare : gyr(True | False) # - Ouvrir le portail (moteur sens trigo) : mot_o(True | False) # - Fermer le portail (moteur sens horaire) : mot_f(True | False) # - Emetteur pour le capteur barrage IR : ir_emet(True | False) # # Capteurs (valeur retournée = True ou False) : # - Capteur fin de course portail ouvert : fdc_o() # - Capteur fin de course portail fermé : fdc_f() # - Capteur barrage IR (absence d'obstacle) : ir_recep() # # Consignes du pupitre (valeur retournée = True ou False) : # - Bouton poussoir coté rue : bp_ext() # - Bouton poussoir coté cour : bp_int() # # Gestion du temps : # - Temporisation en seconde : tempo(duree) # ############################################################################### # Brochage du portail coulissant brochage={ 'bp_ext' : [2,'d','i'], 'ebp_int' : [3,'d','i'], 'fdc_o' : [4,'d','i'], 'fdc_f' : [5,'d','i'], 'mot_o' : [6,'d','o'], 'mot_f' : [7,'d','o'], 'gyr' : [8,'d','o'], 'ir_emett' : [9,'d','o'], 'ir_recept' : [10,'d','i']} ############################################################################### # Fonctions ############################################################################### # Fermer le portail def fermer(): print ("Fermeture") ir_emet(True) while fdc_f() ==False: gyr(True) mot_o(False) mot_f(True) # if ir_recep()==False or bp_int() or bp_ext() : # Ouverture en cas présence d'obstacle ou boutons # ouvrir() # print ("Temporisation") # tempo(2) # Temporisation 2s gyr(False) mot_f(False) ir_emet(False) # Ouvrir le portail def ouvrir(): print ("Ouverture") while fdc_o() ==False: gyr(True) mot_f(False) mot_o(True) gyr(False) mot_o(False) ############################################################################### # Commandes ############################################################################### def commandes(): # jumeau(brochage) # for i in range (5): # gyr(True) # tempo(1) # gyr(False) # tempo(1) while True : ir_emet(True) tempo(10) # Temporisation 2s ir_emet(False) tempo(10) # Temporisation 2s # # Mise en place : Fermeture # print ("Mise en place : Fermeture") # fermer() # # Fonctionnement normal # print ("Attente") # while True : # # Ouverture # if bp_int() or bp_ext() : # ouvrir() # print ("Temporisation") # tempo(2) # Temporisation 2s # # Fermeture # fermer() # print ("Attente") fin() # A garder ############################################################################### # En: External call << DONT CHANGE THIS SECTION >> # Fr: Appel externe << NE PAS MODIFIER CETTE SECTION >> ############################################################################### if __name__=='start': thread_cmd_start(commandes) if __name__=='stop': thread_cmd_stop()