mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
124 lines
3.4 KiB
Python
124 lines
3.4 KiB
Python
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()
|