mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
Portail coulissant : programmation de la vitesse réelle
This commit is contained in:
parent
c13cb9af85
commit
e113cb8dff
@ -174,7 +174,7 @@ def mot (cont):
|
||||
if scene.objects['Moteur']['pin_direction'] is not None:
|
||||
if scene.objects['Moteur']['pin_speed'] is not None:
|
||||
scene.objects['Moteur']['pin_direction'].write(1)
|
||||
scene.objects['Moteur']['pin_speed'].write(1)
|
||||
scene.objects['Moteur']['pin_speed'].write(scene.objects['Moteur']['speed_real_setting']/255)
|
||||
|
||||
# Version AutoProg
|
||||
if scene.objects['System']['variant'] == 2:
|
||||
@ -207,7 +207,7 @@ def mot (cont):
|
||||
if scene.objects['Moteur']['pin_direction'] is not None:
|
||||
if scene.objects['Moteur']['pin_speed'] is not None:
|
||||
scene.objects['Moteur']['pin_direction'].write(0)
|
||||
scene.objects['Moteur']['pin_speed'].write(1)
|
||||
scene.objects['Moteur']['pin_speed'].write(scene.objects['Moteur']['speed_real_setting']/255)
|
||||
|
||||
# Version AutoProg
|
||||
if scene.objects['System']['variant'] == 2:
|
||||
@ -458,9 +458,10 @@ def system_reset ():
|
||||
scene.objects['Moteur']['alpha']=0
|
||||
scene.objects['Moteur']['speed']=0
|
||||
scene.objects['Moteur']['speed_setting']=125.6 # Vitesse du moteur numérique : 125.6 rad /s ( 20 tr / s )
|
||||
scene.objects['Moteur']['speed_real_setting']=255 # Vitesse du moteur réel sur maquette Grove
|
||||
scene.objects['Moteur']['step']=0
|
||||
|
||||
rres=0.001 # resolution rotation
|
||||
rres=0.001 # Resolution rotation
|
||||
obj1=scene.objects['Engrenage']
|
||||
while (obj1.localOrientation.to_euler().y) > 1.1*rres :
|
||||
obj1.applyRotation((0, 0, -rres), True)
|
||||
|
@ -12,7 +12,8 @@ from porcou_lib import * # Bibliothèque utilisateur du portail coulissant
|
||||
# - Gyrophare : gyr(True | False)
|
||||
# - Ouvrir le portail (moteur sens trigo) : mot_o(True | False)
|
||||
# - Fermer le portail (moteur sens horaire) : mot_f(True | False)
|
||||
# - Définir la vitesse du moteur : mot_vitesse (vitesse) , vitesse en rad / s, si vitesse est omis la valeur par défaut est 125.6 rad /s ( 20 tr / s ))
|
||||
# - Définir la vitesse du moteur jumeau numérique : mot_vitesse (vitesse) , vitesse en rad / s, si vitesse est omis la valeur par défaut est 125.6 rad /s ( 20 tr / s ))
|
||||
# - Définir la vitesse du moteur jumeau réel : mot_vitesse_r (vitesse) , vitesse de 0 à 255, la valeur par défaut est 255
|
||||
# - Emetteur pour le capteur barrage IR : ir_emet(True | False)
|
||||
#
|
||||
# Capteurs (valeur retournée = True ou False) :
|
||||
@ -52,7 +53,7 @@ from porcou_lib import * # Bibliothèque utilisateur du portail coulissant
|
||||
brochage={
|
||||
'bp_ext' : ['d',6,'i'],'bp_int' : ['d',5,'i'],
|
||||
'fdc_o' : ['a',1,'i'],'fdc_f' : ['a',0,'i'],
|
||||
'mot_v' : ['d',3,'o'], 'mot_s' : ['d',4,'o'],
|
||||
'mot_v' : ['d',3,'p'], 'mot_s' : ['d',4,'o'],
|
||||
'gyr' : ['d',2,'o'],
|
||||
'ir_emet' : ['d',7,'o'],'ir_recep' : ['d',8,'i']}
|
||||
|
||||
@ -77,6 +78,8 @@ def fermer():
|
||||
tempo(0.1) # Donne du temps à communication avec le jumeau réel
|
||||
# if ir_recep()==False or bp_int() or bp_ext() : # Ouverture en cas présence d'obstacle ou boutons
|
||||
if bp_int() or bp_ext() : # Ouverture en cas présence d'obstacle ou boutons
|
||||
mot_f(False)
|
||||
tempo(0.1) # Donne du temps à communication avec le jumeau réel
|
||||
ouvrir()
|
||||
print ("Temporisation")
|
||||
tempo(2) # Temporisation 2s
|
||||
@ -84,17 +87,18 @@ def fermer():
|
||||
gyr(False)
|
||||
mot_f(False)
|
||||
ir_emet(False)
|
||||
tempo(0.1) # Donne du temps à communication avec le jumeau réel
|
||||
|
||||
# Ouvrir le portail
|
||||
def ouvrir():
|
||||
print ("Ouverture")
|
||||
while fdc_o() ==False:
|
||||
gyr(True)
|
||||
mot_f(False)
|
||||
mot_o(True)
|
||||
tempo(0.1) # Donne du temps à communication avec le jumeau réel
|
||||
gyr(False)
|
||||
mot_o(False)
|
||||
tempo(0.1) # Donne du temps à communication avec le jumeau réel
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
@ -106,6 +110,7 @@ def commandes():
|
||||
print ("Version avec sécurité : avec réouverture si bouton ou capteur barrage")
|
||||
print ("Mise en place : Fermeture")
|
||||
mot_vitesse(1000)
|
||||
mot_vitesse_r(100)
|
||||
fermer()
|
||||
|
||||
# Jumelage
|
||||
@ -118,12 +123,14 @@ def commandes():
|
||||
|
||||
# Ouverture
|
||||
if bp_int() or bp_ext() :
|
||||
mot_vitesse_r(200)
|
||||
ouvrir()
|
||||
|
||||
print ("Temporisation")
|
||||
tempo(2) # Temporisation 2s
|
||||
|
||||
# Fermeture
|
||||
mot_vitesse_r(100)
|
||||
fermer()
|
||||
print ("Attente")
|
||||
|
||||
@ -145,4 +152,4 @@ if __name__=='start':
|
||||
if __name__=='stop':
|
||||
stop()
|
||||
if __name__=='init':
|
||||
variant(2) # Variante 1 de la maquette 3D du portail coulissant
|
||||
variant(1) # Variante Grove
|
||||
|
@ -51,12 +51,14 @@ def mot_f (order):
|
||||
scene.objects['Moteur']['close']=order
|
||||
|
||||
# Réglage de la vitesse du moteur numérique
|
||||
# Valeur par défaut est 125.6 rad /s soit 20 tr / s
|
||||
def mot_vitesse (speed=125.6):
|
||||
scene.objects['Moteur']['speed_setting']=speed # Vitesse du moteur numérique : 125.6 rad /s ( 20 tr / s )
|
||||
|
||||
# Réglage de la vitesse du moteur réel : Maquette Grove de 0 à 255
|
||||
def mot_vitesse_r (speed):
|
||||
scene.objects['Moteur']['speed_real_setting']=speed # Vitesse du moteur numérique : 125.6 rad /s ( 20 tr / s )
|
||||
# Réglage de la vitesse du moteur réel (uniquement sur la maquette Grove, de 0 à 255)
|
||||
# Valeur par défaut est 255
|
||||
def mot_vitesse_r (speed=255):
|
||||
scene.objects['Moteur']['speed_real_setting']=speed
|
||||
|
||||
# Ordre pour le capteur barrage IR
|
||||
def ir_emet(order):
|
||||
|
Loading…
Reference in New Issue
Block a user